Skip to main content

Amazon SNS Component

Manage topics, subscriptions, and messages in Amazon SNS.

Component key: aws-sns

Changelog ↓

Description

Amazon SNS (Simple Notification Service) is a fully managed messaging service from Amazon Web Services (AWS) for both application-to-application (A2A) and application-to-person (A2P) communication. This component allows you to publish messages to topics, manage subscriptions, create and configure topics, and send SMS messages through the SNS service.

API Documentation

This component is built using the AWS SNS API.

Connections

AWS SNS Access Key and Secret

An AWS IAM access key pair is required to interact with Amazon SNS. Ensure the key pair generated in AWS has proper permissions to the SNS resources to access. Read about Amazon SNS IAM policies in the AWS docs.

Prerequisites

  • An active AWS account
  • IAM permissions to create access keys

Setup Steps

To create an IAM access key pair:

  1. Sign in to the AWS Console and navigate to Identity and Access Management (IAM)
  2. Select Users from the left sidebar
  3. Choose an existing user or create a new one by selecting Create User
  4. If creating a new user, provide a username and configure console access if needed
  5. Navigate to the Security credentials tab for the selected user
  6. Under Access Keys, select Create access key
  7. Choose the use case (select Third-party service or Application running outside AWS as appropriate)
  8. Add an optional description tag for the key
  9. Select Create access key
  10. Copy both the Access Key ID and Secret Access Key values
Secure Storage Required

The Secret Access Key is only shown once during creation. Store it securely as it cannot be retrieved later. If lost, a new access key pair must be generated.

Configure the Connection

  • Enter the Access Key ID into the corresponding field in the connection configuration
  • Enter the Secret Access Key into the corresponding field in the connection configuration

Required Permissions

The IAM user or role associated with the access key pair must have appropriate permissions for Amazon SNS operations.

Common required permissions include:

  • sns:Publish - Send messages to topics
  • sns:Subscribe - Subscribe endpoints to topics
  • sns:CreateTopic - Create new SNS topics
  • sns:DeleteTopic - Delete SNS topics
  • sns:ListTopics - List available topics
  • sns:GetTopicAttributes - Retrieve topic details
  • sns:SetTopicAttributes - Modify topic settings

Refer to the Amazon SNS IAM policy documentation for detailed permission information and policy examples.

InputNotesExample
Access Key ID

An AWS IAM Access Key ID for authenticating with Amazon SNS. Learn more

AKIAIOSFODNN7EXAMPLE
Secret Access Key

An AWS IAM Secret Access Key corresponding to the Access Key ID. Learn more

wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

AWS Role ARN

AWS IAM role assumption enables secure, temporary access to Amazon SNS resources without embedding long-term credentials. This authentication method uses an IAM user's access key pair to assume an IAM role with specific SNS permissions.

Prerequisites

  • An active AWS account
  • IAM permissions to create users, access keys, and roles

Create IAM User and Access Key

  1. Sign in to the AWS Console and navigate to Identity and Access Management (IAM)
  2. Select Users from the left sidebar
  3. Select Create User
  4. Provide a User name and optionally enable AWS Management Console access
  5. Complete the user creation process
  6. From the user list, select the newly created user
  7. Copy the ARN (Amazon Resource Name) from the summary section - this will be needed for the role trust policy
  8. Navigate to the Security credentials tab
  9. Under Access Keys, select Create access key
  10. Select Third-party service as the access key type
  11. Select Next, add an optional description tag, then select Create access key
  12. Copy both the Access Key ID and Secret Access Key for later use
Secure Storage Required

The Secret Access Key is only shown once during creation. Store it securely as it cannot be retrieved later.

Create IAM Role with Trust Policy

  1. In the IAM console, select Roles from the left sidebar
  2. Select Create Role
  3. For Trusted entity type, select Custom trust policy
  4. Replace the default policy with the following trust policy statement, substituting the actual user ARN copied from the previous section:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:user/YourUserName"
},
"Action": "sts:AssumeRole"
}
]
}
  1. Select Next to proceed to permissions
  2. Under Permissions policies, search for and attach AmazonSNSFullAccess or create a custom policy with specific SNS permissions
  3. Select Next and provide a Role name and optional description
  4. Review the configuration and select Create Role
  5. From the roles list, select the newly created role
  6. Copy the Role ARN from the summary section

