Change a Salesforce record
Changes a Salesforce record's fields; waits for the owner by default.
$0.001 a call
From your agent’s balance. A call that fails costs nothing.
An example
Mark the Hotel Seeblick opportunity Closed Won at 18,400 euros.
Your agent callssalesforce_update$0.001 a call
The example business is Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff. The reply is the one the tool really gives.
{
"object": "Opportunity",
"id": "0065g00000Xy1AbAAJ",
"fields": {
"StageName": "Closed Won",
"Amount": 18400
}
}Use it when
An opportunity moves on, or a customer's details change.
What it does
Change fields of a record. On accounts with an owner it waits for the owner's approval by default, showing each field's value now and after. $0.001.
What comes back
record: id, object and the fields changed. Held calls answer approval_required first. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
objectRequired | string | The object's API name, like Account, Contact, Opportunity or Case. Matches ^[A-Za-z][A-Za-z0-9_]{0,79}$. |
idRequired | string | The record's id. Matches ^[A-Za-z0-9]{15}([A-Za-z0-9]{3})?$. |
fieldsRequired | object | Field API names and values, like {"StageName": "Closed Won", "Amount": 18400}. |
The call
Over MCP, call salesforce_update on https://api.conecto.chat/mcp/salesforce. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/salesforce_update \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"object":"Opportunity","id":"0065g00000Xy1AbAAJ","fields":{"StageName":"Closed Won","Amount":18400}}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
not_connected409 | Salesforce isn't connected yet. | Connect it with salesforce_connect. |
vendor_rejected502 | Salesforce refused: the app's keys, or the run-as user may not do that. | Give the run-as user the permission the message names. |
not_found404 | Salesforce has no record with that object and id. | Query first and use its id. |
invalid_input400 | Salesforce refused the query or the fields, or the object or id is not one. | Fix what the message names; field names are API names, like StageName. |
More Salesforce tools
All 6 tools- Connect Salesforce
salesforce_connectConnects the company's Salesforce org through its own connected app.Free - Query Salesforce
salesforce_queryRuns one SOQL SELECT statement and returns up to 200 records.Free* - Get a Salesforce record
salesforce_getOne Salesforce record by object and id, with all its fields or the ones named.Free* - Create a Salesforce record
salesforce_createMakes a record of any object the run-as user may create.$0.001 a call - Disconnect Salesforce
salesforce_disconnectForgets the connected app's secret; nothing in Salesforce changes.Free
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md