Skip to content
English
  • There are no suggestions because the search field is empty.

Salesforce Integration

Tiled can connect to Salesforce to automatically push microapp engagement data and email activity into your org — giving your sales team visibility into prospect activity without leaving Salesforce.

In Salesforce: Create a External Client App

From Setup, go to External Client App Manager and click New External Client App.

  • Enter a name (example: "Tiled Integration") and your contact email.
  • Under API (Enable OAuth Settings), check Enable OAuth.

App Settings

  • Enter a Callback URL.
  • Under OAuth Scopes, add Manage user data via APIs (api).
  • Under Flow Enablement, check Enable Client Credentials Flow.

Create/Save the app, then open it and click the Policies tab. Expand OAuth Policies and under OAuth Flows and External Client App Enhancements, check Enable Client Credentials Flow, and set the Run As user — this is the user whose permissions govern everything Tiled does in your org, so keep note of who it is; you'll grant this user specific access for each feature you turn on below. Save.

Click the Settings tab, expand OAuth Settings, and copy the Consumer Key and Consumer Secret right below App Settings — you'll paste both directly into Tiled in the next step.

In Tiled: Connect the integration

  • Enter your org's base URL under Salesforce Instance URL: https://<your-instance>.my.salesforce.com
  • Paste your Consumer Key and Consumer Secret into their respective fields.
  • Click Test connection.

Once the connection succeeds, the Automatically send session data and Email activity toggles below become available — each is disabled until a Consumer Key and Secret are entered. Turning either one on reveals that feature's own setup steps below.

Troubleshooting (connection)

  • "Connection failed. Please check your setting." — Double-check that your Salesforce Instance URL is just your org's base domain (no path after .my.salesforce.com), and that the Consumer Key/Secret are copied correctly and Client Credentials Flow is enabled on the Connected App.
  • "Salesforce authentication failed. Check the Consumer Key and Consumer Secret." — Tiled couldn't exchange your credentials for an access token. Double-check the Consumer Key/Secret are copied correctly (no extra whitespace), that Enable Client Credentials Flow is checked on the Connected App, and that a Run As user is set under Edit Policies.

Session Data Auto-Send

Before continuing, make sure you've completed the Prerequisites section above — this integration won't work without it.

Tiled can automatically push detailed microapp engagement data — viewer info, active duration, top screens, and completion events (if applicable) — directly into Salesforce as records on a dedicated custom object. Each session also logs an Activity on the matching Contact, so it shows up right in their Activity timeline — not just in the custom related list.

In Salesforce: Create the Tiled Session Event object

Object Name is filled in automatically as Tiled_Session_Event.

Under Enter Record Name Label and Format, set:

  • Record Name: Tiled Session Event Name
  • Data Type: Auto Number
  • Display Format: TSE-{0000} (recommended)
  • Starting Number: 1 (recommended)

Under Optional Features, check Allow Activities — this lets Tiled log a Task against this object so sessions show up on a Contact's Activity timeline.

Leave the other defaults and click Save. You don't need to add any fields here — Tiled adds those automatically the first time you test the connection.

In Salesforce: Add fields to Event

Tiled logs an Event per session with a few extra details attached — a clickable link, the formatted duration, and (when the session came from a share) who shared it — but Salesforce doesn't allow adding new custom fields to a standard object like Event through the same automated step as your own custom object, so these need to be added by hand. The first two are required, not optional: Tiled always sets them, so without them every session send will fail. The "Shared By" fields are optional — they only ever get set on sessions that came from a share, but Tiled won't fail to send if they're missing.

  1. In Setup, go to Object Manager > Activity > Fields & Relationships and click New.
  2. Choose URL as the data type, set the Field Label to Tiled Pathway Insights URL, and click through the remaining steps with the defaults to Save.
  3. Click New again. Choose Text, set the Field Label to Tiled Active Duration, set Length to 100, and Save.
  4. Click New again. Choose Text, set the Field Label to Tiled Shared By, set Length to 255, and Save — this always holds the sharer's email as plain text, whether or not it matches a Salesforce User.
  5. Click New again. Choose Lookup Relationship, set Related To to User, set the Field Label to Tiled Shared By User, and click through the remaining steps with the defaults to Save — this is only populated when the sharer's email happens to match an existing Salesforce User.
In Salesforce: Grant the Run-As user access

