Skip to content
kommo logo

Kommo API

kommo

Kommo CRM API via curl. Use this skill for managing leads, contacts, companies, tasks, and sales pipelines.

SKILL.md

Full skill instructions

Kommo API

Use the Kommo API via direct curl calls for CRM management including leads, contacts, companies, tasks, and sales pipelines.

Official docs: https://developers.kommo.com/


When to Use

Use this skill when you need to:

  • Manage leads - Create, list, update leads in your sales pipeline
  • Handle contacts - Add and retrieve customer contact information
  • Track companies - Manage company records and associations
  • Create tasks - Schedule follow-ups and meetings
  • View pipelines - Get sales pipeline stages and statuses

Prerequisites

  1. Sign up at Kommo
  2. Create a private integration:
  • Go to Settings > Integrations > Create Integration
  • Select "Private integration"
  • Go to "Keys and scopes" tab
  • Click "Generate long-lived token"
  • Copy the token (it cannot be retrieved again)
  1. Note your subdomain from your Kommo URL: https://{subdomain}.kommo.com
export KOMMO_SUBDOMAIN="your-subdomain" # e.g., "mycompany" (not "mycompany.kommo.com")
export KOMMO_API_KEY="your-long-lived-token"

Important: When using $VAR in a command that pipes to another command, wrap the command containing $VAR in bash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.

bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"'

How to Use

All examples below assume you have environment variables set.

The base URL is: https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4

Authentication uses Bearer token in the Authorization header.

Rate limit: Maximum 7 requests per second.


1. List Leads

Get all leads in your account:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​leads" -H "Accept: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}"' | jq '.["_embedded"]["leads"][] | {id, name, price}'

With filters:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​leads?limit=10&page=1" -H "Accept: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}"' | jq '.["_embedded"]["leads"]'

2. Get Lead by ID

Get a specific lead:

Replace <your-lead-id> with the actual lead ID:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​leads/<your-lead-id>" -H "Accept: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}"'

3. Create Lead

Create a new lead:

Write to /​tmp/​kommo_request.json:

[{
  "name": "New Lead",
  "price": 5000
}]

Then run:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​leads" -X POST -H "Content-Type: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}" -d @/​tmp/​kommo_request.json'

4. Create Lead with Contact and Company

Create a lead with associated contact and company:

Write to /​tmp/​kommo_request.json:

[{
  "name": "Lead with Contact",
  "price": 10000,
  "_embedded": {
    "contacts": [{
      "first_name": "John",
      "last_name": "Doe"
    }],
    "companies": [{
      "name": "Acme Corp"
    }]
  }
}]

Then run:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​leads/​complex" -X POST -H "Content-Type: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}" -d @/​tmp/​kommo_request.json'

5. Update Lead

Update an existing lead:

Write to /​tmp/​kommo_request.json:

{
  "price": 7500,
  "name": "Updated Lead Name"
}

Then run:

Replace <your-lead-id> with the actual lead ID:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​leads/<your-lead-id>" -X PATCH -H "Content-Type: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}" -d @/​tmp/​kommo_request.json'

6. List Contacts

Get all contacts:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​contacts" -H "Accept: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}"' | jq '.["_embedded"]["contacts"][] | {id, name}'

7. Get Contact by ID

Get a specific contact:

Replace <your-contact-id> with the actual contact ID:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​contacts/<your-contact-id>" -H "Accept: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}"'

8. Create Contact

Create a new contact:

Write to /​tmp/​kommo_request.json:

[{
  "first_name": "Jane",
  "last_name": "Smith"
}]

Then run:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​contacts" -X POST -H "Content-Type: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}" -d @/​tmp/​kommo_request.json'

9. List Companies

Get all companies:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​companies" -H "Accept: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}"' | jq '.["_embedded"]["companies"][] | {id, name}'

10. Create Company

Create a new company:

Write to /​tmp/​kommo_request.json:

[{
  "name": "New Company Inc"
}]

Then run:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​companies" -X POST -H "Content-Type: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}" -d @/​tmp/​kommo_request.json'

11. List Tasks

Get all tasks:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​tasks" -H "Accept: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}"' | jq '.["_embedded"]["tasks"][] | {id, text, complete_till}'

12. Create Task

Create a new task (use Unix timestamp for complete_till):

