Usage Guide

Salesforce Easy
— how to use it

Complete guide to installing, connecting, and working with your Salesforce data through natural language in OpenClaw.

v v1.0.16
@ sawera557
Static analysis: Benign
01
Install the skill
One-time setup · takes about 2 minutes
OpenClaw CLI Required
$ openclaw skills install salesforce-easy

Downloads all scripts and a pinned requirements.txt to your OpenClaw skills folder.

Python dependencies Required
$ cd ~/.openclaw/skills/salesforce-easy
$ pip install -r requirements.txt
Always install from requirements.txt. Versions are pinned to reviewed releases — do not run a bare pip install simple-salesforce.
02
Connect to Salesforce
Choose one credential method
🌟 Salesforce Platform CLI — zero secrets needed

The safest method. The sf CLI stores tokens in your local keychain after a one-time browser login. No passwords, no client secrets, no .env secrets needed.

Step 1 — install the CLI (one time)
$ npm install -g @salesforce/cli
Step 2 — authenticate in browser (one time)
$ sf org login web --alias myorg
$ # For sandbox:
$ sf org login web --alias mysandbox --instance-url https://test.salesforce.com
Step 3 — extract token into skill
$ python scripts/oauth.py platform --list
$ python scripts/oauth.py platform --alias myorg

Token is set in the current process. To persist: copy the printed SALESFORCE_ACCESS_TOKEN and SALESFORCE_INSTANCE_URL values into your .env file.

npm install sf
sf org login web
oauth.py platform
token loaded ✓
Verify connection
$ python scripts/connect.py test

Expected: "Connection active. Logged in as: Your Name"

03
Query your data
Natural language · no SOQL needed
Leads
Contacts & Accounts
Opportunities & pipeline
Custom SOQL (advanced)
"Run SOQL: SELECT Name, Email FROM Lead
 WHERE Company LIKE '%Tech%'
 ORDER BY CreatedDate DESC LIMIT 50"
04
Create & update records
All writes require explicit confirmation
Create — leads
Create — opportunities & tasks
Update records
Duplicates
05
Bulk & destructive ops
Confirmation required · backups auto-exported
Every create, update, and delete — single or bulk — requires confirmed=True before executing. The skill shows you exactly what will be affected and asks you to confirm. Bulk deletes automatically export a snapshot of records before deletion.
Confirmation flow
You make request
Skill previews impact
You say "yes"
Changes applied
Limits per batch
OperationMax recordsImpact level
Bulk create200reversible
Bulk update200review first
Bulk delete200backup auto-exported
Example bulk commands
06
GTM data standardization
standardize.py · automate.py
Step 1 — create custom fields in Salesforce Setup Manual step

Go to Setup → Object Manager → Lead → Fields & Relationships → New. Repeat for Contact and Account.

GTM_Industry__cPicklist
GTM_Vertical__cPicklist
GTM_Role_Category__cPicklist
GTM_Seniority__cPicklist
GTM_Standardized__cCheckbox
Step 2 — audit existing data
$ python scripts/standardize.py audit --object all

Shows data quality score and unmapped field counts. Read-only — no changes made.

Step 3 — preview changes
$ python scripts/standardize.py preview --object Lead --limit 20
$ python scripts/standardize.py execute --object all --dry-run
Step 4 — run the backfill
$ python scripts/standardize.py execute --object all

Maps all existing Lead, Contact, and Account records to your GTM taxonomy.

Step 5 — automate new records Sandbox first
Flows are org-wide. Test in a sandbox before deploying to production.
$ python scripts/automate.py deploy --confirm
$ python scripts/automate.py status

Flows deploy in Draft state. Go to Setup → Flows to activate each one manually.

Reports
$ python scripts/standardize.py report --type attribution
$ python scripts/standardize.py report --type gaps
07
Troubleshooting
Common errors and fixes
ErrorCauseFix
Authentication failed Wrong credentials Check SALESFORCE_INSTANCE_URL, regenerate token
Invalid session ID Token expired Re-run OAuth flow, update .env
Invalid SOQL query Wrong field name Field names are case-sensitive — check API name in Setup
No results found Sharing rules Check record permissions and org sharing settings
Request limit exceeded API cap hit Developer Edition = 15k calls/day. Wait or upgrade
GTM fields not found Setup skipped Create custom fields manually in Salesforce Setup (step 6)
Query timeout Too many records Add LIMIT clause, use indexed filter fields (Id, Email)
API rate limits by edition
EditionAPI calls / 24h
Developer Edition15,000
Professional Edition1,000 per user
Enterprise Edition5,000 per user
Unlimited Edition5,000 per user