Configure the Connection

  • Enter the Access Key ID from the IAM user into the connection configuration
  • Enter the Secret Access Key from the IAM user into the connection configuration
  • Enter the Role ARN from the IAM role into the connection configuration

The connection will use the IAM user credentials to assume the specified role when accessing Amazon SNS resources.

Required Permissions

The IAM role must have appropriate Amazon SNS permissions attached via IAM policies.

Common required permissions include:

  • sns:Publish - Send messages to topics
  • sns:Subscribe - Subscribe endpoints to topics
  • sns:CreateTopic - Create new SNS topics
  • sns:DeleteTopic - Delete SNS topics
  • sns:ListTopics - List available topics
  • sns:GetTopicAttributes - Retrieve topic details
  • sns:SetTopicAttributes - Modify topic settings

For production use, consider creating a custom IAM policy with least-privilege permissions instead of using AmazonSNSFullAccess.

Refer to the Amazon SNS IAM policy documentation for detailed permission information and policy examples.

InputNotesExample
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

Manual Subscription

Receive and validate webhook requests from SNS for manually configured webhook subscriptions. | key: subscriptionTrigger

InputNotesExample
Parse Message

When enabled, the message from SNS will be parsed as JSON and returned. When disabled, it will be passed as received.

false

This trigger receives and validates webhook notifications from Amazon SNS. The trigger is designed for manually configured SNS subscriptions where the subscription is created and managed through the AWS console or other external tools, rather than being automatically managed by the integration.

For more information on SNS HTTP/HTTPS subscriptions, see Amazon SNS HTTP/HTTPS notifications.

Configuration

To configure this trigger:

  1. Deploy the integration instance and note the webhook URL for the flow using this trigger
  2. In the AWS SNS console, subscribe the webhook URL to an SNS topic
  3. Optionally enable the Parse Message input to automatically parse JSON message payloads

Once the subscription is created in SNS, messages sent to the topic will be delivered to the integration via the webhook URL.

Subscription Confirmation

When a subscription is first created in SNS, Amazon sends a SubscriptionConfirmation message to the webhook URL. This trigger automatically handles the subscription confirmation process by making an HTTP GET request to the SubscribeURL provided in the confirmation message. This confirms to Amazon SNS that the endpoint is ready to receive notifications.

Similarly, if an unsubscribe request is initiated, the trigger automatically handles UnsubscribeConfirmation messages.

Message Verification

All messages received from SNS are automatically verified using SNS message signature verification. The trigger validates the cryptographic signature on each incoming message to ensure it originated from Amazon and has not been tampered with.

Branches

This trigger uses branches to route different message types:

  • Notification: Triggered when SNS sends a notification message to the webhook. This branch receives the actual message content from the SNS topic.
  • Subscribe: Triggered when SNS sends a subscription confirmation. The confirmation is automatically handled, and this branch can be used for additional actions (such as logging or sending alerts).
  • Unsubscribe: Triggered when SNS sends an unsubscribe confirmation. The unsubscribe event is automatically handled, and this branch can be used for additional actions.

The Subscribe and Unsubscribe branches can be left empty if no additional processing is needed. Most integrations will only implement logic in the Notification branch.

Parse Message Option

When Parse Message is enabled and a Notification message is received:

  • If the message body is valid JSON, it will be automatically parsed into an object
  • If the message body is not valid JSON, the trigger will throw an error
  • This option only applies to messages in the Notification branch
  • Raw delivery messages are always parsed when this option is enabled

Leave Parse Message disabled if the SNS topic sends non-JSON content or if JSON parsing should be handled in subsequent integration steps.

Returned Data

The trigger returns an object with the following structure:

