Integrations

Salesforce

Send Target Account intent from Leapio to the matching account in Salesforce, so your reps see the latest signal without leaving the CRM.

The Salesforce integration writes Target Account intent onto the matching account in Salesforce. When a signal fires for a target account, Leapio updates that account with the latest signal, how strong it was, when it happened, a short summary, and a link back to Leapio. Leapio writes accounts only. It never creates or changes contacts, leads, or people.

Salesforce is in early access on the Pro plan and higher; email support@leapio.com to turn it on.

What Leapio Writes

Leapio writes six fields on the Salesforce account. They come with the Leapio package, so Leapio never creates fields in your org.

FieldAPI nameTypeWhat it holds
Leapio Company IDlogspot__Company_Id__cText, unique External IDThe Leapio company this account is linked to.
Leapio Latest Signallogspot__Latest_Signal__cTextThe most recent signal, such as High-Intent Page Visit.
Leapio Signal Strengthlogspot__Signal_Strength__cNumberThe strength of that signal, from 1 (low) to 3 (high).
Leapio Signal Timelogspot__Signal_Time__cDate and timeWhen the signal happened.
Leapio Intent Summarylogspot__Intent_Summary__cLong textA short summary, such as High-Intent Page Visit: /pricing (Strength 3/3).
Leapio Linklogspot__Link__cURLOpens the account in Leapio.

You can keep these Leapio fields, or point any field at one of your own custom Account fields. Leapio Company ID always uses its own Leapio field, since it is the key that ties the two records together. Don't edit it.

With Log Activity on (the default), Leapio also adds a completed task to the account for each signal, such as Leapio: High-Intent Page Visit, with the summary, the strength and a link back to Leapio. The fields always show the latest signal; the tasks keep the history on the account's activity timeline. Turn Log Activity off on the action if you only want the fields.

The signals that reach Salesforce are the account-level intent signals: Target Account Visited, High-Intent Page Visit, Return Visit, Usage Spike, and Custom Rule Matched.

Before You Start

Salesforce Editions

Leapio needs API access in your Salesforce org. API access is on by default in Enterprise, Performance, Unlimited, and Developer Edition orgs, and Professional Edition orgs can add it as an add-on. The user who connects Leapio also needs Salesforce's API Enabled permission. See Salesforce's Supported Editions and Required Permissions.

Install the Leapio Package

A Salesforce admin installs the Leapio package in each org you want to connect, production or sandbox. During early access, we send you the package install link. Open it, sign in to that org, and follow Salesforce's steps to install it. Salesforce shows a notice that the package isn't authorized for distribution, because Leapio distributes it directly rather than through AppExchange. Confirm the notice to continue.

The package adds three things to your org: the six Leapio fields on Account, two permission sets, and Leapio's External Client App, which is what you connect through. It has no Apex code and no screens of its own. Leapio does all its work from its own servers.

Assign the Permission Sets

Assign the permission sets to the Salesforce user who will connect Leapio:

  • Leapio Integration: always. It lets Leapio read accounts and their Website, edit accounts, write the six Leapio fields, and log tasks for Log Activity. It can't create or delete accounts.
  • Leapio Create Accounts: only if your actions use Create Missing Accounts. It adds permission to create accounts and set their Website.

Connect as a user who can see and edit the accounts you want Leapio to update.

Leapio's IP Addresses

Leapio's servers call Salesforce from these IP addresses:

  • 44.229.171.193
  • 35.83.200.17
  • 184.34.165.247

If your org only allows access from listed IP addresses, add these three.

Connect Salesforce

  1. Go to Integrations → Browse Catalog and open Salesforce.
  2. Click Connect Salesforce and choose your Salesforce Org:
    • Production or Developer Edition: signs in at login.salesforce.com.
    • Sandbox: signs in at test.salesforce.com.
  3. Click Continue to Salesforce. Sign in as the user with the Leapio Integration permission set, allow access, then return to Leapio.

In Leapio, connecting is for owners and admins. Salesforce asks you to let Leapio access the identity URL service, manage user data via APIs, and perform requests at any time. If Salesforce doesn't grant these, Leapio doesn't connect and asks you to connect again and allow every permission.

Each Leapio organization connects to one Salesforce org at a time. The Salesforce card in Your Integrations shows the org's ID. To move between production and a sandbox, disconnect, then connect again and choose the other org.

Check the Fields

After connecting, the Salesforce card in Your Integrations shows Needs Setup with a Set Up Fields button. Open it to check each field. With the package installed and the Leapio Integration permission set assigned, every field reads Ready, and the card reads Connected.

  • If a field reads Missing, Leapio shows Install the Leapio Package. Install the package, assign the permission set, then use Check Again.
  • To use one of your own custom Account fields instead, pick it for that field, then Save Field Choices. The list only offers fields Leapio can write that fit the value: the same kind of field, and long enough to hold it. Salesforce's standard fields are never offered.

Each field shows a state (Ready, Missing, Incompatible, or Read-Only) so you can tell what is left before Leapio writes anything.

Send Signals to Salesforce

Once every field is Ready, turn on Send Signals on the Salesforce card in Integrations → Your Integrations. Leapio creates a Send Notification action named Send Signals to Salesforce that writes each Target Account visit, high-intent page visit, return visit and usage spike to Salesforce as it happens. Turn the switch off to pause it.

To change what it sends, open the action in Actions → Your Actions:

  • Add or remove triggers, including your custom rules.
  • Turn on Create Missing Accounts if you want Leapio to create an account in Salesforce when none matches. This also needs the Leapio Create Accounts permission set.
  • Leave Log Activity on to add a completed task for each signal.
  • Use Send Test from the action's menu to write a test to Salesforce.

