n8n-nodes-sqs-pro
v0.1.1
Published
π Professional AWS SQS nodes for n8n - Send, Delete & Trigger messages from SQS queues with ease. Complete package with 3 nodes.
Maintainers
Readme
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-proRequirements
- 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 testProject 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
π Stats
