Amazon SQS Connector
Description
Amazon SQS is a message queueing service from Amazon Web Services. The Amazon SQS component allows you to send and receive messages within an Amazon SQS queue.
Using Amazon SQS as a FIFO queue for instance executions
If you have a workflow that requires requests to be processed in a specific order, or a workflow that requires you to process only one record at a time, you can leverage the Amazon SQS component along with an SQS FIFO queue to ensure that the requests are processed sequentially.
See Using a FIFO Queue to Ensure In-Order Processing for more information.
Connections
AWS SQS Access Key and Secret
key: apiKeySecretAn AWS IAM access key pair is required to interact with Amazon SQS. Make sure that the key pair you generate in AWS has proper permissions to the SQS resources you want to access. Read more about SQS IAM policies in the AWS docs.
| Input | Notes | Example |
|---|---|---|
| Access Key ID | An AWS IAM Access Key ID | AKIAIOSFODNN7EXAMPLE |
| Secret Access Key | An AWS IAM Secret Access Key | wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY |
AWS Role ARN
key: awsAssumeRoleTo enable the IAM role authentication begin by logging into the AWS Console and navigate to Identity and Access Management (IAM).
To create an ARN user and generate credentials:
- Navigate to Users and select Create User.
- Provide a User name and check the box providing them user access to the AWS Management Console if needed.
- Once completed with the User creation, copy the ARN provided in the summary for a later step.
- To obtain the ARN for an existing User, click on the designated username from the Users page and the ARN will be provided in the summary section.
- From the summary section, select Create access key
- Select Third-party service as the access key type and select next.
- Set a description and select create access key.
- Copy the Access Key and Secret access key and enter those into the connection configuration of your integration along with the ARN.
To create and assign a user a role:
- Navigate to Roles and select Create Role.
- Select Custom Trust Policy for the Trusted entity types
- Copy the following statement into the statement console. Making sure to replace the ARN with the user's actual ARN from the previous section
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "ARN"
},
"Action": "sts:AssumeRole"
}
]
}
- When adding permissions provide the AmazonSQSFullAccess permission
- Complete remaining steps and select Create Role
| Input | Notes | Example |
|---|---|---|
| Access Key ID | An AWS IAM Access Key ID | AKIAIOSFODNN7EXAMPLE |
| External ID | Provides enhanced security measures to the connection. Optional, but recommended. Please check AWS docs for more information. | shared-common-secret |
| Role ARN | An AWS IAM Role ARN | arn:aws:iam::OtherAccount-ID:role/assumed-role-name |
| Secret Access Key | An AWS IAM Secret Access Key | wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY |
Triggers
New Messages
Retrieves existing and ongoing messages for a specified Amazon SQS queue. Load history once, check for new messages on a schedule, or both. | key: pollMessagesTrigger
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| AWS Region | AWS provides services in multiple regions, like us-west-2 or eu-west-1. | us-east-1 |
| Dynamic Access Key ID | Use this input to authenticate with AWS if you are using a dynamically-generated access key. Otherwise, use the connection to enter a static access key ID. | |
| Dynamic Secret Access Key | Use this input to authenticate with AWS if you are using a dynamically-generated secret access key. Otherwise, use the connection to enter a static secret access key. | |
| Dynamic Session Token | Use this input to authenticate with AWS if you are using a OPTIONAL dynamically-generated session token. | |
| Look-back Date | The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each message still retained in the queue and sent on or after this date once. | 2026-01-01 |
| Queue URL | You require the queue URL to send, receive, and delete queue messages. A queue URL is constructed in the following format: https://{REGION_ENDPOINT}/queue.|api-domain|/{YOUR_ACCOUNT_NUMBER}/{YOUR_QUEUE_NAME} | https://sqs.us-east-1.amazonaws.com/012345678900/my-example-queue |
The New Messages trigger polls an Amazon SQS queue for new messages on a scheduled basis. It is recommended for basic scenarios; more complex scenarios are subject to the limitations listed below.
How It Works
- The trigger runs on the configured schedule
- It receives messages from the queue repeatedly, using long polling, until a request returns no messages
- It keeps only the messages whose
SentTimestampis later than its stored position, and stores the time the recurrence started as its new position - The trigger never deletes messages. Each message it receives stays hidden from other consumers of the queue for the queue's visibility timeout, and a message sent after a recurrence starts can be emitted by that recurrence and again by the next one
Initial Sync
An initial sync seeds a starting state from the messages already in the queue. The trigger has no input that narrows which messages are reported, so the sync ignores no inputs. It begins on the first recurrence, when the trigger has no stored position and a Look-back Date (YYYY-MM-DD) is set, and emits once every message still retained in the queue whose SentTimestamp is on or after that date. Amazon SQS retains a message for at most 14 days (4 by default), per Amazon SQS message quotas, so the date cannot reach further back than the queue's retention period. Left empty, there is no sync and the trigger starts from its first recurrence.
The window has no fixed upper bound, so a message sent while the sync drains is swept into it. The trigger then stores the time the recurrence started as its position, and the first incremental recurrence resumes from exactly there; nothing in the payload marks the handoff. The drain finishes in one recurrence whether batching is on or off.
Queue URL, AWS Region, and the connection inputs still apply throughout. The trigger has no page-size or field-selection input, so nothing else is in play.
Batching
Batching is enabled per flow on this trigger: each changed record is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to Amazon SQS.
To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.
With batching off a downstream step reads the message array at body.data. With batching on that array does not exist: each execution receives one { "changeType": "created", "record": ... } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, that change is scoped to the flow rather than to the component or to other flows using the same trigger.
Returned Data
With batching off, the trigger returns the new messages as an array in data. Fields shown are representative. The full response object includes additional properties.
Example Response
{
"data": [
{
"MessageId": "00000000-00000000-00000000-00000000",
"ReceiptHandle": "Example Receipt Handle",
"MD5OfBody": "e909509655c5154f008e0ee43ed655b2",
"Body": "My Test Message",
"Attributes": {
"SenderId": "EXAMPLE5OBBA2B7URDN4G",
"ApproximateFirstReceiveTimestamp": "1646857534190",
"ApproximateReceiveCount": "3",
"SentTimestamp": "1646857528982"
},
"MessageAttributes": {
"exampleKey1": {
"StringValue": "exampleValue",
"DataType": "String"
}
}
}
]
}
With batching on, each execution receives one message tagged with changeType created, or an array of such items when the batch size is greater than 1. The data array is not part of this shape.
Batched Item
{
"changeType": "created",
"record": {
"MessageId": "00000000-00000000-00000000-00000000",
"ReceiptHandle": "Example Receipt Handle",
"Body": "My Test Message",
"Attributes": {
"SentTimestamp": "1646857528982"
}
}
}
Limitations
- Unpredictable return behavior: Amazon SQS does not guarantee that all available messages are returned, even when using the maximum allowed settings
- Confirming empty queues: An empty response does not mean the queue is fully drained. Messages might still be delayed, invisible, or not returned due to the distributed nature of Amazon SQS
- Delayed messages: Messages sent with
DelaySecondsremain hidden until the delay expires. A delayed message that becomes visible after a recurrence has moved the position past itsSentTimestampis never emitted
Data Sources
Select AWS Region
Select an AWS region | key: selectRegion | type: picklist
Select Queue
Select an SQS queue from a list | key: selectQueue | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| AWS Region | AWS provides services in multiple regions, like us-west-2 or eu-west-1. | us-east-1 |
| Dynamic Access Key ID | Use this input to authenticate with AWS if you are using a dynamically-generated access key. Otherwise, use the connection to enter a static access key ID. | |
| Dynamic Secret Access Key | Use this input to authenticate with AWS if you are using a dynamically-generated secret access key. Otherwise, use the connection to enter a static secret access key. | |
| Dynamic Session Token | Use this input to authenticate with AWS if you are using a OPTIONAL dynamically-generated session token. |
Actions
Create Dead Letter Queue
Create an Amazon SQS Dead Letter Queue | key: createDeadLetterQueue
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| AWS Region | AWS provides services in multiple regions, like us-west-2 or eu-west-1. | us-east-1 |
| Content Based Deduplication | This flag enables Content Based Deduplication on a FIFO queue. Once you create a FIFO queue you cannot change the value of this input. When active, the main and dead letter queues will enable content-based deduplication. | false |
| Dead Letter Queue Name | The name of the dead letter queue where messages will be sent after exceeding the maximum number of receive attempts in the main queue. Can only include alphanumeric characters, hyphens, or underscores and must be 1 to 80 characters in length. FIFO queues must end with the .fifo suffix. | MyDeadLetterQueue |
| Dynamic Access Key ID | Use this input to authenticate with AWS if you are using a dynamically-generated access key. Otherwise, use the connection to enter a static access key ID. | |
| Dynamic Secret Access Key | Use this input to authenticate with AWS if you are using a dynamically-generated secret access key. Otherwise, use the connection to enter a static secret access key. | |
| Dynamic Session Token | Use this input to authenticate with AWS if you are using a OPTIONAL dynamically-generated session token. | |
| FIFO Queue | This flag enables the creation of a FIFO Queue. Once you create a FIFO queue you cannot change it to a standard queue. When active, the main and dead letter queues will be FIFO. | false |
| Max Receive Count | The maximum number of times a message is delivered to the source queue before being moved to the dead letter queue. Must be greater than or equal to 1. | 5 |
| Main Queue Name | The name of a new queue. Can only include alphanumeric characters, hyphens, or underscores and must be 1 to 80 characters in length. FIFO queues must end with the .fifo suffix. | my-example-queue |
| Tags | The list of tags you want to tag your AWS SQS queue with. Tags are included in both queues. |
Example Payload for Create Dead Letter Queue⤓
Create Queue
Create an Amazon SQS Queue | key: createQueue
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| AWS Region | AWS provides services in multiple regions, like us-west-2 or eu-west-1. | us-east-1 |
| Content Based Deduplication | This flag enables Content Based Deduplication on a FIFO queue. Once you create a FIFO queue you cannot change the value of this input. | false |
| Dynamic Access Key ID | Use this input to authenticate with AWS if you are using a dynamically-generated access key. Otherwise, use the connection to enter a static access key ID. | |
| Dynamic Secret Access Key | Use this input to authenticate with AWS if you are using a dynamically-generated secret access key. Otherwise, use the connection to enter a static secret access key. | |
| Dynamic Session Token | Use this input to authenticate with AWS if you are using a OPTIONAL dynamically-generated session token. | |
| FIFO Queue | This flag enables the creation of a FIFO Queue. Once you create a FIFO queue you cannot change it to a standard queue. | false |
| Name | The name of a new queue. Can only include alphanumeric characters, hyphens, or underscores and must be 1 to 80 characters in length. FIFO queues must end with the .fifo suffix. | my-example-queue |
| Tags | The list of tags you want to tag your AWS SQS queue with. |
Example Payload for Create Queue⤓
Delete Message
Delete a message from an Amazon SQS Queue | key: deleteMessage
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| AWS Region | AWS provides services in multiple regions, like us-west-2 or eu-west-1. | us-east-1 |
| Dynamic Access Key ID | Use this input to authenticate with AWS if you are using a dynamically-generated access key. Otherwise, use the connection to enter a static access key ID. | |
| Dynamic Secret Access Key | Use this input to authenticate with AWS if you are using a dynamically-generated secret access key. Otherwise, use the connection to enter a static secret access key. | |
| Dynamic Session Token | Use this input to authenticate with AWS if you are using a OPTIONAL dynamically-generated session token. | |
| Receipt Handle | Every time you receive a message from a queue, you receive a receipt handle for that message. This handle is associated with the action of receiving the message, not with the message itself. | AQEBwLpNvpxWR+nqO4frM8rWABCI4dbqTwo7 |
| Queue URL | You require the queue URL to send, receive, and delete queue messages. A queue URL is constructed in the following format: https://{REGION_ENDPOINT}/queue.|api-domain|/{YOUR_ACCOUNT_NUMBER}/{YOUR_QUEUE_NAME} | https://sqs.us-east-1.amazonaws.com/012345678900/my-example-queue |
Example Payload for Delete Message⤓
Delete Queue
Delete an Amazon SQS Queue | key: deleteQueue
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| AWS Region | AWS provides services in multiple regions, like us-west-2 or eu-west-1. | us-east-1 |
| Dynamic Access Key ID | Use this input to authenticate with AWS if you are using a dynamically-generated access key. Otherwise, use the connection to enter a static access key ID. | |
| Dynamic Secret Access Key | Use this input to authenticate with AWS if you are using a dynamically-generated secret access key. Otherwise, use the connection to enter a static secret access key. | |
| Dynamic Session Token | Use this input to authenticate with AWS if you are using a OPTIONAL dynamically-generated session token. | |
| Queue URL | You require the queue URL to send, receive, and delete queue messages. A queue URL is constructed in the following format: https://{REGION_ENDPOINT}/queue.|api-domain|/{YOUR_ACCOUNT_NUMBER}/{YOUR_QUEUE_NAME} | https://sqs.us-east-1.amazonaws.com/012345678900/my-example-queue |
Example Payload for Delete Queue⤓
Get a Queue's URL
Get the URL of an Amazon SQS Queue given its name | key: getQueueUrl
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| AWS Region | AWS provides services in multiple regions, like us-west-2 or eu-west-1. | us-east-1 |
| Dynamic Access Key ID | Use this input to authenticate with AWS if you are using a dynamically-generated access key. Otherwise, use the connection to enter a static access key ID. | |
| Dynamic Secret Access Key | Use this input to authenticate with AWS if you are using a dynamically-generated secret access key. Otherwise, use the connection to enter a static secret access key. | |
| Dynamic Session Token | Use this input to authenticate with AWS if you are using a OPTIONAL dynamically-generated session token. | |
| Name | The name of a new queue. Can only include alphanumeric characters, hyphens, or underscores and must be 1 to 80 characters in length. FIFO queues must end with the .fifo suffix. | my-example-queue |
Example Payload for Get a Queue's URL⤓
List Queues
Fetch a list of Amazon SQS Queues | key: listQueues
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| AWS Region | AWS provides services in multiple regions, like us-west-2 or eu-west-1. | us-east-1 |
| Dynamic Access Key ID | Use this input to authenticate with AWS if you are using a dynamically-generated access key. Otherwise, use the connection to enter a static access key ID. | |
| Dynamic Secret Access Key | Use this input to authenticate with AWS if you are using a dynamically-generated secret access key. Otherwise, use the connection to enter a static secret access key. | |
| Dynamic Session Token | Use this input to authenticate with AWS if you are using a OPTIONAL dynamically-generated session token. | |
| Fetch All | Turn this On to fetch all results. It will ignore the Max Results and Next Token inputs. | false |
| Max Results | The maximum number of results to return. <strong>Must be between 1 and 1000</strong>. | 1 |
| Next Token | The next token to return. | AAcAAgGAARQ... |
| Queue Prefix | A string to use for filtering the list results. Only those queues whose name begins with the specified string are returned. <strong>Case-sensitive</strong>. | MyQueue |
Example Payload for List Queues⤓
Receive Messages
Receive messages from an Amazon SQS Queue | key: receiveMessages
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| AWS Region | AWS provides services in multiple regions, like us-west-2 or eu-west-1. | us-east-1 |
| Dynamic Access Key ID | Use this input to authenticate with AWS if you are using a dynamically-generated access key. Otherwise, use the connection to enter a static access key ID. | |
| Dynamic Secret Access Key | Use this input to authenticate with AWS if you are using a dynamically-generated secret access key. Otherwise, use the connection to enter a static secret access key. | |
| Dynamic Session Token | Use this input to authenticate with AWS if you are using a OPTIONAL dynamically-generated session token. | |
| Max Messages | Provide a number for the max amount of values to be returned. | 5 |
| Queue URL | You require the queue URL to send, receive, and delete queue messages. A queue URL is constructed in the following format: https://{REGION_ENDPOINT}/queue.|api-domain|/{YOUR_ACCOUNT_NUMBER}/{YOUR_QUEUE_NAME} | https://sqs.us-east-1.amazonaws.com/012345678900/my-example-queue |
| Wait Time (seconds) | The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. If a message is available, the call returns sooner than WaitTimeSeconds. If no messages are available and the wait time expires, the call returns successfully with an empty list of messages. | 10 |
Receive Messages can behave differently depending on what kind of queue you are trying to poll. If you are using a non-FIFO queue, this action may return false blank responses. SNS FIFO is intended for customer use cases where it is critical to maintain the consistency in processing messages across multiple independent services in a strictly ordered manner. If you are polling a FIFO queue you are guaranteed to receive the maximum amount of messages you specify (up to 10) per request. Refer to the AWS docs for information on migrating to a FIFO queue
Example Payload for Receive Messages⤓
Send Message
Send a message to an Amazon SQS Queue | key: sendMessage
| Input | Notes | Example |
|---|---|---|
| Attributes | Amazon SQS lets you include structured metadata (such as timestamps, geospatial data, signatures, and identifiers) with messages using message attributes. Each message can have up to 10 attributes. | |
| Connection | ||
| AWS Region | AWS provides services in multiple regions, like us-west-2 or eu-west-1. | us-east-1 |
| Delay Seconds | Provide a number of optional seconds to delay sending a message. | 0 |
| Dynamic Access Key ID | Use this input to authenticate with AWS if you are using a dynamically-generated access key. Otherwise, use the connection to enter a static access key ID. | |
| Dynamic Secret Access Key | Use this input to authenticate with AWS if you are using a dynamically-generated secret access key. Otherwise, use the connection to enter a static secret access key. | |
| Dynamic Session Token | Use this input to authenticate with AWS if you are using a OPTIONAL dynamically-generated session token. | |
| Message | Provide a string containing the message you would like to send. | Example Message |
| Message deduplication ID | The message deduplication ID is the token used for deduplication of sent messages. If a message with a particular message deduplication ID is sent successfully, any messages sent with the same message deduplication ID are accepted successfully but aren't delivered during the 5-minute deduplication interval. | myExampleDeduplicationId |
| Message Group Id | The message group ID is the tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are always processed one by one, in a strict order relative to the message group (however, messages that belong to different message groups might be processed out of order). | myExampleMessageGroup |
| Queue URL | You require the queue URL to send, receive, and delete queue messages. A queue URL is constructed in the following format: https://{REGION_ENDPOINT}/queue.|api-domain|/{YOUR_ACCOUNT_NUMBER}/{YOUR_QUEUE_NAME} | https://sqs.us-east-1.amazonaws.com/012345678900/my-example-queue |
Example Payload for Send Message⤓
Changelog
2026-10-19
- Added opt-in batching to the New Messages trigger, dispatching each message individually or in configured batches; enabling it changes the shape a downstream step receives
- Added an optional Look-back Date input to the New Messages trigger for performing an initial sync of messages. The initial sync begins on the first recurrence and backfills every message still retained in the queue that was sent on or after the specified date, seeding each once; later recurrences are unaffected. Leave it empty to start from the first recurrence with no backfill
2026-08-05
Various modernizations and documentation updates
2026-05-28
Various modernizations and documentation updates
2026-04-30
Updated spectral version
2026-03-31
Various modernizations and documentation updates
2025-11-25
Enhanced webhook triggers to support simulated test executions for improved manual testing capabilities
2025-05-30
Added ability to create Dead Letter Queues for improved message handling and error recovery