Amazon EventBridge is a serverless, fully managed, and scalable event bus that enables integrations between AWS services, Software as a services (SaaS), and your applications.
Hightouch integrates directly with Amazon EventBridge to support high-throughput, distributed, or asynchronous workloads, letting you build a custom connector to your internal systems.
This destination was designed to be as flexible as possible. You can publish into different buses, have custom sources attributes and detail types for each message trigger allowing you to enrich your events.
When setting up the Amazon EventBridge destination for the first time, you need to enter your AWS Credentials to give Hightouch access to your AWS account. Hightouch needs permission to send events to Amazon EventBridge on your behalf.
Hightouch believes in the principle of least privilege. We ask for no more permissions than necessary. For the Amazon EventBridge destination, Hightouch requires events:PutEvents and events:ListEventBuses.
When configuring your credentials in Hightouch, you have two options:
Cross-account roles are the most secure method for granting Hightouch access to Amazon EventBridge in your AWS account.
You need the Account ID and External ID in the Hightouch UI to set up a cross-account role.
In the AWS Console, navigate to IAM → Roles.
Click Create Role.
Under Trusted entity type, choose AWS account.
Select Another AWS account and also click Require external ID.
Copy/paste the Account ID from Hightouch into the Account ID field in AWS.
Copy/paste the External ID from Hightouch into the External ID field in AWS.
On the Add permissions screen, proceed to attach permissions to the role using any policy that includes at least events:PutEvents and events:ListEventBuses.
Copy/paste the Role ARN from AWS into Hightouch. Click Create to finish setting up your cross-account role.
If you don't want to create a cross-account role, you can create a regular IAM user and share a Access Key ID and Secret Access Key with Hightouch.
Be sure to attach the user to a permission policy that include events:PutEvents and events:ListEventBuses for the specific resource you want to use via a Hightouch sync.
Once you've authenticated your AWS account in Hightouch and selected an AWS Region, you've completed setup for an Amazon EventBridge destination in your Hightouch workspace. The next step is to configure a sync that send events whenever rows are added, changed, or removed in your model.
Hightouch monitors your data model for added, changed, and removed rows. In this step, you specify which of these events should trigger message publishing.
In this step, you tell Hightouch what value to put for the source and detail-type attribute in EventBridge for the event. More information can be found here on what these fields mean can be found in the AWS docs.
With the JSON editor, you can compose any JSON object using the Liquid template language. This is particularly useful for complex message data bodies containing nested objects and arrays, which can sometimes be difficult to model entirely in SQL.
This makes it so you can reference any column using the syntax {{row.column_name}}. You can also use advanced Liquid features to incorporate control flow and loops into your dynamic message data.
When injecting strings into your JSON request body, be sure to surround the
Liquid tag in double quotes.
If you're already storing JSON data in your source, or if you have the ability to construct a JSON object using SQL, you can select one column in your model that already contains the full message data.
This setting is commonly used when syncing web events that have already been collected and stored as JSON objects in your database.
In this step, you tell Hightouch how to handle rows present in your model results during the first sync run.
Certain workflows may require performing a backfill of all rows during the initial sync. For other use cases, you might only want to send messages in response to future data changes.
To date, our customers haven't experienced any errors while using this destination. If you run into any issues, please don't hesitate to . We're here to help.
Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.