<!-- BusyBot node reference — https://busybot.net/tools/aws-sns-trigger/ -->

> Node: AWS SNS Trigger (`aws_sns_trigger`) · Webhook trigger · v1
> Category: Data & Storage · Credentials: AWS (`aws`)
> Updated: 2026-08-16

# 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

| Direction | Port(s) |
|-----------|--------|
| Input | None (trigger node) |
| Output | `Output` |

## Credentials

This tool requires **AWS** credentials.
See the [Credentials Guide](https://busybot.net/credentials/aws/) for setup instructions.

### Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Topic ARN | `string` | Yes | — | The 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:

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

Listen to a CloudWatch alarm topic in another region:

```json
{
  "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.