Yamam.io is a great tool to automate Salesforce integration with other services on the web, as long as these solutions have their REST API to receive data, the integration process can be painless and fast using Yamam.io. You can configure your Salesforce ORG to broadcast data automatically whenever an event has occurred, then Yamam post the event data and its metadata to the Url you have specified previously during the configuration , from this point, you can process the data received and inject it wherever you need to. Back to Top
-
A Working Salesforce ORG:
if you don't have a Salesforce account you can get a Salesforce Developer account here. once you have your Salesforce ORG you need to find the following elements:
- Your login
- Your password
- Your Security token, see how to find your security code
-
A Configured Connected application with relaxed IP restrictions:
If you already have a connected application you can use it, but don't forget to relax its IP restrictions.
If you don't have one,see how create one.Once you have your connected application ready find the following elements:- CUSTOMER KEY
- SECRET KEY
-
Yamam.io subscription with enough Yamams:
If you don't have an account, please create one here
-
A valid HTTPS URL that support POST method to receive your data:
Once all the requirements are satisfied follow these steps to get started Quickly:
-
Click 'ADD NEW STATION' to create your first station:
-
Enter all needed information to connect your station to Salesforce:
-
Your dashboard should look like this after creating your station:
-
Click 'ADD CHANNEL' to create your first channel:
Specify what type of events you want to listen to (create,update or delete) records, note that Yamam will notify only about the fields you specified in the query and not about all the fields in the object
-
Configure your channel using the interface:
Add all the fields you want to monitor and put conditions on them if you wish
-
Click 'Create Channel' to create & submit the channel creation request:
-
Now your dashboard should look like this after Channel creation:
-
Click on 'ADD RECEIVER' to create a receiver:
-
Enter a name and the Url:
Note that the url should be over HTTPS for security reasons
-
Finally, your dashboard should be this:
-
Now you are ready to start a broadcast, you can start it by Clicking on the Radio Tower button in the station controls, then click 'initiate'
-
Once the broadcast has been started successfully your dashboard should look like this
-
Now you can click on the monitoring button in the station controls, so you can verify if the broadcast sends the right data to your webhook
-
After every successful post request to your webhook url Yamam log all the information needed to debug the process
-
Click on the log to view the post data & metadata
if you don't have a Salesforce account you can get a Salesforce Developer account here. once you have your Salesforce ORG you need to find the following elements:
- Station: In Yamam.io context a station is an extension of a Salesforce connected application
- Channel: Technically a channel is a SOQL query to filter the events that we wish to listen to from our ORG
- Receiver: An HTTPS url
The following SOQL statements are not supported in Channels queries.
-
Queries without an Id in the selected fields list
-
Semi-joins and anti-joins
- Example query:
SELECT Id, Name FROM Account WHERE Id IN (SELECT AccountId FROM Contact WHERE Title = 'CEO')
- Example query:
-
Semi-joins and anti-joins
- Example query:
SELECT Id, Name FROM Account WHERE Id IN (SELECT AccountId FROM Contact WHERE Title = 'CEO')
- Example query:
-
Aggregate queries (queries that use AVG, MAX, MIN, and SUM)
- Example query:
SELECT Id, AVG(AnnualRevenue) FROM Account
- Example query:
-
COUNT
- Example query:
SELECT Id, Industry, Count(Name) FROM Account
- Example query:
-
LIMIT
- Example query:
SELECT Id, Name FROM Contact LIMIT 10
- Example query:
-
Relationships aren’t supported, but you can reference an ID
- Example query:
SELECT Id, Contact.Account.Name FROM Contact
- Example query:
-
Searching for values in Text Area fields
-
ORDER BY
- Example query:
SELECT Id, Name FROM Account ORDER BY Name
- Example query:
-
GROUP BY
- Example query:
SELECT Id, AccountId FROM Contact GROUP BY AccountId
- Example query:
-
NOT
- Example query:
SELECT Id FROM Account WHERE NOT Name = 'google.com'
- Example query:
-
OFFSET
- Example query:
SELECT Id, Name FROM Account WHERE City = 'New York' OFFSET 10
- Example query:
-
TYPEOF
- Example query:
SELECT TYPEOF Owner WHEN User THEN LastName ELSE Name END FROM Case
- Example query:
-
All custom objects
-
The following standard objects:
- Account
- Campaign
- Case
- Contact
- ContractLineItem
- Entitlement
- Lead
- LiveChatTranscript
- MessagingSession
- Opportunity
- Quote
- QuoteLineItem
- ServiceAppointment
- ServiceContract
- Task
- UserServicePresence
- WorkOrder
- WorkOrderLineItem