Skip to content
Text to sign in
Help & resourcesView Markdown

Salesforce: what the assistant can do

Everything the assistant can do in Salesforce by text: 23 actions, with example texts, the Salesforce API call behind each one, and which ones ask first or can be undone.

In Salesforce, the assistant can find a contact, find an account, find a lead, add a contact, update a contact, add a lead, update a lead, add an account, update an account, put a contact under an account, log a visit, log a call, add a meeting, add a note, create a follow-up task, complete a task, reschedule a task, create an opportunity, move an opportunity, change an opportunity, list open opportunities, list your tasks and catch up on a record. You ask by text, in your own words.

Status: Built, not open yet. How to connect, permissions and limits: Salesforce.

What it does Asks first? Undo
Find a contact No –
Find an account No –
Find a lead No –
Add a contact If unsure 10 minutes
Update a contact If unsure 10 minutes
Add a lead If unsure 10 minutes
Update a lead If unsure 10 minutes
Add an account If unsure 10 minutes
Update an account If unsure 10 minutes
Put a contact under an account If unsure 10 minutes
Log a visit If unsure 10 minutes
Log a call If unsure 10 minutes
Add a meeting If unsure 10 minutes
Add a note If unsure 10 minutes
Create a follow-up task If unsure 10 minutes
Complete a task If unsure 10 minutes
Reschedule a task If unsure 10 minutes
Create an opportunity If unsure 10 minutes
Move an opportunity If unsure 10 minutes
Change an opportunity If unsure 10 minutes
List open opportunities No –
List your tasks No –
Catch up on a record No –

Asking first and undo follow the same rules for every tool: see Confirmations and undo.

Looks up a contact or open lead by name, email, phone or company and replies with their phone, email, title and account.

  • Asks before doing it? No. It only looks things up.
  • Can be undone? Nothing to undo: it doesn’t change anything.
  • Salesforce API call: GET /services/data/v68.0/search?q=FIND {…} RETURNING Contact(…), Lead(…)
  • Action name: salesforce.find_contact

Example texts:

  • “what’s Dana Whitfield’s number?”
  • “email for Mike at Lone Star Hardware?”
  • “who is 512-555-0142”

Looks up an account by name, website or phone and replies with its phone, website and city.

  • Asks before doing it? No. It only looks things up.
  • Can be undone? Nothing to undo: it doesn’t change anything.
  • Salesforce API call: GET /services/data/v68.0/search?q=FIND {…} RETURNING Account(…)
  • Action name: salesforce.find_account

Example texts:

  • “look up Acme Supply in Salesforce”
  • “what’s the main number for Brazos Builders?”
  • “is Lone Star Hardware an account?”

Looks up an open (not yet converted) lead and replies with their company, phone and email.

  • Asks before doing it? No. It only looks things up.
  • Can be undone? Nothing to undo: it doesn’t change anything.
  • Salesforce API call: GET /services/data/v68.0/search?q=FIND {…} RETURNING Lead(…)
  • Action name: salesforce.find_lead

Example texts:

  • “find the Patel lead”
  • “is Shah Fabrication a lead in Salesforce?”
  • “what’s the status on the Gulf Coast lead”

Adds a new contact with their phone, email and title, under the account they work for.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: POST /services/data/v68.0/sobjects/Contact
  • Action name: salesforce.create_contact

Example texts:

  • “add Dana Whitfield, purchasing at Acme Supply, 512-555-0142”
  • “new contact: Jason Lee jlee@brazosbuilders.com”
  • “save Maria Gomez from Gulf Coast Distributors as a contact, her cell is 713-555-0199”

Changes a contact’s email, phone, cell, title or a misspelled name.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: PATCH /services/data/v68.0/sobjects/Contact/{id}
  • Action name: salesforce.update_contact

Example texts:

  • “Dana Whitfield’s new email is dana.w@acmesupply.com”
  • “update Tom Becker’s cell to 512-555-0188”
  • “Jason Lee is now the purchasing manager”