You can also build your own Send Notification action for Salesforce from Actions → Browse Catalog. An action that sends to Salesforce sends nowhere else, so post to Slack from a separate action. The switch pauses and resumes every action that sends to Salesforce.

Send Test takes the most recent real Target Account signal that matches the action's triggers and writes it to Salesforce right away. It is a real write: it updates the matching account, or creates one when Create Missing Accounts is on. If no matching signal has fired yet, the test says so and writes nothing.

Each signal Leapio writes to Salesforce uses 1 Action, the same as any notification. Writes that are skipped, held for review or fail cost nothing, and so does Send Test.

How Matching Works

Leapio matches by domain, using the account's Website field. It compares only the host, without https://, www., or any path. So https://www.acme.com/about matches acme.com, but a subdomain such as shop.acme.com is a different domain and doesn't match.

  • No match: the write is skipped, unless Create Missing Accounts is on. Then Leapio creates the account in Salesforce with the Target Account's name, and its domain as the Website. It first checks for an account it created earlier, so a reconnect doesn't create a duplicate.
  • One match: Leapio updates that account.
  • Two or more matches: Leapio leaves them alone for you to review, rather than guessing which is right.

For example, a Usage Spike for acme.com updates the one Salesforce account whose Website is acme.com. Once Leapio has written to an account, later signals for that Target Account update the same account. An older signal never overwrites a newer one already written, so the fields always reflect the latest intent. Updates only touch the six Leapio fields.

Statuses and Reconnecting

The Salesforce card in Your Integrations shows one status:

  • Connected: working.
  • Needs Setup: connected, but the fields still need setup. Use Set Up Fields.
  • Error: Salesforce access was lost. Use Reconnect and choose the org again.

If Salesforce access is revoked or expires, the card moves to Error with a Reconnect button, and nothing more is sent to Salesforce until you reconnect. Leapio renews its access in the background at least every 20 days, so a connection stays live even when no signals are sent.

If a write names a field Salesforce no longer has, Leapio marks that field Missing, the card moves to Needs Setup, and writes are skipped until the setup check passes again. Reconnecting to a different org starts field setup over and cancels any writes still queued for the old org.

Disconnecting

Open the Salesforce card's ⋮ menu and choose Disconnect. Leapio revokes its Salesforce refresh token, stops using it, and cancels any writes still queued. Actions that send to Salesforce stop delivering until you connect it again.

The Leapio fields, and the values already written, stay on your Salesforce accounts. The Leapio package stays installed until a Salesforce admin uninstalls it. Your own fields that you pointed Leapio fields at keep the values Leapio wrote.

Troubleshooting

Open the action's View Activity to see each write. Every write shows Created, Updated, Skipped, Needs Review, or Failed, with the reason. Created and updated writes link to the account with Open in Salesforce.

  • No Salesforce account has the domain ...: nothing matched. Set the account's Website in Salesforce, or turn on Create Missing Accounts.
  • More than one Salesforce account has the domain ...: merge or fix the duplicates in Salesforce. The next signal then updates the one account left.
  • Needs Review with Salesforce's own message: Salesforce refused the write, for example with a duplicate, validation, or required-field error. Fix it in Salesforce. Leapio doesn't retry these.
  • More than ... Salesforce accounts have a Website containing ...: too many accounts share the domain for Leapio to check. Clean up the Websites in Salesforce.
  • A newer signal for this company was already sent.: expected. The newer intent stays.
  • The Salesforce fields need setup.: open Set Up Fields on the Salesforce card.
  • Salesforce is missing ...: Salesforce rejected a Leapio field. Check that the package is installed and the Leapio Integration permission set is assigned, then use Check Again.
  • Salesforce denied access.: assign the Leapio Integration permission set to the user who connected Leapio. If the write was a create, also assign Leapio Create Accounts.
  • Salesforce API access is off for this org.: your edition doesn't include API access. See Salesforce Editions.
  • Reconnect Salesforce. or Salesforce access was revoked or expired.: use Reconnect on the Salesforce card.
  • The company has no usable domain.: the account's domain is missing, a personal email domain, or an IP address, so it can't match.
  • The visitor opted out of sharing. or The company is not a Target Account.: the signal isn't eligible to send.

When Salesforce hits a request limit, finds the record locked, or is briefly unavailable, Leapio tries again with longer waits between tries, up to five tries in all. After that, the write shows Failed.

If connecting fails with This Salesforce connection link has expired or was already used, start again from Integrations. A connect link lasts ten minutes and works once.

Data and Privacy

  • Leapio writes accounts only. It never creates or changes contacts, leads, or any other kind of Salesforce record.
  • An update writes only the six Leapio fields, or the fields you pointed them at. A create also sets the account's name and Website.
  • The summary is built from the signal name, its strength, and fixed details: the matched page (/pricing, /demo, or /docs), the return-visit window, usage counts, or your custom rule's name. It never includes people or visitor details.
  • Signals from visitors who opted out of sharing are never sent.
  • Built-in signals are limited to one per type per account each day, so Salesforce stays current without the noise.
  • Leapio connects through Salesforce OAuth with PKCE. It sends sign-in codes only to login.salesforce.com or test.salesforce.com.
  • Leapio stores its Salesforce tokens encrypted, and revokes the refresh token when you disconnect.
  • Leapio keeps the details of each write for 30 days, then keeps only its result.

Questions? Email support@leapio.com.