> ## Documentation Index
> Fetch the complete documentation index at: https://koreai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon SNS Actions integration

[Back to list of integrations](https://koreai.mintlify.site/agent-platform/integrations/enterprise-systems.md)

Use the Amazon SNS integration to let agents publish messages to SNS topics through Action Tools. SNS then delivers each message to the topic's subscribers. Artemis signs each request with AWS SigV4.

| Authentication | Actions | Workflow triggers |
| - | - | - |
| AWS IAM (SigV4) | [1](#supported-actions) | None |

## Supported actions

Actions are Amazon SNS operations that an agent runs as Action Tools during a conversation. You can also run them from an [Integration node](https://koreai.mintlify.site/agent-platform/workflows.md#integration-node) in a workflow.

| Action | Use it to |
| - | - |
| [Send Message](#send-message) | Publish a message to an SNS topic. |

## Prerequisites

* At least one [SNS topic](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) with confirmed subscriptions.
* `sns:ListTopics` populates the **topic** dropdown. To restrict publishing, replace `*` in the publish statement with topic ARNs.

## Set up the integration

**1. Prepare AWS credentials**

Create an IAM role (recommended) or an IAM user with access keys, and attach a policy for the actions you use. For a role, add a trust policy that requires the **External ID** shown in the Artemis profile form. External agents require a role.

> [accordion] Sample permissions policy
>
> ```json theme={null}
> {
>   "Version": "2012-10-17",
>   "Statement": [
>     {
>       "Sid": "ArtemisSnsList",
>       "Effect": "Allow",
>       "Action": "sns:ListTopics",
>       "Resource": "*"
>     },
>     {
>       "Sid": "ArtemisSnsPublish",
>       "Effect": "Allow",
>       "Action": "sns:Publish",
>       "Resource": "*"
>     }
>   ]
> }
> ```

**2. Create the auth profile**

In **Integrations**, select **Amazon SNS** > **Connect**. On **Project Auth Profiles**, select **New Profile** > **Integration Profile** > **Amazon SNS** > **Continue**. Set **Usage Mode** to **Preconfigured**, choose **Credentials**, and select **Create Profile**.

> [tab] Assume role (recommended)
>
> | Field | Value |
> | - | - |
> | **Endpoint type** | **Custom AWS service** (the default, Bedrock AgentCore, doesn't apply) |
> | **Signing service** | `sns` |
> | **Region** | The Region of your topics, for example `us-east-1` |
> | **Role ARN** | ARN of the role you created |
> | **Session duration** | Optional. 900 to 3600 seconds (default 3600) |
> | **External ID** | Read only. Add it to the role's trust policy. |
>
> > [!WARNING]
> >
> > If the form shows **Platform AWS identity not configured**, ask your platform administrator to configure it, or use access keys.

> [tab] Access keys
>
> | Field | Value |
> | - | - |
> | **Region** | The Region of your topics |
> | **Signing service** | `sns` (pre-filled) |
> | **Access Key ID**, **Secret Access Key** | From the IAM user. Leave **Bucket**, **Endpoint**, and **Session Token** empty. |

**3. Create the action tool**

In **Tools**, select **New Tool** > **Action** > **Amazon SNS** > **Continue**. Select the **Action** and **Auth Profile**, set parameter defaults (leave a value empty for the agent to supply at runtime), and select **Create Tool**. Then [assign the tool to an agent](https://koreai.mintlify.site/agent-platform/tools/actions.md#assign-an-action-to-an-agent).

## Action reference

> [accordion] Send Message
>
> Publishes a message to an SNS topic.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `topic` | enum | Topic to publish to. |
> | `message` | string | Message content. |

## Troubleshoot common issues

| Issue | Resolution |
| - | - |
| The topic list is empty | Confirm that the **Region** matches the Region of your topics, and that the IAM policy includes `sns:ListTopics`. |
| `AuthorizationError` or `AccessDenied` | Add `sns:Publish` for the topic ARN to the IAM policy. |
| Publish succeeds, but subscribers receive nothing | Confirm the subscriptions are confirmed and that no subscription filter policy blocks the message. |
| Role profile fails or can't be tested | Confirm the trust policy includes the workspace **External ID** and the **Role ARN** is correct. |
| Requests fail with a signature error | Confirm **Signing service** is `sns` and the **Region** is correct. For Assume role, confirm **Endpoint type** is **Custom AWS service**. |

**Related articles:**

* [Enterprise systems integrations](https://koreai.mintlify.site/agent-platform/integrations/enterprise-systems.md)
* [Auth profiles](https://koreai.mintlify.site/agent-platform/administration/integrations-settings.md#auth-profiles)
* [Action Tools](https://koreai.mintlify.site/agent-platform/tools/actions.md)
* [Amazon SES Actions integration](https://koreai.mintlify.site/agent-platform/integrations/enterprise-systems/amazon-ses)
* [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.