Example Notification Message
{
"Type": "Notification",
"MessageId": "da41e39f-ea4d-435a-b922-c6aae3915ebe",
"TopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic",
"Subject": "test",
"Message": "test message",
"Timestamp": "2012-04-25T21:49:25.719Z",
"SignatureVersion": "1",
"Signature": "EXAMPLElDMXvB8r9R83tGoNn0ecwd5UjllzsvSvbItzfaMpN2nk5HVSw7XnOn/49IkxDKz8YrlH2qJXj2iZB0Zo2O71c4qQk1fMUDi3LGpij7RCW7AW9vYYsSqIKRnFS94ilu7NFhUzLiieYr4BKHpdTmdD6c0esKEYBpabxDSc=",
"SigningCertURL": "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem",
"UnsubscribeURL": "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55"
}
Example Subscription Confirmation Message
{
"Type": "SubscriptionConfirmation",
"MessageId": "165545c9-2a5c-472c-8df2-7ff2be2b3b1b",
"Token": "2336412f37f...",
"TopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic",
"Message": "You have chosen to subscribe to the topic...",
"SubscribeURL": "https://sns.us-west-2.amazonaws.com/?Action=ConfirmSubscription&TopicArn=arn:aws:sns:us-west-2:123456789012:MyTopic&Token=2336412f37f...",
"Timestamp": "2012-04-26T20:45:04.751Z",
"SignatureVersion": "1",
"Signature": "EXAMPLEpH+...",
"SigningCertURL": "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem"
}
Example Unsubscribe Confirmation Message
{
"Type": "UnsubscribeConfirmation",
"MessageId": "47138184-6831-46b8-8f7c-afc488602d7d",
"Token": "2336412f37f...",
"TopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic",
"Message": "You have chosen to deactivate subscription arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55.\nTo cancel this operation and restore the subscription, visit the SubscribeURL included in this message.",
"SubscribeURL": "https://sns.us-west-2.amazonaws.com/?Action=ConfirmSubscription&TopicArn=arn:aws:sns:us-west-2:123456789012:MyTopic&Token=2336412f37f...",
"Timestamp": "2012-04-26T20:06:41.581Z",
"SignatureVersion": "1",
"Signature": "EXAMPLEHXgJ...",
"SigningCertURL": "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem"
}

{
"payload": {
"headers": {
"x-amz-sns-message-type": "Notification",
"x-amz-sns-message-id": "da41e39f-ea4d-435a-b922-c6aae3915ebe",
"x-amz-sns-topic-arn": "arn:aws:sns:us-west-2:123456789012:MyTopic",
"x-amz-sns-subscription-arn": "arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55",
"Content-Length": "761",
"Content-Type": "text/plain; charset=UTF-8",
"Host": "ec2-50-17-44-49.compute-1.amazonaws.com",
"Connection": "Keep-Alive",
"User-Agent": "Amazon Simple Notification Service Agent"
},
"queryParameters": {},
"rawBody": {
"data": {}
},
"webhookUrls": {},
"webhookApiKeys": {},
"customer": {
"externalId": "abc-123",
"name": "Example Corp",
"id": "exampleId"
},
"body": {
"data": {
"Type": "Notification",
"MessageId": "da41e39f-ea4d-435a-b922-c6aae3915ebe",
"TopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic",
"Subject": "test",
"Message": "test message",
"Timestamp": "2012-04-25T21:49:25.719Z",
"SignatureVersion": "1",
"Signature": "EXAMPLElDMXvB8r9R83tGoNn0ecwd5UjllzsvSvbItzfaMpN2nk5HVSw7XnOn/49IkxDKz8YrlH2qJXj2iZB0Zo2O71c4qQk1fMUDi3LGpij7RCW7AW9vYYsSqIKRnFS94ilu7NFhUzLiieYr4BKHpdTmdD6c0esKEYBpabxDSc=",
"SigningCertURL": "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem",
"UnsubscribeURL": "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55"
}
},
"executionId": "",
"instance": {
"id": "example",
"name": "exampleName"
},
"pathFragment": "example",
"invokeUrl": "Url",
"user": {
"email": "email@email.test",
"externalId": "externalId",
"id": "123",
"name": "name"
},
"flow": {
"id": "flowId",
"name": "flowName"
},
"integration": {
"id": "integrationId",
"name": "integrationName",
"externalVersion": "1.0.0",
"versionSequenceId": "1"
},
"startedAt": "2012-04-25T21:49:25.719Z",
"globalDebug": false
},
"branch": "Notification"
}

