Integration

CRMConnect with OAuth

Salesforce voice AI integration

The Salesforce integration connects your AI voice and chat agents to Salesforce, so they can create a crm lead on a live call. It's a crm connector that runs as a tool the agent calls mid-conversation — you connect with oauth, attach it to an agent, and it acts in real time without a human in the loop.

Salesforce API docs

Last updated 2026-09-15

What your agent can do with Salesforce

Create a CRM leadCreate CRM lead

Create a lead in Salesforce for the caller. Use when the caller is a sales prospect.

Inputs

FieldTypeDescription
company*stringCompany name (Salesforce requires it — use the caller's name if unknown)
descriptionstringWhat the lead wants
emailstringEmail, if given
first_namestringFirst name
last_name*stringLead last name (Salesforce requires it)
phonestringCaller phone
crm.list_leadslist_leads crm

Read the Salesforce Lead list, a page at a time. For importing a call list.

Inputs

FieldTypeDescription
cursorstringnextRecordsUrl from the previous call
limitintegerLeads per page (max 2000)
crm.update_leadsupdate_leads crm

Update many Salesforce leads in one call — the campaign write-back path.

Inputs

FieldTypeDescription
records*array[{attributes, id, …fields}] — up to 200
crm.log_calllog_call crm

Log every call as a Salesforce Task (an Activity). Map at least Subject. Useful fields: Description, ActivityDate, Status, CallType, CallDurationInSeconds, WhoId (the Lead or Contact it belongs to).

Inputs

FieldTypeDescription
records*arrayone entry per call, each a Task
Look up a contact by phoneLook up CRM contact

Find an existing Salesforce contact by phone number. Use to recognise a caller and to get the contact ID that notes, tasks and cases need. If more than one contact comes back, do not assume which person is calling — ask.

Inputs

FieldTypeDescription
phone*stringCaller phone. Digits only are used, so any format works.
Get a contact by IDGet a CRM contact

Fetch one Salesforce contact by its ID.

Inputs

FieldTypeDescription
contact_id*stringThe Salesforce contact ID (15 or 18 characters)
Create a CRM contactCreate CRM contact

Create a Salesforce contact for the caller. ALWAYS supply a last name — Salesforce refuses to create a contact without one.

Inputs

FieldTypeDescription
emailstringEmail, if given
firstnamestringFirst name
lastnamestringLast name. Salesforce REQUIRES this — if the caller gives only one name, use it here.
phone*stringPhone in full international form
Update a contactUpdate a CRM contact

Update fields on an existing Salesforce contact. Only the fields you supply are changed. Supply at least one field besides the ID — check hasErrors is false before telling the caller it worked.

Inputs

FieldTypeDescription
contact_id*stringThe Salesforce contact ID
emailstringEmail
firstnamestringFirst name
lastnamestringLast name
phonestringPhone in full international form
Get a lead by IDGet a CRM lead

Fetch one Salesforce lead by its ID. IsConverted tells you whether it has already become a contact — if so, work from ConvertedContactId instead.

Inputs

FieldTypeDescription
lead_id*stringThe Salesforce lead ID
Update a leadUpdate a CRM lead

Update fields on an existing Salesforce lead — including moving its Status. Only the fields you supply are changed. Check hasErrors is false before telling the caller it worked.

Inputs

FieldTypeDescription
companystringCompany name
emailstringEmail
firstnamestringFirst name
lastnamestringLast name
lead_id*stringThe Salesforce lead ID
phonestringPhone in full international form
statusstringLead status, exactly as the business named it, e.g. Working or Qualified
Get an account by IDGet an account

Fetch one Salesforce account (the company a contact belongs to) by its ID.

Inputs

FieldTypeDescription
account_id*stringThe Salesforce account ID — a contact's AccountId
Update an accountUpdate an account

Update fields on an existing Salesforce account. Only the fields you supply are changed. Check hasErrors is false before telling the caller it worked.

Inputs

FieldTypeDescription
account_id*stringThe Salesforce account ID
billing_citystringBilling city
billing_countrystringBilling country
billing_statestringBilling state or region
industrystringIndustry, exactly as the business named it
namestringAccount (company) name
phonestringMain phone number
websitestringWebsite
List an account's opportunitiesList an account’s opportunities

List the open and recent opportunities on a Salesforce account. Get the account ID from a contact's AccountId first.

Inputs

FieldTypeDescription
account_id*stringThe Salesforce account ID — a contact's AccountId
Get an opportunity by IDGet an opportunity

Fetch one Salesforce opportunity by its ID — its stage, value and close date.

Inputs

FieldTypeDescription
opportunity_id*stringThe Salesforce opportunity ID
Get a case by IDGet a case

Fetch one Salesforce case (a support ticket) by its ID, so you can tell a caller its current status.

Inputs

FieldTypeDescription
case_id*stringThe Salesforce case ID
Get a user by IDLook up a staff member

Look up which member of staff a record belongs to, from an OwnerId. Use this to tell a caller who is handling their case — never read out an internal email address or direct mobile number.

Inputs

FieldTypeDescription
user_id*stringA Salesforce user ID, usually a record's OwnerId. Starts with 005.
Create a task on a contactCreate a CRM task

Create a follow-up task against a Salesforce contact. If the caller did not name a due date, use tomorrow.

Inputs

FieldTypeDescription
contact_id*stringThe Salesforce contact ID
descriptionstringAny detail the person doing the task will need
due_date*stringDue date as YYYY-MM-DD, e.g. 2026-09-10
subject*stringShort task title, e.g. "Call back about the quote"
Add a note to a contactAdd a note to a contact

Write a note onto a Salesforce contact — what the caller asked for, what was agreed. Keep it to a short paragraph.

Inputs

FieldTypeDescription
body*stringThe note text
contact_id*stringThe Salesforce contact ID
titlestringA short heading for the note. ALWAYS supply one — Salesforce refuses to save a note without a title.
Get a custom object recordGet a custom object record

Fetch one record from the custom Salesforce object this tool is pointed at, by its ID.

Inputs

FieldTypeDescription
record_id*stringThe Salesforce record ID
Update a custom object recordUpdate a custom object record

Update one record of the custom Salesforce object this tool is pointed at. Supply the fields as an object whose keys are the exact Salesforce field API names, e.g. {"Status__c": "Renewed"}.

Inputs

FieldTypeDescription
fields*objectThe fields to change, keyed by their exact Salesforce API name, e.g. {"Status__c":"Renewed","Renewal_Date__c":"2026-04-01"}
record_id*stringThe Salesforce record ID to update

What you'll need to connect Salesforce

Connect with OAuth. In Telenow, open Integrations → Salesforce and provide:

  • Instance URL — Your Salesforce My Domain URL — Setup → My Domain.

Agent templates that use Salesforce

Solar & home-improvement leadFlow
Qualifies solar and home-improvement enquiries on the essentials (homeownership, energy bill, property), gates out non-fits politely, captures the lead, and books a free consultation.
Outbound SDR with objection handlingFlow
A polished outbound prospecting flow — permission, discovery, tailored pitch, and a booked meeting — with a GLOBAL objection handler that fields price, timing, or 'we already have something' at any point and then returns to exactly where it left off.
Loan eligibility pre-screenFlow
Pre-screens loan applicants on income, employment and amount needed, captures the lead, and routes eligible applicants to a loan officer.
EdTech admissions counselorFlow
Counsels prospective students on courses, captures the lead, and books a counseling session with an advisor.
Car test-drive bookingFlow
Qualifies car-buying interest, captures the lead into your CRM, and books a test drive — turning a curious caller into a showroom visit.
Home-services quote intakeFlow
Captures quote requests for home projects — job type, scope and details — saves the lead, and books a free estimate visit so no enquiry slips away after hours.
Financial advisor bookingFlow
Qualifies interest in financial advice (retirement, investing, insurance), captures the lead, and books a consultation with an advisor — no compliance-sensitive advice given on the call.
Travel enquiry & bookingFlow
Handles holiday, flight, and hotel enquiries — captures the trip brief, saves the lead, books a consultation with a travel expert, and sends options on WhatsApp. Turns a browsing caller into a planned trip.
Inbound sales concierge
Answers inbound sales calls, looks the caller up in your CRM for context, answers product questions, and books or transfers when there's intent to buy.
Order & delivery status
Looks up a caller's recent order and gives an accurate status and delivery estimate, escalating to a human for anything unusual.
Billing dispute intakeFlow
Calmly takes billing disputes, verifies the account, captures the disputed charge, and opens a billing ticket for review.
Subscription cancel & retainFlow
Handles cancellation requests with a respectful save attempt — understands the reason, offers a relevant alternative, and processes or escalates the cancellation.
B2B invoice follow-upFlow
Chases outstanding B2B invoices with accounts-payable contacts, confirms status, and logs the promised payment date to a sheet.
Insurance policy verificationFlow
Verifies a policyholder's identity, confirms policy and coverage details, and routes anything beyond verification to a licensed agent.
Return & refund intakeFlow
Handles return and refund requests: looks up the order, captures the reason, and routes to a refund or a replacement — opening a ticket and texting the next steps.
SaaS demo schedulerFlow
Qualifies B2B SaaS prospects, captures company details into your CRM, and books a live demo on your calendar.

Other CRM integrations

Frequently asked questions

What can an AI voice agent do with Salesforce?+

During a live call or chat, a Telenow agent can create a crm lead, crm.list_leads, crm.update_leads, crm.log_call, look up a contact by phone, get a contact by id, create a crm contact, update a contact, get a lead by id, update a lead, get an account by id, update an account, list an account's opportunities, get an opportunity by id, get a case by id, get a user by id, create a task on a contact, add a note to a contact, get a custom object record, and update a custom object record — each runs as a tool the agent calls mid-conversation, so it acts on Salesforce in real time without a human.

How do you connect Salesforce to Telenow?+

In Telenow, open Integrations, pick Salesforce, and you connect Salesforce once with OAuth — no API keys to copy. Then add its crm tool to your agent (or install a template that already includes it) and you're live.

Which AI agent templates use Salesforce?+

Solar & home-improvement lead, Outbound SDR with objection handling, Loan eligibility pre-screen, EdTech admissions counselor, Car test-drive booking, Home-services quote intake, Financial advisor booking, Travel enquiry & booking, Inbound sales concierge, Order & delivery status, Billing dispute intake, Subscription cancel & retain, B2B invoice follow-up, Insurance policy verification, Return & refund intake, and SaaS demo scheduler all use Salesforce. You can install any of them and connect your Salesforce account in a couple of clicks.

Does Salesforce work on phone calls and WhatsApp?+

Yes. Telenow agents run on phone, web, chat and WhatsApp, and Salesforce works the same across every channel — the agent calls it whenever the conversation needs it.

How much does the Salesforce integration cost?+

Connecting Salesforce is included — you only pay Telenow's transparent per-minute and per-component usage, and new accounts get free signup credit to try it.

$1.00 free credit on signup

Connect Salesforce to your AI voice agent

Sign up free and get $1.00 in credit — no card required. Connect your number, pick a template, and go live in minutes.