How Marketo Uses the Salesforce API

Version 1

    Marketo calls to the Salesforce API

    During a single sync session, Marketo makes 25 API calls to check if your Salesforce objects need updating.  Because your Salesforce sync happens in 5 minute intervals (default setting), each day Marketo makes 7200 API calls to your account to see if any updates are needed.

    If there are updates, more API calls are used to sync the information.  Leads, Contacts, Accounts, Opportunities, Campaigns, and Activities are synced in batches of 200 per API call.

    If you use a Sync Lead to SFDC or Add to Campaign flow step, each one uses one API call per lead; the API call happens when the lead hits that flow step (instead of waiting for the next sync).

    Any activities you've synced from Marketo to Salesforce (like "Filled Out Form" or "Opened Email") use an extra API call per event.

    You can use these to estimate the number of API calls Marketo makes per day.  For example, if you have 1,000 Lead and Contact updates a day and 100 Account, Opportunity, and Campaign updates, you'll use:

    7200 (check for updates) +
    (1000 Lead updates / 200 per API call) +
    (1000 Contact updates / 200 per API call) +
    (100 Account updates / 200 per API call) +
    (100 Opportunity updates / 200 per API call) +
    (100 Campaign updates / 200 per API call) +

    7200 + 5 + 5 + 1 + 1 + 1 = 7213 API calls

    When you first sync your Salesforce account to Marketo, you'll use significantly more API calls until Marketo is up to date with your Salesforce instance.  After that, you can expect the API calls to be much lower unless you make large updates to your leads (in Marketo or Salesforce)

    API Calls and your Salesforce edition

    Salesforce determines your API call limit based on the edition and licenses you have. This document from Salesforce has information on how they calculate that limit.

    For many Salesforce users, particularly Enterprise Edition users, the number of API calls made by Marketo is usually not a problem.

    If you're using a more limited edition of Salesforce or don't have many Salesforce licenses, you may hit the daily limit on your API calls.  In that case, please contact Marketo Support and ask us to decrease your sync interval.  At a 30 minute sync interval, Marketo uses around 1000 API calls per day, well under the limit for nearly every Salesforce edition.

    To see your API limit (per 24 hour period) and your current usage (for past 24 hours) in SFDC,  navigate to:

    Setup -> Administration Setup -> Company Profile -> Company Information

    Look for the field called "API Requests, Last 24 Hours", which will display API usage for the past 24-hour period as well as your current 24-hour limit (in parenthesis).

    Order of Events during SFDC Sync

    Marketo will sync your SFDC and Marketo objects in the following order:

    • Lead: synch schema
    • Account: synch schema
    • Contact: synch schema
    • User: synch schema
    • Task: synch schema
    • Opportunity: synch schema
    • Opportunity Contact Role: synch schema
    • Campaign: synch schema
    • Campaign Member: synch schema
    • Campaign Member Status: synch schema
    • Lead: pull conversions
    • Account: pull deletes
    • Account: pull updates
    • User: pull updates
    • Lead Queue: pull updates
    • Lead Status: pull updates
    • Account Type: pull updates
    • Lead: pull deletes
    • Contact: pull deletes
    • Lead: pull updates
    • Contact: pull updates
    • Lead: push updates
    • Contact: push updates
    • Campaign: pull deletes
    • Campaign Member: pull deletes
    • Campaign Member Status: pull deletes
    • Campaign: pull updates
    • Campaign Member: pull updates
    • Campaign Member Status: pull updates
    • Opportunity: pull deletes
    • Opportunity Contact Role: pull deletes
    • Opportunity: pull updates
    • Opportunity Contact Role: pull updates
    • Event: pull updates
    • Task: pull updates
    • Email Template: push new
    • Email Template: push updates
    • Task: push new
    • Task: push updates