Freshsales CRM integration — manage contacts, leads, deals, accounts, tasks, and sales sequences via the Freshsales API. Track deal pipelines, automate lead assignments, log activities, and generate sales reports. Built for AI agents — Python stdlib only, no dependencies. Use for sales CRM, contact management, deal tracking, pipeline reporting, and sales automation.
Freshsales CRM integration — manage contacts, leads, deals, accounts, tasks, and sales sequences via the Freshsales API.
| Variable |
|---|
| Required |
|---|
| Description |
|---|
FRESHSALES_API_KEY | ✅ | API key/token for Freshsales |
FRESHSALES_DOMAIN | ✅ | Your Freshsales domain (e.g. yourorg.freshsales.io) |
# List contacts
python3 {baseDir}/scripts/freshsales.py contacts --limit 20
# Get contact details
python3 {baseDir}/scripts/freshsales.py contact-get 12345
# Create a contact
python3 {baseDir}/scripts/freshsales.py contact-create '{"first_name":"Jane","last_name":"Doe","email":"[email protected]"}'
# Update a contact
python3 {baseDir}/scripts/freshsales.py contact-update 12345 '{"lead_score":85}'
contactsList contacts.
python3 {baseDir}/scripts/freshsales.py contacts --limit 20
contact-getGet contact details.
python3 {baseDir}/scripts/freshsales.py contact-get 12345
contact-createCreate a contact.
python3 {baseDir}/scripts/freshsales.py contact-create '{"first_name":"Jane","last_name":"Doe","email":"[email protected]"}'
contact-updateUpdate a contact.
python3 {baseDir}/scripts/freshsales.py contact-update 12345 '{"lead_score":85}'
leadsList leads.
python3 {baseDir}/scripts/freshsales.py leads --limit 20 --sort updated_at
lead-createCreate a lead.
python3 {baseDir}/scripts/freshsales.py lead-create '{"first_name":"John","company":"Acme"}'
dealsList deals.
python3 {baseDir}/scripts/freshsales.py deals --limit 20
deal-createCreate a deal.
python3 {baseDir}/scripts/freshsales.py deal-create '{"name":"Acme Upgrade","amount":50000}'
deal-updateUpdate deal stage.
python3 {baseDir}/scripts/freshsales.py deal-update 789 '{"deal_stage_id":3}'
accountsList accounts.
python3 {baseDir}/scripts/freshsales.py accounts --limit 20
tasksList tasks.
python3 {baseDir}/scripts/freshsales.py tasks --limit 10 --status open
task-createCreate a task.
python3 {baseDir}/scripts/freshsales.py task-create '{"title":"Follow up with Acme","due_date":"2026-03-01"}'
searchSearch across all entities.
python3 {baseDir}/scripts/freshsales.py search "Acme"
activitiesList recent activities.
python3 {baseDir}/scripts/freshsales.py activities --limit 20
pipelinePipeline summary.
python3 {baseDir}/scripts/freshsales.py pipeline
All commands output JSON by default. Add --human for readable formatted output.
# JSON (default, for programmatic use)
python3 {baseDir}/scripts/freshsales.py contacts --limit 5
# Human-readable
python3 {baseDir}/scripts/freshsales.py contacts --limit 5 --human
| Script | Description |
|---|---|
{baseDir}/scripts/freshsales.py | Main CLI — all Freshsales operations |
This skill never stores data locally. All requests go directly to the Freshsales API and results are returned to stdout. Your data stays on Freshsales servers.
Built by M. Abidi | agxntsix.ai YouTube | GitHub Part of the AgxntSix Skill Suite for OpenClaw agents.
📅 Need help setting up OpenClaw for your business? Book a free consultation