Package Information
Documentation
AWS SQS Pro - n8n Community Node
šÆ Professional AWS SQS nodes for n8n - Send & Delete messages from SQS queues with ease
⨠Features
- š¤ Message Sending - Send messages to SQS queues with automatic queue discovery
- šļø Message Deletion - Delete messages from SQS queues efficiently
- š Dynamic Queue Loading - Automatically loads your SQS queues from AWS credentials
- š Send Input Data - Option to send workflow input data as message body
- š”ļø Error Handling - Robust error handling with continue-on-fail support
- š Native AWS Credentials - Uses n8n's built-in AWS credentials
- š FIFO Support - Full support for FIFO queues with Message Group ID and Deduplication ID
- š·ļø Message Attributes - Support for custom message attributes
- ā±ļø Delay Messages - Delay message delivery up to 15 minutes
- ā” High Performance - Optimized for production workloads
š§ Installation
Via n8n Community Nodes (Recommended)
- Go to Settings ā Community Nodes in your n8n instance
- Click Install and enter:
n8n-nodes-sqs-pro - Click Install and wait for the installation to complete
Via npm
npm install n8n-nodes-sqs-pro
Requirements
- n8n version: 0.198.0 or higher
- Node.js: 16.0.0 or higher
- AWS Account with SQS access
š Quick Start
1. Configure AWS Credentials
Create AWS credentials in n8n:
- Go to Settings ā Credentials
- Click Add Credential
- Select AWS
- Enter your AWS credentials:
- Access Key ID: Your AWS access key
- Secret Access Key: Your AWS secret key
- Region: Your AWS region (e.g.,
us-east-1)
2. Add the Nodes to Your Workflow
AWS SQS Send
- Create a new workflow
- Add the AWS SQS Send node
- Select your queue from the dropdown (auto-loaded from your AWS account)
- Configure message options
AWS SQS Delete
- Add the AWS SQS Delete node
- Configure the queue URL and receipt handle
š Operations
AWS SQS Send
Send messages to SQS queues with intelligent queue discovery.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Queue | dropdown | ā | Select from your available SQS queues |
| Send Input Data | boolean | ā | Send workflow input data as message body |
| Message Body | string | ā * | Message content (*when Send Input Data is false) |
| Message Group ID | string | ā | Required for FIFO queues |
| Message Deduplication ID | string | ā | Optional for FIFO queues |
Additional Options:
| Parameter | Type | Description |
|---|---|---|
| Message Attributes | JSON | Custom message attributes |
| Delay Seconds | number | Delay delivery (0-900 seconds) |
Example Configuration:
{
"queue": "https://sqs.us-east-1.amazonaws.com/123456789012/my-queue.fifo",
"sendInputData": false,
"messageBody": "Hello from n8n!",
"messageGroupId": "order-processing",
"messageDeduplicationId": "order-123456",
"additionalOptions": {
"messageAttributes": "{\"priority\": \"high\", \"source\": \"n8n\"}",
"delaySeconds": 30
}
}
AWS SQS Delete
Delete messages from SQS queues.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Queue URL | string | ā | The full URL of the SQS queue |
| Receipt Handle | string | ā | The receipt handle of the message to delete |
š” Use Cases
1. Send Order Notifications
{
"nodes": [
{
"name": "Order Created",
"type": "n8n-nodes-base.webhook",
"parameters": {
"path": "order-created"
}
},
{
"name": "Send to Queue",
"type": "n8n-nodes-sqs-pro-send",
"parameters": {
"queue": "https://sqs.us-east-1.amazonaws.com/123456789012/orders.fifo",
"sendInputData": true,
"messageGroupId": "orders",
"additionalOptions": {
"messageAttributes": "{\"orderType\": \"new\", \"priority\": \"high\"}"
}
}
}
]
}
2. Process and Delete Messages
{
"nodes": [
{
"name": "Receive Message",
"type": "n8n-nodes-base.awsSqs",
"parameters": {
"queueUrl": "https://sqs.us-east-1.amazonaws.com/123456789012/my-queue"
}
},
{
"name": "Process Message",
"type": "n8n-nodes-base.function",
"parameters": {
"functionCode": "// Process your message here\nreturn items;"
}
},
{
"name": "Delete Message",
"type": "n8n-nodes-sqs-pro-delete",
"parameters": {
"queueUrl": "{{$node['Receive Message'].json.queueUrl}}",
"receiptHandle": "{{$node['Receive Message'].json.receiptHandle}}"
}
}
]
}
3. Delayed Message Processing
{
"parameters": {
"queue": "https://sqs.us-east-1.amazonaws.com/123456789012/delayed-tasks",
"sendInputData": false,
"messageBody": "Process this in 5 minutes",
"additionalOptions": {
"delaySeconds": 300
}
}
}
š AWS IAM Permissions
Your AWS user needs the following permissions:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sqs:SendMessage",
"sqs:DeleteMessage",
"sqs:ListQueues",
"sqs:GetQueueAttributes"
],
"Resource": "arn:aws:sqs:*:*:*"
}
]
}
š Output
AWS SQS Send Output
{
"success": true,
"operation": "sendMessage",
"queueUrl": "https://sqs.us-east-1.amazonaws.com/123456789012/my-queue",
"messageId": "12345678-1234-1234-1234-123456789012",
"requestId": "87654321-4321-4321-4321-210987654321",
"timestamp": "2024-01-15T10:30:00.000Z",
"messageBody": "Input data sent"
}
AWS SQS Delete Output
{
"success": true,
"operation": "deleteMessage",
"queueUrl": "https://sqs.us-east-1.amazonaws.com/123456789012/my-queue",
"receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...",
"requestId": "12345678-1234-1234-1234-123456789012",
"timestamp": "2024-01-15T10:30:00.000Z"
}
š ļø Development
Build from Source
# Clone the repository
git clone https://github.com/adejaimejr/n8n-nodes-sqs-pro.git
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
Project Structure
n8n-nodes-sqs-pro/
āāā nodes/
ā āāā AwsSqsDelete/
ā ā āāā AwsSqsDelete.node.ts # Delete node implementation
ā ā āāā awssqs.svg # Node icon
ā āāā AwsSqsSend/
ā āāā AwsSqsSend.node.ts # Send node implementation
ā āāā awssqs.svg # Node icon
āāā dist/ # Built files
āāā package.json # Package configuration
āāā README.md # This file
š Useful Links
- š AWS SQS Documentation
- š§ n8n Community Nodes
- š Report Issues
- š¬ n8n Community
- š n8n Documentation
ā FAQ
Q: Can I use this with FIFO queues?
A: Yes! Both nodes work with Standard and FIFO SQS queues. For FIFO queues, make sure to provide Message Group ID.
Q: How does the automatic queue loading work?
A: The Send node automatically loads all queues from your AWS account using the configured credentials. Simply select from the dropdown.
Q: Can I send workflow input data directly?
A: Yes! Enable "Send Input Data" and the node will automatically send your workflow input data as JSON message body.
Q: What happens if a message send fails?
A: The node will return an error, but you can enable "Continue on Fail" to handle this gracefully and continue processing other items.
Q: Can I add custom message attributes?
A: Yes! Use the "Message Attributes" option in "Additional Options" to add custom attributes as JSON.
Q: Is there a limit to delay seconds?
A: Yes, AWS SQS supports delays from 0 to 900 seconds (15 minutes).
š¤ Contributing
We welcome contributions! Here's how you can help:
- š“ Fork the repository
- š Create a feature branch (
git checkout -b feature/amazing-feature) - š Commit your changes (
git commit -m 'Add amazing feature') - š Push to the branch (
git push origin feature/amazing-feature) - š Open a Pull Request
Bug Reports
Found a bug? Please create an issue with:
- Detailed description
- Steps to reproduce
- Expected vs actual behavior
- n8n and node versions
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š Acknowledgments
- Thanks to the n8n team for creating an amazing platform
- Thanks to the n8n community for their support and feedback
- Inspired by the need for efficient SQS message management