Upfirst is an AI receptionist that connects to Salesforce in two ways: through Custom Actions (live REST API and SOQL queries during a call) and through Zapier (writes to Salesforce after the call ends). Every inbound call ends up on the right Lead, Contact, or Case record without anyone forwarding voicemails.
Does Upfirst integrate with Salesforce?
Yes. Two options:
- Custom Actions let your receptionist run SOQL or SOSL queries against Salesforce live during a call, then write to any object when it ends. Identify a Lead by phone, check a Case status, log an Activity, create an Opportunity.
- Zapier handles the post-call automation. Drop call data onto a Lead, Contact, Case, or Task through the Salesforce Zapier app.
Custom Actions are how you get phone calls to feel like a first-class part of Salesforce. Zapier picks up the long tail.
What Salesforce is
Salesforce is the CRM that sales, service, and marketing teams use to track every customer interaction. Leads, Contacts, Accounts, Opportunities, and Cases are the core objects. Real estate teams, law firms, insurance agencies, B2B sales organizations, and enterprise service businesses all run pipelines through Salesforce.
The phone call is usually where the highest-intent customer signal lives. Pairing it with Salesforce means reps see those signals on the record, not on a sticky note.
What Upfirst can do with Salesforce
Match returning callers to a Lead or Contact
When a call comes in, Upfirst runs a SOQL query against Salesforce filtered by the caller's phone. If there's a match, the receptionist opens by name and can reference the owner, the stage, or any field you choose.
Look up any Salesforce object mid-call
When a caller mentions a Case number, an account name, or an Opportunity, the receptionist asks for the relevant detail and queries Salesforce in real time. SOQL handles exact filters. SOSL handles fuzzy text searches. Custom objects and custom fields work the same way standard ones do.
Log every call as Salesforce Activity
When the call ends, Upfirst writes a Task or Event back to Salesforce, tied to the matching Lead or Contact. The call summary, transcript, and recording link go in the description. Net-new callers become Leads. Existing Contacts get an updated activity history.
Open Cases or Opportunities based on what the caller said
Upfirst can pull anything you want out of a call: service interest, budget, urgency, region. Use those signals to create a high-priority Case when an existing Contact reports an outage. Open an Opportunity when a Lead signals buying intent. Assign new Leads to a queue based on territory. Whatever Salesforce automation you've built around those fields runs the same as if it had come from a web form.
Salesforce API calls Upfirst can make
- SOQL query against Leads, Contacts, Accounts, Opportunities, Cases, or custom objects
- SOSL search for fuzzy text matches across multiple objects
- Insert a Lead with full attribution, custom fields, and territory
- Insert or update a Contact tied to an Account
- Open a Case with Priority, Origin, and Type
- Create an Opportunity in any Stage and Pipeline
- Log a Task or Event with description and ActivityDate
- Upsert on an External Id to avoid duplicates
- Invoke a Flow from any point in the call
Setting up the Salesforce integration
Custom Actions
- In Salesforce, create a Connected App (Setup > App Manager > New Connected App) and enable OAuth. Save the Consumer Key and Consumer Secret.
- In Upfirst, set up the Salesforce OAuth Connection pointing at your instance's
login.salesforce.comauthorization endpoint. - Go to Agent > Custom actions and add a new action. Pick the trigger: When call starts for the phone-number SOQL query, During call for caller-driven searches, or After call for Activity logging or record creation.
- Set up the request. For a Lead lookup, GET
https://yourdomain.my.salesforce.com/services/data/v60.0/query/?q=SELECT+Id,Name,OwnerId+FROM+Lead+WHERE+Phone='#{{caller_id}}'. For inserts, POST to/sobjects/Lead/. - Pick which fields the receptionist gets back. Test it. Save.
Zapier
- Create a Zap. Trigger: Upfirst > Call Completed.
- Pick a Salesforce action: Create Lead, Find Contact, Create Task, Update Record, whatever fits.
- Map the call fields to Salesforce fields.
- Add filters so only the right calls trigger the workflow.
- Test and turn the Zap on.
The combination most sales teams settle on: SOQL lookup on call start to land on the right Lead, mid-call Case query if the caller asks, Activity log on call end. Zapier fans the call out to anything else (Slack, your warehouse, another tool) in parallel.
