How to connect Salesforce to AskVault
What this integration unlocks
Two main capabilities once Salesforce is connected.
- Lead sync. Leads captured by the
collect_leadskill create as Salesforce Lead or Contact records with the conversation transcript attached as a Task. - Bot reads Salesforce data. Identity-verified visitors get account-specific answers ("what's my account status?", "when's my renewal?"). The bot looks up the matching Lead, Contact, Account, or Opportunity record at query time.
Available on Growth and above. Growth+
Setup
Six minutes end-to-end.
- Open Dashboard > Leads > Integrations in AskVault. Find Salesforce, click Connect.
- Pick your Salesforce environment. Production or sandbox. Sandbox uses a different OAuth URL; AskVault auto-detects after you sign in.
- OAuth consent screen. Sign in to Salesforce with admin credentials. Approve the requested scopes.
- Choose target object. Pick whether captured leads create as Lead records (typical for new prospects) or Contact records (for existing customers). Different Salesforce setups use these differently.
- Map fields. AskVault auto-maps name, email, phone. Map custom fields (industry, company size, source channel) under Integrations > Salesforce > Field Mapping.
Test with a sample lead from the widget. Within 60 seconds the record should appear in Salesforce.
Scopes requested
apifor general object access.refresh_token, offline_accessso AskVault stays connected without re-prompting.chatter_apiif you want conversation transcripts to post as Chatter feed updates instead of Tasks.
Read-only by default. To enable write actions (update Opportunity stages, create Cases), grant additional scopes during a re-authorization flow.
Sandbox vs production
For testing, point AskVault at your Salesforce sandbox first. Captured leads land in the sandbox, not in production. Once you're confident, switch to production:
- Disconnect the sandbox under Integrations > Salesforce > Disconnect.
- Connect again, choose production.
- New leads route to production from that moment.
Existing sandbox data stays in the sandbox. Migration between Salesforce orgs is a Salesforce-side concern.
Lead deduplication
By default AskVault checks for an existing Salesforce Lead or Contact with the same email before creating a new one. Three behaviors when match found:
- Update existing. Default. Fields from the new conversation update the existing record. Transcript appends as a new Task.
- Skip. No update; transcript still attaches.
- Create new. Disable dedup. Each conversation creates a fresh record.
Configure under Integrations > Salesforce > Deduplication.
For Salesforce orgs with Duplicate Management Rules configured, AskVault respects those rules. If your Salesforce dedup rule blocks the create, AskVault's "Update existing" mode takes over.
Bot reads Salesforce data
For identity-verified visitors, the bot can query Salesforce live:
- "What's my account status?" Bot looks up the Contact, then the Account record. Returns plan tier, renewal date, etc.
- "How much have I paid this year?" Bot reads associated Opportunity records or custom revenue fields.
- "Has my case been resolved?" Bot reads associated Case records from Service Cloud.
Configure which Salesforce objects the bot can read under Integrations > Salesforce > Read Permissions. Default scope is conservative; expand only what you need.
Custom objects
Custom Salesforce objects (anything beyond Lead, Contact, Account, Opportunity, Case) are supported. After connecting:
- Integrations > Salesforce > Custom Objects.
- Pick the custom object from the dropdown.
- Map its API name to a friendly label for the bot.
- Configure which fields the bot can read.
Useful for industry-specific orgs (Healthcare Cloud, Financial Services Cloud, Education Cloud) where most data lives in custom objects.
Outbound messages (Salesforce-initiated webhooks)
For real-time updates (Opportunity stage changes, Case status updates), configure Salesforce Outbound Messages to point at AskVault. Workflow:
- In Salesforce, Setup > Workflow Rules or Flows.
- Create a rule that fires on state changes you care about.
- Add an Outbound Message action pointing to AskVault's webhook URL (visible under Integrations > Salesforce > Webhooks).
The bot can then proactively notify the customer about state changes when they next engage.
Limits
- Salesforce API rate limits. 15,000 API calls per 24 hours on Enterprise Edition, scaling per edition. AskVault batches lookups where possible.
- Custom field count. Salesforce limits custom fields per object (500 for Enterprise, 800 for Unlimited). Each AskVault mapping uses one custom field.
- Multi-org. One Salesforce org per AskVault workspace. For multi-org use, create separate workspaces.
Common pitfalls
OAuth fails with "Invalid grant_type". You're trying to connect a sandbox using the production OAuth URL. Check that Integrations > Salesforce > Environment matches what you're connecting to.
Records create but Tasks are missing. Activity-creation permission wasn't granted. Re-authorize with the chatter_api or activity-write scope.
Custom fields don't sync. Field mapping has the wrong API name. Salesforce custom fields end with __c. Verify under Field Mapping.
Bot says "I couldn't find your account". Visitor's email doesn't match any Salesforce Contact. Common when customers signed up with one email but chat with another.
FAQ
Does this work with Salesforce Essentials?
Yes, with some limitations. Essentials limits API calls; AskVault stays under the cap but high-volume integrations should move to at least Professional edition.
Can the bot update Opportunity stages?
Yes, with explicit write scope. Most customers keep it read-only and route mutating actions through escalate_to_human. Enterprise
Are leads tagged so I can filter them in Salesforce?
Yes. Every AskVault-created Lead has a custom property Lead Source = "AskVault Chat" and a tag like AskVault-Captured. Easy to build Salesforce reports filtered to these.
Can I sync to both HubSpot and Salesforce?
Yes, but unusual. Configure both integrations; AskVault writes to both for every captured lead. Watch for dedup conflicts if customers exist in both systems with different emails.
Does this work with Salesforce Marketing Cloud?
The integration is for the core Sales/Service/Custom platform, not Marketing Cloud. For Marketing Cloud-specific flows (campaign attribution, journey triggers), use the custom_webhook skill.
Related guides
- Collect lead skill
- SDR lead qualifier skill
- HubSpot integration setup
- Custom webhook skill
- Identity verification with HMAC