Package Information
Documentation
n8n-nodes-emailconnect
An n8n community node for EmailConnect - enabling seamless email automation and webhook integration in your n8n workflows.
Features
- Domain Management: List, get details, check status, and configure your EmailConnect domains
- Alias Management: Create, read, update, and delete email aliases under your domains
- Webhook Configuration: Set up and manage webhooks for email processing automation
- Email Triggers: Receive real-time notifications when emails are processed through EmailConnect
- Filtering Options: Filter triggers by domain, alias, or event type for precise workflow control
Installation
Community Nodes (Recommended)
- Go to Settings > Community Nodes in your n8n instance
- Click Install a community node
- Enter
n8n-nodes-emailconnect
- Click Install
Manual Installation
# In your n8n root directory
npm install n8n-nodes-emailconnect
Docker
Add to your n8n Docker environment:
# Add to your n8n Dockerfile or docker-compose
RUN npm install -g n8n-nodes-emailconnect
Configuration
1. EmailConnect API Credentials
Before using the nodes, you need to configure your EmailConnect API credentials:
- Go to Credentials in your n8n instance
- Click Create New Credential
- Search for EmailConnect API
- Enter your EmailConnect API key (get it from EmailConnect Dashboard)
2. EmailConnect Service Setup
Make sure you have:
- An active EmailConnect account at emailconnect.eu
- At least one verified domain configured
- API access enabled in your account settings
Nodes Overview
EmailConnect Node
The main node for interacting with EmailConnect API operations.
Resources:
- Domain: Manage your email domains
- Alias: Manage email aliases under domains
- Webhook: Configure webhook endpoints for email processing
EmailConnect Trigger Node
A trigger node that starts workflows when EmailConnect processes emails.
Features:
- Real-time email processing notifications
- Event filtering (received, processed, failed)
- Domain and alias filtering
- Webhook-based triggering
Usage Examples
Example 1: List All Domains
{
"nodes": [
{
"name": "Get Domains",
"type": "n8n-nodes-emailconnect.emailConnect",
"parameters": {
"resource": "domain",
"operation": "getAll"
}
}
]
}
Example 2: Create Email Alias
{
"nodes": [
{
"name": "Create Alias",
"type": "n8n-nodes-emailconnect.emailConnect",
"parameters": {
"resource": "alias",
"operation": "create",
"domainId": "your-domain-id",
"aliasName": "support",
"description": "Customer support emails"
}
}
]
}
Example 3: Email Processing Trigger
{
"nodes": [
{
"name": "Email Received",
"type": "n8n-nodes-emailconnect.emailConnectTrigger",
"parameters": {
"events": ["email.received"],
"domainFilter": "example.com",
"aliasFilter": "[email protected]"
}
}
]
}
API Permissions
This n8n node requires an EmailConnect API key with "API User" scope, which provides:
✅ Allowed Operations:
GET /api/domains
- List your domainsGET /api/domains/{domainId}
- Get domain detailsGET /api/domains/{domainId}/status
- Check verification statusPUT /api/domains/{domainId}
- Update domain configuration (allowAttachments & includeEnvelopeData only)- Full CRUD access to aliases and webhooks
❌ Blocked Operations:
POST /api/domains
- Create domain (use EmailConnect dashboard)DELETE /api/domains/{domain}
- Delete domain (use EmailConnect dashboard)
Workflow Examples
Complete Email Processing Workflow
{
"name": "EmailConnect Processing Workflow",
"nodes": [
{
"name": "Email Received Trigger",
"type": "n8n-nodes-emailconnect.emailConnectTrigger",
"parameters": {
"events": ["email.received"],
"domainFilter": "support.example.com"
}
},
{
"name": "Process Email Content",
"type": "n8n-nodes-base.function",
"parameters": {
"functionCode": "// Extract email data\nconst email = items[0].json;\nreturn [{\n json: {\n sender: email.sender,\n subject: email.subject,\n content: email.textContent,\n receivedAt: email.receivedAt\n }\n}];"
}
},
{
"name": "Send to Slack",
"type": "n8n-nodes-base.slack",
"parameters": {
"operation": "postMessage",
"channel": "#support",
"text": "New email from {{$node['Process Email Content'].json['sender']}}: {{$node['Process Email Content'].json['subject']}}"
}
}
]
}
Domain Status Monitoring
{
"name": "Domain Status Monitor",
"nodes": [
{
"name": "Get All Domains",
"type": "n8n-nodes-emailconnect.emailConnect",
"parameters": {
"resource": "domain",
"operation": "getAll"
}
},
{
"name": "Check Each Domain Status",
"type": "n8n-nodes-emailconnect.emailConnect",
"parameters": {
"resource": "domain",
"operation": "getStatus",
"domainId": "={{$json.id}}"
}
},
{
"name": "Alert on Issues",
"type": "n8n-nodes-base.if",
"parameters": {
"conditions": {
"string": [
{
"value1": "={{$json.status}}",
"operation": "notEqual",
"value2": "verified"
}
]
}
}
}
]
}
Troubleshooting
Common Issues
"Invalid API Key" Error
- Ensure your API key has "API User" scope
- Check that the API key is correctly entered in n8n credentials
- Verify your EmailConnect account is active
"Domain not found" Error
- Verify the domain exists in your EmailConnect account
- Check that you're using the correct domain ID
- Ensure the domain is verified and active
Webhook not receiving data
- Verify the webhook URL is accessible from EmailConnect servers
- Check that the webhook is properly configured in EmailConnect dashboard
- Ensure your n8n instance can receive external HTTP requests
"Insufficient permissions" Error
- Your API key may not have the required scope
- Contact EmailConnect support to upgrade your API key permissions
Getting Help
- EmailConnect Documentation: https://emailconnect.eu/docs
- EmailConnect Support: [email protected]
- n8n Community: https://community.n8n.io
Development
Building from Source
git clone https://github.com/xadi-hq/n8n-nodes-emailconnect.git
cd n8n-nodes-emailconnect
npm install
npm run build
Testing
npm test
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
License
MIT License - see LICENSE file for details.
Changelog
v0.1.0
- Initial release
- EmailConnect node with domain, alias, and webhook operations
- EmailConnect trigger node with event filtering
- Complete API integration with "API User" scope support
Detailed Node Documentation
EmailConnect Node Operations
Domain Operations
Get All Domains
- Operation:
getAll
- Description: Retrieves all domains configured in your EmailConnect account
- Output: Array of domain objects with ID, name, status, and configuration
Get Domain
- Operation:
get
- Parameters:
domainId
(required): The ID of the domain to retrieve
- Output: Single domain object with detailed information
Get Domain Status
- Operation:
getStatus
- Parameters:
domainId
(required): The ID of the domain to check
- Output: Domain verification and DNS status information
Update Domain Configuration
- Operation:
updateConfig
- Parameters:
domainId
(required): The ID of the domain to updateallowAttachments
(boolean): Whether to allow email attachmentsincludeEnvelopeData
(boolean): Whether to include SMTP envelope data
- Output: Updated domain configuration
Alias Operations
Get All Aliases
- Operation:
getAll
- Parameters:
domainId
(required): The domain ID to list aliases for
- Output: Array of alias objects
Get Alias
- Operation:
get
- Parameters:
aliasId
(required): The ID of the alias to retrieve
- Output: Single alias object with details
Create Alias
- Operation:
create
- Parameters:
domainId
(required): The domain ID to create alias underaliasName
(required): The alias name (e.g., "support")description
(optional): Description of the alias
- Output: Created alias object with generated ID
Update Alias
- Operation:
update
- Parameters:
aliasId
(required): The ID of the alias to updatealiasName
(optional): New alias namedescription
(optional): New description
- Output: Updated alias object
Delete Alias
- Operation:
delete
- Parameters:
aliasId
(required): The ID of the alias to delete
- Output: Success confirmation
Webhook Operations
Get All Webhooks
- Operation:
getAll
- Parameters:
domainId
(optional): Filter webhooks by domain
- Output: Array of webhook configurations
Get Webhook
- Operation:
get
- Parameters:
webhookId
(required): The ID of the webhook to retrieve
- Output: Single webhook object
Create Webhook
- Operation:
create
- Parameters:
domainId
(optional): Domain to associate webhook withaliasId
(optional): Alias to associate webhook withurl
(required): Webhook endpoint URLdescription
(optional): Webhook description
- Output: Created webhook object
Update Webhook
- Operation:
update
- Parameters:
webhookId
(required): The ID of the webhook to updateurl
(optional): New webhook URLdescription
(optional): New description
- Output: Updated webhook object
Delete Webhook
- Operation:
delete
- Parameters:
webhookId
(required): The ID of the webhook to delete
- Output: Success confirmation
EmailConnect Trigger Node
The trigger node receives webhook data from EmailConnect when emails are processed.
Configuration Options
Events
email.received
: Triggered when an email is receivedemail.processed
: Triggered when an email is successfully processedemail.failed
: Triggered when email processing fails
Filters
- Domain Filter: Only trigger for emails from specific domain
- Alias Filter: Only trigger for emails to specific alias
Webhook Data Structure
The trigger node outputs the following data structure:
{
"id": "email-processing-id",
"domainId": "domain-id",
"receivedAt": "2024-01-15T10:30:00Z",
"sender": "[email protected]",
"recipient": "[email protected]",
"subject": "Email subject",
"status": "email.received",
"payload": {
"headers": {},
"text": "Plain text content",
"html": "<p>HTML content</p>",
"attachments": []
},
"envelope": {
"from": "[email protected]",
"to": ["[email protected]"]
}
}