Topic Webhook

Receive notifications from an SNS topic. Automatically creates and manages a topic subscription when the instance is deployed, and removes the subscription when the instance is deleted. | key: webhookLifecycleTrigger

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Parse Message

When enabled, the message from SNS will be parsed as JSON and returned. When disabled, it will be passed as received.

false
Topic ARN

The Amazon Resource Name (ARN) of the SNS topic. Learn more

arn:aws:sns:us-east-1:123456789012:MyExampleTopic

This trigger automatically creates and manages SNS webhook subscriptions for the instance. When an instance is deployed, the trigger subscribes the integration's webhook URL to the specified SNS topic. When the instance is deleted, the subscription is automatically removed.

For more information on SNS HTTP/HTTPS subscriptions, see Amazon SNS HTTP/HTTPS notifications.

Configuration

To configure this trigger:

  1. Select an AWS Connection with permissions to create and delete SNS subscriptions (requires sns:Subscribe and sns:Unsubscribe permissions)
  2. Choose the AWS Region where the SNS topic is located
  3. Provide the Topic ARN of the SNS topic to subscribe to
  4. Optionally enable Parse Message to automatically parse JSON message payloads

Automatic Subscription Management

On Instance Deploy:

  • The trigger automatically creates an HTTPS subscription to the specified SNS topic
  • The integration's webhook URL is registered as the subscription endpoint
  • The subscription is created with RawMessageDelivery set to false (messages include SNS metadata)
  • The subscription ARN is stored in integration state for later reference
  • If a subscription already exists for the flow, creation is skipped

On Instance Delete:

  • The trigger automatically unsubscribes from the SNS topic
  • The stored subscription ARN is used to remove the subscription
  • The subscription state is cleared from integration state

Subscription Confirmation

When the subscription is first created, SNS sends a SubscriptionConfirmation message to the webhook URL. This trigger automatically handles the confirmation process by making an HTTP GET request to the SubscribeURL provided in the confirmation message. This confirms to Amazon SNS that the endpoint is ready to receive notifications.

Message Verification

All messages received from SNS are automatically verified using SNS message signature verification. This ensures that messages originated from Amazon and have not been tampered with.

Branches

This trigger uses branches to route different message types:

  • Notification: Triggered when SNS sends a notification message to the webhook. This branch receives the actual message content from the SNS topic.
  • Subscribe: Triggered when SNS sends a subscription confirmation. The confirmation is automatically handled, and this branch can be used for additional actions (such as logging or notifications).
  • Unsubscribe: Triggered when SNS sends an unsubscribe confirmation. The unsubscribe event is automatically handled, and this branch can be used for additional actions.

Most integrations will only implement logic in the Notification branch, as the subscribe and unsubscribe events are handled automatically.

Parse Message Option

When Parse Message is enabled and a Notification message is received:

  • If the message body is valid JSON, it will be automatically parsed into an object
  • If the message body is not valid JSON, the trigger will throw an error
  • This option only applies to messages in the Notification branch
  • Raw delivery messages are always parsed when this option is enabled

Leave Parse Message disabled if the SNS topic sends non JSON content or if JSON parsing should be handled in subsequent integration steps.

Returned Data

The trigger returns an object with the following structure:

Example Returned Data
{
"Type": "Notification",
"MessageId": "da41e39f-ea4d-435a-b922-c6aae3915ebe",
"TopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic",
"Subject": "test",
"Message": "test message",
"Timestamp": "2012-04-25T21:49:25.719Z",
"SignatureVersion": "1",
"Signature": "EXAMPLElDMXvB8r9R83tGoNn0ecwd5UjllzsvSvbItzfaMpN2nk5HVSw7XnOn/49IkxDKz8YrlH2qJXj2iZB0Zo2O71c4qQk1fMUDi3LGpij7RCW7AW9vYYsSqIKRnFS94ilu7NFhUzLiieYr4BKHpdTmdD6c0esKEYBpabxDSc=",
"SigningCertURL": "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem",
"UnsubscribeURL": "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55"
}