Adds a new prospect as a lead with their company, phone and email, and a lead status if you give one.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: POST /services/data/v68.0/sobjects/Lead
  • Action name: salesforce.create_lead

Example texts:

  • “new lead: Priya Shah at Shah Fabrication, priya@shahfab.com”
  • “add a lead, Carlos Ruiz from Hill Country Plumbing Supply, 512-555-0130”
  • “met a prospect at the trade show, Jen Park with Park Builders, put her in as a lead”

Changes a lead’s status (working, nurturing, unqualified…), company, email, phone or title. It doesn’t convert the lead.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: PATCH /services/data/v68.0/sobjects/Lead/{id}
  • Action name: salesforce.update_lead

Example texts:

  • “mark the Priya Shah lead as working”
  • “Carlos Ruiz lead is unqualified, they went with a competitor”
  • “update Jen Park’s lead email to jen@parkbuilders.com”

Adds a new account (company) with its website, phone and city.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: POST /services/data/v68.0/sobjects/Account
  • Action name: salesforce.create_account

Example texts:

  • “add Gulf Coast Distributors as an account, gulfcoastdist.com”
  • “new account: Shah Fabrication in Round Rock, 512-555-0130”
  • “create an account called Amy’s Birds”

Changes an account’s name, website, main phone or billing address.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: PATCH /services/data/v68.0/sobjects/Account/{id}
  • Action name: salesforce.update_account

Example texts:

  • “Acme Supply’s new number is 512-555-0111”
  • “update Brazos Builders address to 1400 Industrial Blvd, Round Rock”
  • “Lone Star Hardware website is lonestarhw.com”

Moves an existing contact to an existing account (the person works there now).

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: PATCH /services/data/v68.0/sobjects/Contact/{id}
  • Action name: salesforce.associate_contact_account

Example texts:

  • “add Amy to Amy’s Birds”
  • “Dana Whitfield works at Acme Supply now, link her”
  • “associate Tom Becker with Lone Star Hardware”

Logs how an in-person visit went as a completed activity on a contact, lead, account or opportunity.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: POST /services/data/v68.0/sobjects/Task
  • Action name: salesforce.log_visit

Example texts:

  • “log my visit with Acme, they want 200 units”
  • “met with Dana at Brazos Builders, she’s ready to sign after the board meeting”
  • “stopped by Lone Star Hardware this morning, talked to Tom about the spring order”

Logs a phone call that already happened, with what was said, as a call on the record.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: POST /services/data/v68.0/sobjects/Task
  • Action name: salesforce.log_call

Example texts:

  • “log a call with Jason Lee: wants samples sent to the Round Rock site”
  • “just talked to Dana at Acme on the phone, PO coming Monday”
  • “Tom from Lone Star Hardware called me, needs the spring order moved up a week”

Puts a meeting on your Salesforce calendar with a contact, account or opportunity, upcoming or just held. No invite is sent.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: POST /services/data/v68.0/sobjects/Event
  • Action name: salesforce.log_meeting

Example texts:

  • “set a meeting with Dana Whitfield Tuesday at 2 for an hour”
  • “book a pricing review with Brazos Builders Nov 4 at 10am”
  • “log a 30 min meeting with Tom at Lone Star this morning at 9, went over the spring order”

Saves a note (shown in the record’s Notes list) on a contact, lead, account or opportunity.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: POST /services/data/v68.0/composite (ContentNote + ContentDocumentLink)
  • Action name: salesforce.add_note

Example texts:

  • “note on Acme Supply: gate code 4411, ask for Maria at receiving”
  • “add a note to Dana Whitfield, prefers texts over calls”
  • “note on the Gulf Coast opportunity: pricing approved, waiting on PO”

Creates a task due on a date, with a reminder, optionally tied to a contact, lead, account or opportunity.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: POST /services/data/v68.0/sobjects/Task
  • Action name: salesforce.create_task