Write to /​tmp/​kommo_request.json:

[{
  "text": "Follow up with client",
  "complete_till": 1735689600,
  "task_type_id": 1
}]

Then run:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​tasks" -X POST -H "Content-Type: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}" -d @/​tmp/​kommo_request.json'

Task types: 1 = Follow-up, 2 = Meeting


13. List Pipelines

Get all sales pipelines:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​leads/​pipelines" -H "Accept: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}"' | jq '.["_embedded"]["pipelines"][] | {id, name}'

14. Get Pipeline Stages

Get stages for a specific pipeline:

Replace <your-pipeline-id> with the actual pipeline ID:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​leads/​pipelines/<your-pipeline-id>" -H "Accept: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}"' | jq '.["_embedded"]["statuses"][] | {id, name}'

15. Get Account Info

Get account information:

bash -c 'curl -s "https://${KOMMO_SUBDOMAIN}.kommo.com/​api/​v4/​account" -H "Accept: application/​json" -H "Authorization: Bearer ${KOMMO_API_KEY}"' | jq '{id, name, subdomain, currency}'

Response Format

Lead Response

{
  "id": 12345,
  "name": "Lead Name",
  "price": 5000,
  "responsible_user_id": 123,
  "pipeline_id": 456,
  "status_id": 789
}

Contact Response

{
  "id": 12345,
  "name": "John Doe",
  "first_name": "John",
  "last_name": "Doe"
}

Guidelines

  1. Rate limit: Maximum 7 requests per second, 429 returned if exceeded
  2. Array format: POST requests for creating entities expect an array of objects
  3. Use pagination: Add ?limit=N&page=N for large result sets
  4. Task timestamps: complete_till is Unix timestamp in seconds
  5. If-Modified-Since: Use this header for efficient polling of list endpoints

More Sales & marketing skills

revops logo
Sales & marketing

revops

Design and optimize systems connecting marketing, sales, and customer success into a unified revenue engine.

53.3K 104.9K
View
lead-magnets logo
Sales & marketing

lead-magnets

Strategic planning and optimization for email capture offers and gated content.

53.3K 103.4K
View
directory-submissions logo
Sales & marketing

directory-submissions

Directory submissions: the foundation layer of distribution that passes backlinks and discovery surface area into your marketing pages.

53.3K 76.3K
View
gsap-timeline logo
Sales & marketing

gsap-timeline

Sequence and choreograph multi-step animations with precise timing control and nested timelines.

15.9K 58.4K
View
launch-strategy logo
Sales & marketing

launch-strategy

Structured framework for planning product launches, feature announcements, and go-to-market strategies.

53.3K 56.8K
View
gws-drive-upload logo
Sales & marketing

gws-drive-upload

Upload files to Google Drive with automatic MIME type detection and metadata.

31.2K 47.2K
View
ci-cd-and-automation logo
Sales & marketing

ci-cd-and-automation

Automates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.

101.4K 43.2K
View
persona-team-lead logo
Sales & marketing

persona-team-lead

Team leadership persona with standup coordination, meeting prep, task delegation, and team communication.

31.2K 29.3K
View
recipe-find-large-files logo
Sales & marketing

recipe-find-large-files

Identify large Google Drive files consuming storage quota.

31.2K 29.2K
View

Sales & marketing AI tools

KreadoAI logo
Sales & marketing

KreadoAI

Revolutionize Video Creation with AI-Generated Avatars and Voices

Paid
View
Followr logo
Sales & marketing

Followr

Social media on autopilot

Paid
View
Logodiffusion logo
Sales & marketing

Logodiffusion

Design custom logos instantly with AI.

Paid
View
I
Sales & marketing

Ideogram

Text-heavy marketing and design images

Freemium
View
Prompt Silo logo
Sales & marketing

Prompt Silo

Boost Your SEO with Content and SEO Silos

Free
View
Marketing Blocks logo
Sales & marketing

Marketing Blocks

Revolutionize Your Marketing with AI-Powered MarketingBlocks!

Paid
View
Scrip AI logo
Sales & marketing

Scrip AI

10X faster & free AI content creation for 100+ use cases

Free
View
Tribescaler logo
Sales & marketing

Tribescaler

Tribescaler | Make Your Tweets Go Viral

Paid
View