{
"payload": {
"headers": {
"x-amz-sns-message-type": "Notification",
"x-amz-sns-message-id": "da41e39f-ea4d-435a-b922-c6aae3915ebe",
"x-amz-sns-topic-arn": "arn:aws:sns:us-west-2:123456789012:MyTopic",
"x-amz-sns-subscription-arn": "arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55",
"Content-Length": "761",
"Content-Type": "text/plain; charset=UTF-8",
"Host": "ec2-50-17-44-49.compute-1.amazonaws.com",
"Connection": "Keep-Alive",
"User-Agent": "Amazon Simple Notification Service Agent"
},
"queryParameters": {},
"rawBody": {
"data": {}
},
"webhookUrls": {},
"webhookApiKeys": {},
"customer": {
"externalId": "abc-123",
"name": "Example Corp",
"id": "exampleId"
},
"body": {
"data": {
"Type": "Notification",
"MessageId": "da41e39f-ea4d-435a-b922-c6aae3915ebe",
"TopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic",
"Subject": "test",
"Message": "test message",
"Timestamp": "2012-04-25T21:49:25.719Z",
"SignatureVersion": "1",
"Signature": "EXAMPLElDMXvB8r9R83tGoNn0ecwd5UjllzsvSvbItzfaMpN2nk5HVSw7XnOn/49IkxDKz8YrlH2qJXj2iZB0Zo2O71c4qQk1fMUDi3LGpij7RCW7AW9vYYsSqIKRnFS94ilu7NFhUzLiieYr4BKHpdTmdD6c0esKEYBpabxDSc=",
"SigningCertURL": "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem",
"UnsubscribeURL": "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:MyTopic:2bcfbf39-05c3-41de-beaa-fcfcc21c8f55"
}
},
"executionId": "",
"instance": {
"id": "example",
"name": "exampleName"
},
"pathFragment": "example",
"invokeUrl": "Url",
"user": {
"email": "email@email.test",
"externalId": "externalId",
"id": "123",
"name": "name"
},
"flow": {
"id": "flowId",
"name": "flowName"
},
"integration": {
"id": "integrationId",
"name": "integrationName",
"externalVersion": "1.0.0",
"versionSequenceId": "1"
},
"startedAt": "2012-04-25T21:49:25.719Z",
"globalDebug": false
},
"branch": "Notification"
}

Data Sources

Select AWS Region

Select an AWS region | key: selectRegion | type: picklist


Select Subscription

Select a subscription from the list of subscriptions | key: selectSubscription | type: picklist

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Topic ARN

The Amazon Resource Name (ARN) of the SNS topic. Learn more

arn:aws:sns:us-east-1:123456789012:MyExampleTopic

Select Topic

Select a topic from the list of topics | key: selectTopic | type: picklist

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1

Actions

Create Topic

Create an Amazon SNS Topic | key: createTopic

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Name

The name of the SNS topic to create.

MyExampleTopic

{
"data": {
"TopicArn": "arn:aws:sns:us-east-1:123456789012:MyExampleTopic"
}
}

Delete Topic

Delete an Amazon SNS Topic | key: deleteTopic

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Topic ARN

The Amazon Resource Name (ARN) of the SNS topic. Learn more

arn:aws:sns:us-east-1:123456789012:MyExampleTopic

{
"data": {}
}

Get Topic Attributes

Retrieves the attributes of an Amazon SNS Topic. | key: getTopicAttributes

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Topic ARN

The Amazon Resource Name (ARN) of the SNS topic. Learn more

arn:aws:sns:us-east-1:123456789012:MyExampleTopic

