Introduction

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

Requirements
  1. 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
  2. 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
  3. Yamam.io subscription with enough Yamams:

    If you don't have an account, please create one here

  4. A valid HTTPS URL that support POST method to receive your data:

Quick Start

Once all the requirements are satisfied follow these steps to get started Quickly:

  1. Click 'ADD NEW STATION' to create your first station:

  2. Enter all needed information to connect your station to Salesforce:

  3. Your dashboard should look like this after creating your station:

  4. 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

  5. Configure your channel using the interface:

    Add all the fields you want to monitor and put conditions on them if you wish

  6. Click 'Create Channel' to create & submit the channel creation request:

  7. Now your dashboard should look like this after Channel creation:

  8. Click on 'ADD RECEIVER' to create a receiver:

  9. Enter a name and the Url:

    Note that the url should be over HTTPS for security reasons

  10. Finally, your dashboard should be this:

  11. 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'

  12. Once the broadcast has been started successfully your dashboard should look like this

  13. 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

  14. After every successful post request to your webhook url Yamam log all the information needed to debug the process

  15. Click on the log to view the post data & metadata

Concepts

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:

Unsupported Queries

The following SOQL statements are not supported in Channels queries.

  1. Queries without an Id in the selected fields list

  2. Semi-joins and anti-joins

    • Example query: SELECT Id, Name FROM Account WHERE Id IN (SELECT AccountId FROM Contact WHERE Title = 'CEO')
  3. Semi-joins and anti-joins

    • Example query: SELECT Id, Name FROM Account WHERE Id IN (SELECT AccountId FROM Contact WHERE Title = 'CEO')
  4. Aggregate queries (queries that use AVG, MAX, MIN, and SUM)

    • Example query: SELECT Id, AVG(AnnualRevenue) FROM Account
  5. COUNT

    • Example query: SELECT Id, Industry, Count(Name) FROM Account
  6. LIMIT

    • Example query: SELECT Id, Name FROM Contact LIMIT 10
  7. Relationships aren’t supported, but you can reference an ID

    • Example query: SELECT Id, Contact.Account.Name FROM Contact
  8. Searching for values in Text Area fields

  9. ORDER BY

    • Example query: SELECT Id, Name FROM Account ORDER BY Name
  10. GROUP BY

    • Example query: SELECT Id, AccountId FROM Contact GROUP BY AccountId
  11. NOT

    • Example query: SELECT Id FROM Account WHERE NOT Name = 'google.com'
  12. OFFSET

    • Example query: SELECT Id, Name FROM Account WHERE City = 'New York' OFFSET 10
  13. TYPEOF

    • Example query: SELECT TYPEOF Owner WHEN User THEN LastName ELSE Name END FROM Case
Supported Salesforce objects
  1. All custom objects

  2. The following standard objects:

    • Account
    • Campaign
    • Case
    • Contact
    • ContractLineItem
    • Entitlement
    • Lead
    • LiveChatTranscript
    • MessagingSession
    • Opportunity
    • Quote
    • QuoteLineItem
    • ServiceAppointment
    • ServiceContract
    • Task
    • UserServicePresence
    • WorkOrder
    • WorkOrderLineItem