Connect to Amazon SNS
Learn how to connect Amazon SNS to Retool.
You can use the SNS integration to create a resource and make it available in Retool. Once complete, your users can write queries that interact with SNS data.
You can use the Amazon SNS integration in apps and workflows to publish messages to a topic. Once configured, you can subscribe to the topic using Amazon SQS, enabling you to use Retool's SQS integration to respond to events in your apps and workflows.
Requirements
The SNS integration requirements depend on whether you have a cloud-hosted or self-hosted Retool organization. You may also need to make SNS configuration changes before creating the resource.
- Cloud-hosted organizations
- Self-hosted organizations
Sufficient user permissions to create resources
All users for Retool organizations on Free or Team plans have global Edit permissions and can add, edit, and remove resources. If your organization manages user permissions for resources, you must be a member of a group with Edit all permissions.
Allow Retool to access the data source
If the data source is behind a firewall or restricts access based on IP address, then you must ensure that your Retool organization can access it. If necessary, configure your data source to allow access from Retool's IP addresses.
3.77.79.248/30
35.90.103.132/30
44.208.168.68/30
3.77.79.249
3.77.79.250
35.90.103.132
35.90.103.133
35.90.103.134
35.90.103.135
44.208.168.68
44.208.168.69
44.208.168.70
44.208.168.71
Retool is building support for querying firewalled resources without allowlisting Retool’s IP address. To learn more or be considered for early access, contact cloud-connect@retool.com.
SNS settings and authentication
You must have sufficient access and familiarity with your SNS data source so you can provide:
- Required connection settings (e.g., URL and server variables).
- Authentication credentials (e.g., API keys).
In some cases, you may need to make changes to your SNS configuration, such as generating authentication credentials or allowing access through a firewall. Refer to the configuration and authentication sections to learn more.
Set up SNS policy credentials
Set up an Amazon SNS topic for Retool to access. Generate an SNS policy for that resource with rights to the following actions:
"Effect":"Allow",
"Action":[
"sns:ListTopics",
"sns:Publish"
]
Sufficient user permissions to create resources
All users for Retool organizations on Free or Team plans have global Edit permissions and can add, edit, and remove resources. If your organization manages user permissions for resources, you must be a member of a group with Edit all permissions.
Allow your deployment to access the data source
Your self-hosted deployment must have access to the data source. Ensure that any potential firewall rules for either the data source or your deployment instance are updated to allow them to communicate.
SNS settings and authentication
You must have sufficient access and familiarity with your SNS data source so you can provide:
- Required connection settings (e.g., URL and server variables).
- Authentication credentials (e.g., API keys).
In some cases, you may need to make changes to your SNS configuration, such as generating authentication credentials or allowing access through a firewall. Refer to the configuration and authentication sections to learn more.
Set up SNS policy credentials
Set up an Amazon SNS topic for Retool to access. Generate an SNS policy for that resource with rights to the following actions:
"Effect":"Allow",
"Action":[
"sns:ListTopics",
"sns:Publish"
]
Configure the resource
Sign in to your Retool organization and navigate to the Resources tab. Click Create new > Resource, then select SNS.
Configuration
Specify the name, location, and description to use for your SNS resource. Retool displays the resource name and type in query editors to help users identify them.
Provide the following configuration settings to create the resource. Depending on how your data source is configured, you may also need to provide optional settings for Retool to connect.
- Cloud-hosted organizations
- Self-hosted organizations
Name
The name to use for the resource.
Description
A description of the resource.
Override default outbound Retool region
Retool connects to your data source from the us-west-2
region. Choosing a different outbound region can improve performance through geographic proximity.
Region | Location |
---|---|
us-west-2 | US West (Oregon) |
eu-central-1 | (Frankfurt, Germany) |
Name
The name to use for the resource.
Description
A description of the resource.
Authentication
The SNS integration supports the following authentication methods. Depending on which authentication method you use, you may need to make changes to your SNS configuration.
- Cloud-hosted organizations
- Self-hosted organizations
AWS Identity and Access Management
Authentication is performed using the provided AWS security credentials. You must be able to obtain and provide these credentials to create the resource.
Region
The AWS region with which to connect (e.g., us-east-1
). This is often part of the base URL.
Region | Location |
---|---|
us-east-1 | US East (N. Virginia) |
us-east-2 | US East (Ohio) |
us-west-1 | US West (N. California) |
us-west-2 | US West (Oregon) |
af-south-1 | Africa (Cape Town) |
ap-east-1 | Asia Pacific (Hong Kong) |
ap-northeast-1 | Asia Pacific (Tokyo) |
ap-northeast-2 | Asia Pacific (Seoul) |
ap-northeast-3 | Asia Pacific (Osaka) |
ap-south-1 | Asia Pacific (Mumbai) |
ap-south-2 | Asia Pacific (Bahrain) |
ap-southeast-1 | Asia Pacific (Singapore) |
ap-southeast-2 | Asia Pacific (Sydney) |
ap-southeast-3 | Asia Pacific (Jakarta) |
ap-southeast-4 | Asia Pacific (Hong Kong) |
ca-central-1 | Canada (Central) |
eu-central-1 | Europe (Frankfurt) |
eu-central-2 | Europe (Warsaw) |
eu-north-1 | Europe (Stockholm) |
eu-south-1 | Europe (Milan) |
eu-south-2 | Europe (London) |
eu-west-1 | Europe (Ireland) |
eu-west-2 | Europe (London) |
eu-west-3 | Europe (Paris) |
me-central-1 | Middle East (Bahrain) |
me-south-1 | Middle East (Bahrain) |
sa-east-1 | South America (São Paulo) |
us-gov-east-1 | AWS GovCloud (US-East) |
us-gov-west-1 | AWS GovCloud (US-West) |
Access key ID
The access key ID with which to authenticate.
Secret key ID
The secret key ID with which to authenticate.
Role to assume (ARN)
A different role to use for accessing the API.
AWS Identity and Access Management
Authentication is performed using the provided AWS security credentials. You must be able to obtain and provide these credentials to create the resource.
Credential provider chain
Authentication is performed using AWS credentials sourced from the credential provider chain. Use this option to authenticate with credentials provided in environment variables or the underlying instance role.
Region
The AWS region with which to connect (e.g., us-east-1
). This is often part of the base URL.
Region | Location |
---|---|
us-east-1 | US East (N. Virginia) |
us-east-2 | US East (Ohio) |
us-west-1 | US West (N. California) |
us-west-2 | US West (Oregon) |
af-south-1 | Africa (Cape Town) |
ap-east-1 | Asia Pacific (Hong Kong) |
ap-northeast-1 | Asia Pacific (Tokyo) |
ap-northeast-2 | Asia Pacific (Seoul) |
ap-northeast-3 | Asia Pacific (Osaka) |
ap-south-1 | Asia Pacific (Mumbai) |
ap-south-2 | Asia Pacific (Bahrain) |
ap-southeast-1 | Asia Pacific (Singapore) |
ap-southeast-2 | Asia Pacific (Sydney) |
ap-southeast-3 | Asia Pacific (Jakarta) |
ap-southeast-4 | Asia Pacific (Hong Kong) |
ca-central-1 | Canada (Central) |
eu-central-1 | Europe (Frankfurt) |
eu-central-2 | Europe (Warsaw) |
eu-north-1 | Europe (Stockholm) |
eu-south-1 | Europe (Milan) |
eu-south-2 | Europe (London) |
eu-west-1 | Europe (Ireland) |
eu-west-2 | Europe (London) |
eu-west-3 | Europe (Paris) |
me-central-1 | Middle East (Bahrain) |
me-south-1 | Middle East (Bahrain) |
sa-east-1 | South America (São Paulo) |
us-gov-east-1 | AWS GovCloud (US-East) |
us-gov-west-1 | AWS GovCloud (US-West) |
Access key ID
The access key ID with which to authenticate.
Secret key ID
The secret key ID with which to authenticate.
Role to assume (ARN)
A different role to use for accessing the API.
Test the connection
Click Test Connection to verify that Retool can successfully connect to the data source. If the test fails, check the resource settings and try again.
Testing a connection only checks whether Retool can successfully connect to the resource. It cannot check whether the provided credentials have sufficient privileges or can perform every supported action.
Save the resource
Click Create resource to complete the setup. You can then click either Create app to immediately start building a Retool app or Back to resources to return to the list of resources.
Enable the Java DB Connector
For Retool Self-hosted users, Retool provides a Java DBConnector, designed to enhance the performance and stability of certain integrations. This connector is required for the Amazon SQS, Databricks, and Kafka connectors.
The instructions for enabling the Java DB connector differ based on whether you use Helm as a package manager:
- With Helm
- Without Helm
Run helm search repo retool/retool
to check the current version of Retool's Helm chart that is installed. Use helm upgrade
to then upgrade the Helm chart version, if required.
helm upgrade -f values.yaml my-retool retool/retool --version
Next, add the following to values.yaml
:
dbconnector:
java:
enabled: true
Restart your Retool deployment instance for these changes to take effect.
Set the DISABLE_JAVA_DBCONNECTOR
environment variable to true
, then Restart your Retool instance for these changes to take effect.
Next steps
Your SNS resource is now ready to use. Check out related queries and code documentation to learn how to interact with SNS data.
Queries and code quickstart
Fundamental concepts of queries and code.
Resource query tutorial
Hands-on introduction to querying APIs and databases.
Explore database schemas
Learn how to explore database schemas.
Read SQL data
Learn how to retrieve data with SQL.
Write SQL data
Learn how to write data with SQL.