{
"data": {
"Attributes": {
"TopicArn": "arn:aws:sns:us-east-1:123456789012:MyExampleTopic",
"Owner": "123456789012",
"Policy": "{\"Version\":\"2012-10-17\",\"Id\":\"__default_policy_ID\",\"Statement\":[{\"Sid\":\"__default_statement_ID\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Action\":[\"SNS:GetTopicAttributes\",\"SNS:SetTopicAttributes\",\"SNS:AddPermission\",\"SNS:RemovePermission\",\"SNS:DeleteTopic\",\"SNS:Subscribe\",\"SNS:ListSubscriptionsByTopic\",\"SNS:Publish\"],\"Resource\":\"arn:aws:sns:us-east-1:123456789012:MyExampleTopic\",\"Condition\":{\"StringEquals\":{\"AWS:SourceOwner\":\"123456789012\"}}}]}",
"DisplayName": "My Example Topic",
"SubscriptionsPending": "0",
"SubscriptionsConfirmed": "3",
"SubscriptionsDeleted": "0",
"DeliveryPolicy": "{\"http\":{\"defaultHealthyRetryPolicy\":{\"minDelayTarget\":20,\"maxDelayTarget\":20,\"numRetries\":3,\"numMaxDelayRetries\":0,\"numNoDelayRetries\":0,\"numMinDelayRetries\":0,\"backoffFunction\":\"linear\"},\"disableSubscriptionOverrides\":false}}",
"EffectiveDeliveryPolicy": "{\"http\":{\"defaultHealthyRetryPolicy\":{\"minDelayTarget\":20,\"maxDelayTarget\":20,\"numRetries\":3,\"numMaxDelayRetries\":0,\"numNoDelayRetries\":0,\"numMinDelayRetries\":0,\"backoffFunction\":\"linear\"},\"disableSubscriptionOverrides\":false}}",
"TracingConfig": "PassThrough",
"ContentBasedDeduplication": "false",
"FifoTopic": "false"
}
}
}

List Opt Out Numbers

List all opt out numbers | key: listOptOutNumbers

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Next Token

The pagination token returned by a previous request to retrieve the next page of results.

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E

{
"data": {
"phoneNumbers": [
"+12125551001",
"+12125551002",
"+12125551003"
],
"nextToken": "AAEBAf/8v+7MSvN8MkD9xZHCrFKL6RQ7UHJ9PJhWOH5Yqvf1H8EXAMPLE"
}
}

List Subscriptions

Retrieve the subscriptions of an Amazon SNS Topic | key: listSubscriptions

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Fetch All

When set to true, fetches all paginated subscriptions. When false, only 100 subscriptions will be returned.

false
Next Token

The pagination token returned by a previous request to retrieve the next page of results.

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E
Topic ARN

The Amazon Resource Name (ARN) of the SNS topic. Learn more

arn:aws:sns:us-east-1:123456789012:MyExampleTopic

{
"data": {
"Subscriptions": [
{
"SubscriptionArn": "arn:aws:sns:us-east-1:123456789012:MyExampleTopic:a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"Owner": "123456789012",
"Protocol": "https",
"Endpoint": "https://example.com/webhook",
"TopicArn": "arn:aws:sns:us-east-1:123456789012:MyExampleTopic"
},
{
"SubscriptionArn": "arn:aws:sns:us-east-1:123456789012:MyExampleTopic:b2c3d4e5-f6a7-8901-bcde-f12345678901",
"Owner": "123456789012",
"Protocol": "sqs",
"Endpoint": "arn:aws:sqs:us-east-1:123456789012:MyQueue",
"TopicArn": "arn:aws:sns:us-east-1:123456789012:MyExampleTopic"
},
{
"SubscriptionArn": "PendingConfirmation",
"Owner": "123456789012",
"Protocol": "email",
"Endpoint": "admin@example.com",
"TopicArn": "arn:aws:sns:us-east-1:123456789012:MyExampleTopic"
},
{
"SubscriptionArn": "PendingConfirmation",
"Owner": "123456789012",
"Protocol": "sms",
"Endpoint": "+12125551234",
"TopicArn": "arn:aws:sns:us-east-1:123456789012:MyExampleTopic"
}
],
"NextToken": "AAEBAf/8v+7MSvN8MkD9xZHCrFKL6RQ7UHJ9PJhWOH5Yqvf1H8EXAMPLE"
}
}

List Topics

List available Amazon SNS Topics | key: listTopics

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Fetch All

When set to true, fetches all paginated topics. When false, only 100 topics will be returned.

false
Next Token

The pagination token returned by a previous request to retrieve the next page of results.

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E

