Skip to main content
Admin Guides

Connecting Salesforce CRM

Bring your Salesforce records (accounts, opportunities, contacts) into Curated as a spatial layer your team can analyze alongside spatial data.

Last updated May 13, 2026

When your Salesforce org is connected to Curated, customer records become a spatial layer — geocoded by address, joinable to demographic and competitive data, and reasonable about in natural language ("which accounts within 10 miles of our new Houston site have opportunities over $100k?").

Available from

All tiers. Setup time: 5–10 minutes.

What gets pulled in

By default, Curated pulls these Salesforce objects when connected:

  • Accounts — geocoded by billing address
  • Contacts — geocoded by mailing address (where present)
  • Opportunities — joined to the parent Account's location
  • Custom objects with address fields — opt-in per object

Curated reads Salesforce data; it does not write back. (Write-back is on the roadmap for a future release.)

Setup

1. Connect

Settings → Connections → Salesforce → Connect

Authenticate through the OAuth popup using a Salesforce admin account. Curated stores the OAuth token; no API key entry.

2. Choose objects

After authentication, Curated will list your Salesforce objects. Toggle on the ones you want available in the workspace:

  • Accounts (recommended)
  • Contacts (recommended)
  • Opportunities (recommended)
  • Cases (optional)
  • Custom objects (opt-in per object)

For each object, choose the field that contains the address used for geocoding.

3. Initial geocode

Curated will run an initial geocode on connected objects. For a 50,000-record account base, expect 10–30 minutes. The dashboard will show progress.

Geocoding consumes credits proportional to record count — usage will show in Settings → Usage.

4. Configure refresh cadence

Settings → Connections → Salesforce → Refresh

Three options:

  • Live — every Curated query checks for fresh records since last sync
  • Daily — sync runs once a day; queries use last-synced data
  • Manual — sync only when you click Refresh

Live is the most current but consumes more API quota against your Salesforce instance. Daily is the default and works for most use cases.

5. Permission scoping

Curated respects Salesforce sharing rules:

  • Users see only records their Salesforce user has access to
  • Record-level security carries through to Curated
  • Field-level security (which fields are visible) carries through

This means you don't need to configure permissions separately in Curated — your existing Salesforce model governs.

Using Salesforce data in queries

Once connected, Curated treats Salesforce as another spatial layer. Example queries:

  • "Show me all accounts in Texas with opportunities over $250k closing this quarter"
  • "Which accounts within 5 miles of 1500 Main Street, Dallas have no recent activity?"
  • "Compare account density in DFW vs Houston for accounts in the Healthcare industry"

The answer cites Salesforce as the source for the account/opportunity metrics, alongside other layers.

Disconnecting

Settings → Connections → Salesforce → Disconnect

Disconnecting removes the OAuth token. Cached records remain in your tenant until you clear them at Settings → Connections → Salesforce → Clear cache.

Related

  • Importing Your First Data Layer
  • Setting Up Your Organization
  • Connecting Your ArcGIS Online Account