Tutorial: Send events to Salesforce from Amazon EventBridge
You can use EventBridge to route events to third-party
services, such as Salesforce
In this tutorial, you'll use the EventBridge console to create a connection to Salesforce, an API destination that points to Salesforce, and a rule to route events to Salesforce.
Steps:
Prerequisites
To complete this tutorial, you'll need the following resources:
An EventBridge-enabled Amazon Simple Storage Service (Amazon S3) bucket.
Step 1: Create connection
To send events to Salesforce, you'll first have to establish a connection to the Salesforce API.
To create the connection
Open the Amazon EventBridge console at https://console.aws.amazon.com/events/
. -
In the navigation pane, choose API destinations.
-
Choose the Connections tab, and then choose Create connection.
-
Enter a name and description for the connection. For example, enter
Salesforce
as a name, andSalesforce API Connection
as a description. -
For Destination type, choose Partners and for Partner Destinations, select Salesforce from the drop-down list.
-
For Authorization endpoint, enter one of these:
-
If you're using a production org, enter
https://
MyDomainName
.my.salesforce.com./services/oauth2/token -
If you're using a sandbox without enhanced domains, enter
https://
MyDomainName
--SandboxName
.my. salesforce.com/services /oauth2/token -
If you're using a sandbox with enhanced domains, enter
https://
MyDomainName
--SandboxName
.sandbox.my.salesforce.com/services/oauth2/token
-
-
For HTTP method, choose POST from the drop-down list.
-
For Client ID, enter the client ID from your Salesforce connected app.
-
For Client secret, enter the client secret from your Salesforce connected app.
-
For OAuth Http Parameters, enter the following key/value pair:
Key Value grant_type
client_credentials
-
Choose Create.
Step 2: Create API destination
Now that you've created the connection, next you'll create the API destination to use as the target of the rule.
To create the API Destination
Open the Amazon EventBridge console at https://console.aws.amazon.com/events/
. -
In the navigation pane, choose API destinations.
-
Choose Create API destination.
-
Enter a name and description for the API destination. For example, enter
SalesforceAD
for the name, andSalesforce API Destination
for the description.. -
For API destination endpoint, enter
https://
where Myevent__e is the platform event where you want to send information.MyDomainName
.my.salesforce.com/services/data/v54.0/sobjects/MyEvent__e
-
For HTTP method, choose POST from the drop-down list.
-
For Invocation rate limit, enter
300
. -
For Connection, choose Use an existing connection and choose the
Salesforce
connection you created in step 1. -
Choose Create.
Step 3: Create rule
Next, you'll create a rule to send events to Salesforce when an Amazon S3 object is created.
To create a rule
Open the Amazon EventBridge console at https://console.aws.amazon.com/events/
. -
In the navigation pane, choose Rules.
-
Choose Create rule.
-
Enter a name and description for the rule. For example, enter
SalesforceRule
for the name, andRule to send events to Salesforce for S3 object creation
for the description. -
For Event bus, choose default.
-
For Rule type, choose Rule with an event pattern.
-
Choose Next.
-
For Event source, choose Other.
-
For Event pattern, enter the following:
{ "source": ["aws.s3"] }
-
Choose Next.
-
For Target types, choose EventBridge API destination.
-
For API destination, choose Use an existing API destination, and then choose the
SalesforceAD
destination you created in step 2. -
For Execution role, choose Create a new for role for this specific resource.
-
For Additional settings, do the following:
-
For Configure target input, choose Input transformer from the drop-down list.
-
Choose Configure input transformer
-
for Sample events, enter the following:
{ "detail":[] }
-
For Target input transformer do the following:
-
For Input Path, enter the following:
{"detail":"$.detail"}
-
For Input Template, enter the following:
{"message": <detail>}
-
Choose Confirm..
-
-
Choose Next.
-
Choose Next.
-
Review the details of the rule and choose Create rule.
Step 4: Test the rule
To test your rule, create an Amazon S3 object by uploading a file to an EventBridge-enabled bucket. The information about the created object will be sent to the Salesforce platform event.
Step 5: Clean up your resources
You can now delete the resources that you created for this tutorial, unless you want to retain them. By deleting AWS resources that you are no longer using, you prevent unnecessary charges to your AWS account.
To delete the EventBridge Connections(s)
-
Open the API destination page
of the EventBridge console. -
Choose the Connections tab.
-
Select the Connection(s) you created.
-
Choose Delete.
-
Enter the name of the connection and choose Delete.
To delete the EventBridge API destination(s)
-
Open the API destination page
of the EventBridge console. -
Select the API destinations(s) you created.
-
Choose Delete.
-
Enter the name of the API destination and choose Delete.
To delete the EventBridge rule(s)
-
Open the Rules page
of the EventBridge console. -
Select the rule(s) that you created.
-
Choose Delete.
-
Choose Delete.