Example texts:

  • “remind me to send Acme pricing Friday”
  • “urgent: get Shah Fabrication a revised quote by Thursday”
  • “follow up with Dana Whitfield next Tuesday at 10”

Marks one of your open tasks done.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: PATCH /services/data/v68.0/sobjects/Task/{id}
  • Action name: salesforce.complete_task

Example texts:

  • “mark the Acme pricing task done”
  • “done with the follow up for Dana Whitfield”
  • “sent Shah Fabrication their revised quote, check that off”

Moves one of your open tasks to a new due date or time, or changes its priority.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: PATCH /services/data/v68.0/sobjects/Task/{id}
  • Action name: salesforce.update_task

Example texts:

  • “push the Acme pricing task to Monday”
  • “move my Dana follow-up to Thursday at 3”
  • “make the Shah Fabrication quote task high priority”

Creates an opportunity with an amount, stage and expected close date on an account, optionally with a contact.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: POST /services/data/v68.0/composite (Opportunity + OpportunityContactRole)
  • Action name: salesforce.create_opportunity

Example texts:

  • “new opportunity for Acme, 200 units, $40k, closing end of November”
  • “create a deal with Brazos Builders for the Round Rock job, 85k, proposal stage, close Dec 15”
  • “open an opp for Lone Star Hardware spring order $12,500 closing 11/30”

Moves an opportunity to another stage, including closed won or closed lost.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: PATCH /services/data/v68.0/sobjects/Opportunity/{id}
  • Action name: salesforce.update_opportunity_stage

Example texts:

  • “move the Acme opportunity to proposal”
  • “mark Brazos Builders closed won!”
  • “Lone Star Hardware deal is lost, they went with a competitor”

Changes an opportunity’s amount, expected close date or owner, and can hand it to a teammate.

  • Asks before doing it? Usually not. It asks first if it isn’t sure what you meant, a name only roughly matches, or the request covers more than 5 records.
  • Can be undone? Yes. Text “undo” within 10 minutes.
  • Salesforce API call: PATCH /services/data/v68.0/sobjects/Opportunity/{id}
  • Action name: salesforce.update_opportunity

Example texts:

  • “Acme opportunity is now 45k”
  • “push the Brazos Builders close date to Dec 15”
  • “give the Lone Star Hardware opp to Jake”

Lists open opportunities with amount, stage and close date, for an account or contact, or all of yours.

  • Asks before doing it? No. It only looks things up.
  • Can be undone? Nothing to undo: it doesn’t change anything.
  • Salesforce API call: GET /services/data/v68.0/query?q=SELECT … FROM Opportunity WHERE IsClosed = false …
  • Action name: salesforce.list_opportunities

Example texts:

  • “what opportunities do we have open with Acme Supply?”
  • “show me my pipeline”
  • “Dana Whitfield’s open deals”

Lists your open tasks due by a date (today if you don’t say), overdue ones included.

  • Asks before doing it? No. It only looks things up.
  • Can be undone? Nothing to undo: it doesn’t change anything.
  • Salesforce API call: GET /services/data/v68.0/query?q=SELECT … FROM Task WHERE OwnerId = … AND IsClosed = false …
  • Action name: salesforce.list_tasks

Example texts:

  • “what are my Salesforce tasks today?”
  • “what follow-ups do I have this week”
  • “anything overdue in Salesforce?”

Shows the latest calls, visits, meetings and notes on a contact, lead, account or opportunity.

  • Asks before doing it? No. It only looks things up.
  • Can be undone? Nothing to undo: it doesn’t change anything.
  • Salesforce API call: POST /services/data/v68.0/composite (Task, Event and ContentDocumentLink queries)
  • Action name: salesforce.recent_activity

Example texts:

  • “what’s the latest with Acme Supply?”
  • “when did I last talk to Dana Whitfield”
  • “recent activity on the Gulf Coast opportunity”

This list is generated from the code that runs each action, so it’s always current.