{
"data": {
"Topics": [
{
"TopicArn": "arn:aws:sns:us-east-1:123456789012:MyExampleTopic"
},
{
"TopicArn": "arn:aws:sns:us-east-1:123456789012:AnotherTopic"
},
{
"TopicArn": "arn:aws:sns:us-east-1:123456789012:ProductionAlerts"
}
],
"NextToken": "AAEBAf/8v+7MSvN8MkD9xZHCrFKL6RQ7UHJ9PJhWOH5Yqvf1H8EXAMPLE"
}
}

Publish Batch Messages

Publishes up to ten messages to the specified Amazon SNS Topic | key: publishBatchMessages

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Message Entries

An array of message entries to publish in batch. Each entry must include an Id and Message. For binary messages, add a Template Field containing a Buffer to the BinaryValue attribute. Learn more

Topic ARN

The Amazon Resource Name (ARN) of the SNS topic. Learn more

arn:aws:sns:us-east-1:123456789012:MyExampleTopic

{
"data": {
"$metadata": {
"httpStatusCode": 200,
"requestId": "3df5ab1c-8e8a-426f-a2d1-bd7a39ef8651",
"attempts": 1,
"totalRetryDelay": 0
},
"Successful": [
{
"Id": "msg-1",
"MessageId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"SequenceNumber": "10000000000000001001"
},
{
"Id": "msg-2",
"MessageId": "d4e5f6a7-b8c9-0123-def1-234567890123",
"SequenceNumber": "10000000000000001002"
}
],
"Failed": [
{
"Id": "msg-3",
"Code": "InvalidParameter",
"Message": "Invalid message structure",
"SenderFault": true
}
]
}
}

Publish Message

Publish a message to an Amazon SNS Topic | key: publishMessage

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Message

The message content to send to the topic or endpoint. Learn more

Your order has been shipped!
Message Attributes

Optional message attributes as key-value pairs. The value will be automatically typed (String, Number, String.Array, or Binary for Buffer). For binary data, provide a Buffer from a previous step. Learn more

{"name": "John Doe", "age": "30"}
Topic ARN

The Amazon Resource Name (ARN) of the SNS topic. Learn more

arn:aws:sns:us-east-1:123456789012:MyExampleTopic

{
"data": {
"MessageId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"SequenceNumber": "10000000000000001000"
}
}

Publish SMS

Publish an SMS message to an Amazon SNS Topic | key: publishSms

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Message

The message content to send to the topic or endpoint. Learn more

Your order has been shipped!
Phone Number

The phone number in E.164 format (e.g., +12065551234) to receive SMS messages. Learn more

+12065551234

{
"data": {
"MessageId": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
}
}

Subscribe to Topic

Subscribe to an Amazon SNS Topic | key: subscribe

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Endpoint

The endpoint to receive notifications. Format depends on protocol: email address (email@example.com), URL (https://example.com), phone number (+12065551234), or ARN (arn:aws:sqs:us-east-1:123456789012:MyQueue). Learn more

https://example.com/webhook
Protocol

The protocol to use for delivering messages to the endpoint (application, email, email-json, firehose, http, https, lambda, sms, or sqs). Learn more

https
Topic ARN

The Amazon Resource Name (ARN) of the SNS topic. Learn more

arn:aws:sns:us-east-1:123456789012:MyExampleTopic

{
"data": {
"SubscriptionArn": "arn:aws:sns:us-east-1:123456789012:MyExampleTopic:a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}

Unsubscribe from a Topic

Unsubscribe from an Amazon SNS Topic | key: unsubscribe

InputNotesExample
Connection

The Amazon SNS connection to use.

AWS Region

AWS provides services in multiple regions, like us-west-2 or eu-west-1.

us-east-1
Subscription ARN

The Amazon Resource Name (ARN) of the subscription. Learn more

arn:aws:sns:us-east-1:123456789012:MyExampleTopic:12345678-1234-1234-1234-123456789012

{
"data": {}
}

Changelog

2025-12-02

Added a Topic Webhook trigger that automatically creates and manages webhook subscriptions for SNS topics

2025-06-05

Added inline data sources for topics and subscriptions to enhance data selection capabilities