Skip to main content

salesforce

Query and manage Salesforce CRM — accounts, contacts, leads, opportunities, and cases via the REST API.

Source facts

Repository
ThinkfleetAI/thinkfleet-engine
Last source activity
February 1, 2026 at 16:21
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
salesforce
description
Query and manage Salesforce CRM — accounts, contacts, leads, opportunities, and cases via the REST API.
metadata
{"thinkfleetbot":{"emoji":"☁️","requires":{"bins":"[Truncated]","env":"[Truncated]"}}}
# Salesforce Query and manage CRM data via the Salesforce REST API. ## Environment Variables - `SALESFORCE_INSTANCE_URL` - Instance URL (e.g. `https://myorg.my.salesforce.com`) - `SALESFORCE_ACCESS_TOKEN` - OAuth access token ## Query records (SOQL) ```bash curl -s -H "Authorization: Bearer $SALESFORCE_ACCESS_TOKEN" \ "$SALESFORCE_INSTANCE_URL/services/data/v59.0/query?q=$(python3 -c "import urllib.parse; print(urllib.parse.quote('SELECT Id, Name, Industry FROM Account LIMIT 10'))")" | jq '.records[] | {Id, Name, Industry}' ``` ## Get account ```bash curl -s -H "Authorization: Bearer $SALESFORCE_ACCESS_TOKEN" \ "$SALESFORCE_INSTANCE_URL/services/data/v59.0/sobjects/Account/ACCOUNT_ID" | jq '{Id, Name, Industry, Phone, Website}' ``` ## Create lead ```bash curl -s -X POST -H "Authorization: Bearer $SALESFORCE_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ "$SALESFORCE_INSTANCE_URL/services/data/v59.0/sobjects/Lead" \ -d '{"FirstName":"John","LastName":"Doe","Company":"Acme","Email":"john@acme.com"}' | jq '{id, success}' ``` ## List opportunities ```bash curl -s -H "Authorization: Bearer $SALESFORCE_ACCESS_TOKEN" \ "$SALESFORCE_INSTANCE_URL/services/data/v59.0/query?q=$(python3 -c "import urllib.parse; print(urllib.parse.quote('SELECT Id, Name, StageName, Amount, CloseDate FROM Opportunity LIMIT 10'))")" | jq '.records[] | {Id, Name, StageName, Amount}' ``` ## Update record ```bash curl -s -X PATCH -H "Authorization: Bearer $SALESFORCE_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ "$SALESFORCE_INSTANCE_URL/services/data/v59.0/sobjects/Account/ACCOUNT_ID" \ -d '{"Phone":"555-1234"}' ``` ## Notes - API version v59.0 used; update as needed. - Always confirm before creating or updating records.
View on GitHub