Salesforce doesn't automatically grant permissions on new objects or fields — even ones created through the API — so the Run-As user needs to be explicitly given access before Tiled can actually read or write session data. Do this step after running Test connection at least once above, since field-level security can only be configured once the fields exist.

  1. In Setup, use Quick Find to go to Permission Sets (or edit the Run-As user's Profile directly, if you manage access that way instead).
  2. Create or open the Permission Set assigned to your Run-As user.
  3. Under Apps, click Object Settings, then click Tiled Session Event.
  4. Click Edit. Under Object Permissions, check Read and Create.
  5. Scroll down to Field Permissions and check both Read Access and Edit Access for every field on the list.
  6. Click Save.
  7. Repeat the steps above for the standard Event object, checking Read and Create under Object Permissions, and Read Access/Edit Access on the Tiled Pathway Insights URL, Tiled Active Duration, Tiled Shared By, and Tiled Shared By User fields you added above.
  8. If you created a new Permission Set, go back to its main page, click Manage Assignments > Add Assignment, and assign it to the Run-As user.
In Salesforce: Show session data on the Contact record

A new lookup field doesn't automatically appear as a related list on the record it points to, so you'll need to add it manually to see session data directly on a Contact's page.

  1. In Setup, go to Object Manager > Contact > Page Layouts.
  2. Open the page layout used for your Contacts (commonly "Contact Layout").
  3. Switch the palette on the left to Related Lists.
  4. Drag Tiled Session Events onto the layout, near your other related lists.
  5. Click Save.

Every Contact record will now show a "Tiled Session Events" related list containing all sessions linked to that Contact by email.

What gets created in Salesforce

Once connected, Tiled writes one record per microapp viewing session to the Tiled Session Event object (Tiled_Session_Event__c) you created:

 
 

Field

 

Description

 

Contact

The viewer's Salesforce Contact, matched by email address.

Microapp Name

Name of the microapp that was viewed.

Location

Approximate location of the viewer.

Total Active Duration

Total time (in seconds) the viewer was actively engaged.

Total Active Duration Formatted

The same duration, formatted for readability (e.g. "0:57").

Pathway Insights URL

A link to the pathway insights for this specific session.

Top Viewed Screens

The session's most-viewed screens, ranked, one per line.

Completed Events

The completion events triggered during the session, one per line, if any.

Shared By

The sharer's email, as plain text.

Shared By User

A link to the sharer's Salesforce User record, only when their email matches an existing User.

 
 
 

Tiled also logs a completed Event on the matching Contact for each session (only when a Contact is found), so sessions appear directly in that Contact's Activity timeline without any extra setup on the page layout. The Event's Tiled Active Duration, Tiled Pathway Insights URL, and (when applicable) Tiled Shared By / Tiled Shared By User fields surface those same details right on the Event itself.

Troubleshooting (session data auto-send)
  • Connection fails and you haven't created the Tiled Session Event object yet — Test connection only adds fields to an existing object; it can't create the object itself. Complete the "Create the Tiled Session Event object" step above first.
  • "The requested resource does not exist" when session data should be sending — The Run-As user likely doesn't have Read/Create permission on the Tiled Session Event object yet. See "Grant the Run-As user access" above.
  • "No such column '...' on sobject of type Tiled_Session_Event__c" — The object is accessible but a specific field isn't — the Run-As user is missing Field-Level Security on one or more fields. Revisit the Field Permissions step above.
  • Sessions are sending successfully, but you don't see anything on the Contact record — The data is there; it just isn't on the page layout yet. See "Show session data on the Contact record" above. You can confirm records exist independently via Setup > Object Manager > Tiled Session Event, or by querying the object in Developer Console / Workbench.
  • No Contact is linked on a record — Tiled matches viewers to Salesforce Contacts by email address. If a viewer's email doesn't match any existing Contact, the Contact field will be blank. If multiple Contacts share the same email, Tiled links to one of them arbitrarily.
  • Session records are created, but no Event appears on the Contact — A few possible causes: (1) Allow Activities wasn't checked on the Tiled Session Event object, (2) the Run-As user doesn't have Read/Create permission on the standard Event object yet, or (3) the Tiled Pathway Insights URL / Tiled Active Duration fields haven't been added to Event yet. Since Tiled sends the session record and its Event in a single all-or-nothing request, any of these also prevents the session record itself from saving.
  • "No such column '...' on sobject of type Event" — Same root cause as the Tiled Session Event version, just on Event: either the field doesn't exist yet, or the Run-As user is missing Field-Level Security on it.
  • No Shared By / Shared By User value on a record — Expected if the session wasn't from a share (these fields are only ever set for shared sessions). If it was a shared session and Shared By is still blank, the sharer's email may not have resolved — check sessions.sharer_id for that session. Shared By User being blank is expected/normal whenever the sharer's email doesn't match an existing Salesforce User.