Reference · Tools

AWS SNS Trigger

Starts workflow when an Amazon SNS topic receives a notification

Webhook trigger Data & Storage v1

The AWS SNS Trigger node starts a workflow the moment a message is published to an Amazon SNS topic. It handles the SNS subscription handshake automatically, so you can build pipelines that react to infrastructure alerts, application events, or cross-service notifications without managing confirmation logic yourself. A common use case is routing CloudWatch alarm notifications into a Slack message or incident ticket.

Node type
Webhook trigger
Parameters
1
Outputs
Output
Credentials
AWS

AWS SNS Trigger

Trigger workflows on Amazon SNS notifications

Overview

The AWS SNS Trigger node starts a workflow when messages are published to an Amazon Simple Notification Service (SNS) topic. It subscribes a webhook endpoint to the specified SNS topic and handles the full subscription lifecycle: SubscriptionConfirmation (auto-confirmed), Notification (triggers workflow), and UnsubscribeConfirmation (ignored). The incoming SNS notification payload includes MessageId, TopicArn, Subject, Message, Timestamp, and signature fields. Supports both IAM and Assume Role authentication. The topic can be specified by ARN directly or selected from a list.

Category: Data & Storage
Tool Name: aws_sns_trigger
Version: 1

Appearance: Icon: lucide-Server | Color: #ff9900

Node Type

Trigger — webhook (receives incoming HTTP callbacks)

Input / Output

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires AWS credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
Topic ARNstringYesThe ARN of the SNS topic to subscribe to. Format: arn:aws:sns:{region}:{account-id}:{topic-name}

Output Data

Each SNS notification produces one output item with the fields SNS delivers:

  • Type — the SNS message type, Notification for delivered messages
  • MessageId — the SNS message ID
  • TopicArn — the topic the message was published to
  • Subject — the message subject, empty when the publisher did not set one
  • Message — the message body, delivered as a string
  • Timestamp — when SNS published the message
  • SignatureVersion, Signature, SigningCertURL — the SNS signature fields
  • UnsubscribeURL — the SNS unsubscribe link for this subscription
  • MessageAttributes — the publisher’s message attributes, {} when none were set
  • _trigger — always aws_sns_webhook
  • _timestamp — ISO 8601 timestamp of when the request arrived
  • _webhookEvent — the SNS message type

Message arrives as text even when the publisher sent JSON — services such as CloudWatch and S3 publish a JSON document inside it. Parse it downstream before addressing its fields, for example with a Code node.

SNS SubscriptionConfirmation and UnsubscribeConfirmation messages are handled by the node and do not start the workflow.

Reference the payload downstream by expression, e.g. {{ $json.Subject }} or {{ $json.Message }}.

Usage Examples

  • Start a workflow when a message is published to an SNS topic
  • Process CloudWatch alarm notifications sent through SNS
  • Handle S3 event notifications routed via SNS
  • React to infrastructure events from AWS services via SNS
  • Fan out event processing from a central SNS topic

Example Configuration

Subscribe to a topic:

{
  "type": "aws_sns_trigger",
  "parameters": {
    "topic": "arn:aws:sns:us-east-1:123456789012:my-topic"
  }
}

Listen to a CloudWatch alarm topic in another region:

{
  "type": "aws_sns_trigger",
  "parameters": {
    "topic": "arn:aws:sns:eu-west-1:123456789012:cloudwatch-alarms"
  }
}

Trigger Behavior

  • Activation: When the workflow is activated, a webhook endpoint is registered with the service.
  • Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
  • Payload: The incoming webhook payload is parsed and output as workflow items.
  • Verification: Supports signature verification where applicable.

Tips

The AWS SNS Trigger subscribes to an Amazon SNS topic and starts a workflow when notifications arrive. Provide your AWS credentials and specify the SNS topic ARN. When the webhook is activated, it automatically handles the SNS SubscriptionConfirmation handshake. Each notification triggers the workflow with the full SNS message payload including Subject, Message, and metadata.

  • The topic’s region comes from the ARN, and your credentials must reach it. Set the credential’s region to the same region the topic lives in.
  • Permissions. Activation and deactivation call three SNS actions — Subscribe, ListSubscriptionsByTopic, and Unsubscribe. The credential must be allowed to perform all three on the topic.
  • Confirmation is automatic but not instant. SNS keeps the subscription in a pending state until it has confirmed the endpoint; messages published before confirmation are not delivered.
  • Topic ARNs must not contain spaces, and the workflow’s webhook URL must not either — SNS rejects the subscription.

Frequently asked questions

What AWS permissions does my credential need for this node to work?

The credential must be allowed to call three SNS actions on the target topic: `sns:Subscribe`, `sns:ListSubscriptionsByTopic`, and `sns:Unsubscribe`. Subscribe is called when the workflow is activated, ListSubscriptionsByTopic is used to locate the existing subscription, and Unsubscribe is called when the workflow is deactivated. Missing any one of these will cause activation or deactivation to fail.

Do I need to manually confirm the SNS subscription after activating the workflow?

No. When BusyBot registers the webhook, AWS sends a SubscriptionConfirmation request to the endpoint, and the node handles that handshake automatically. However, SNS keeps the subscription in a pending state until confirmation completes, so any messages published in that brief window will not be delivered to your workflow.

My SNS topic is in us-west-2 but my credential is set to us-east-1. Will that work?

No. The node derives the topic's region from the ARN itself, but your AWS credential must be configured for that same region to reach the SNS endpoint. Set the credential's region to match the region in your topic ARN, otherwise the Subscribe call will fail or target the wrong endpoint.

What data does the workflow actually receive when a notification arrives?

The output contains the full SNS notification payload, which includes fields like MessageId, TopicArn, Subject, Message, Timestamp, and SNS signature fields. The Message field typically holds the body of whatever was published to the topic — for example, a JSON string from CloudWatch or a plain-text alert from another service.

Are there any formatting rules I need to follow for the topic ARN?

Yes. The topic ARN must contain no spaces, and the BusyBot webhook URL that SNS calls back must contain no spaces either. SNS will reject the subscription request if either URL contains a space. You can specify the topic by pasting the ARN directly or by selecting it from a list populated using your credentials.

Build with the AWS SNS Trigger node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need AWS credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.