Skip to main content
A read-only OAuth integration that syncs Salesforce cases, and any other Salesforce objects you select, into Rippit on a schedule. Salesforce ingestion is available for PLG and hybrid workspaces. For what applies to every integration, see how data integrations work. For the security model, see Data integration security. This page covers importing Salesforce data into Rippit tables. To let the Rippit agent query Salesforce live instead, see the Salesforce MCP server.

Connection summary

Before you connect

Choose your clouds. Enable Service Cloud, Sales Cloud, or both. Service Cloud is for cases: it preselects Case in the object picker. Sales Cloud is for opportunities: it preselects Opportunity. Each one also decides which access check runs when you connect. Rippit will not start authorization with neither selected. Authorize as a Salesforce Admin. If you are not an Admin, Rippit creates a link you can share with one, and they complete the connection for you. Rippit can read only what the authorizing user can read, so use a dedicated integration user where you can. Two checks run against that user:
  • When you connect, the user must be able to describe Case if Service Cloud is enabled, and Opportunity if Sales Cloud is enabled. If either fails, no connection is created.
  • Connection checks pass when the user holds a permission set with View All Data, or can read every object Rippit collects.
Sandbox orgs authorize through test.salesforce.com instead of login.salesforce.com. The sandbox option appears only when Rippit has turned it on for your workspace.

Choosing objects

After connecting, you pick the Salesforce objects to import from the list of objects your org reports as queryable, with the objects for your clouds preselected. A few objects that cannot be read by time window, such as ContentDocumentLink and Vote, are not offered. You can add up to 50 at a time, and come back later to add more. Object tables carry every field on the object. Rippit reads the child objects of Case from your org’s Case describe. If that describe fails, every selected object uses the import window, so a temporary error cannot start an unbounded import.

Data handling

What a case becomes in Rippit

Each Salesforce case becomes one conversation in Rippit. Last assignee is the case owner. All assignees adds every user the case history shows as a past or present owner.

API endpoints

Data requests go to your org’s instance URL with the OAuth access token as a bearer token. Paths below are under /services/data/v58.0 unless shown in full.

Authentication

Where Salesforce rotates refresh tokens, a token presented twice locks the connection out. Rippit refreshes under a lock so that two workers never present the same one.

Cases and objects

Everything is read with SOQL through the query endpoint. SOQL has no SELECT *, so Rippit describes each object and names its fields in the query. Contacts are not swept. Rippit fetches the contacts that cases and tasks reference, by ID. Selecting Contact as an object turns on a sweep of all contacts.

Sync behavior

Rippit selects cases by last update, not creation. A case created before the backfill window but updated inside it is synced with its original created time.

Rate limiting

Salesforce counts API requests against your org’s daily allocation and reports usage on every response in the Sforce-Limit-Info header. Rippit reads that header and slows down as usage climbs: the larger the share of the allocation already used, the more often it pauses between requests, and the pause scales with how long the previous request took. It does not reserve a fixed share for other apps. Full-history imports of large objects are where most requests go. Select only the objects you need.

Removing the connection

Remove stops syncing and deletes the tokens Rippit stored. It does not delete conversations or tables already imported, and it does not call Salesforce. To end the grant on the Salesforce side as well, revoke Rippit’s access in your Salesforce OAuth settings.