kommo

Kommo (formerly amoCRM) API. Use when user mentions "Kommo", "amoCRM", "CRM", or sales pipeline management.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "kommo" with this command: npx skills add vm0-ai/vm0-skills/vm0-ai-vm0-skills-kommo

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"

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:

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

With filters:

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

2. Get Lead by ID

Get a specific lead:

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

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/leads/<your-lead-id>" -H "Accept: application/json" -H "Authorization: Bearer $(printenv KOMMO_API_KEY)"

3. Create Lead

Create a new lead:

Write to /tmp/kommo_request.json:

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

Then run:

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/leads" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(printenv 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:

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/leads/complex" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(printenv 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:

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/leads/<your-lead-id>" -X PATCH -H "Content-Type: application/json" -H "Authorization: Bearer $(printenv KOMMO_API_KEY)" -d @/tmp/kommo_request.json

6. List Contacts

Get all contacts:

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/contacts" -H "Accept: application/json" -H "Authorization: Bearer $(printenv 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:

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/contacts/<your-contact-id>" -H "Accept: application/json" -H "Authorization: Bearer $(printenv KOMMO_API_KEY)"

8. Create Contact

Create a new contact:

Write to /tmp/kommo_request.json:

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

Then run:

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/contacts" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(printenv KOMMO_API_KEY)" -d @/tmp/kommo_request.json

9. List Companies

Get all companies:

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/companies" -H "Accept: application/json" -H "Authorization: Bearer $(printenv 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:

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/companies" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(printenv KOMMO_API_KEY)" -d @/tmp/kommo_request.json

11. List Tasks

Get all tasks:

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/tasks" -H "Accept: application/json" -H "Authorization: Bearer $(printenv 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:

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/tasks" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(printenv KOMMO_API_KEY)" -d @/tmp/kommo_request.json

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


13. List Pipelines

Get all sales pipelines:

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/leads/pipelines" -H "Accept: application/json" -H "Authorization: Bearer $(printenv 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:

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

15. Get Account Info

Get account information:

curl -s "https://$(printenv KOMMO_SUBDOMAIN).kommo.com/api/v4/account" -H "Accept: application/json" -H "Authorization: Bearer $(printenv 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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

google-sheets

No summary provided by upstream source.

Repository SourceNeeds Review
246-vm0-ai
General

apify

No summary provided by upstream source.

Repository SourceNeeds Review
214-vm0-ai
General

hackernews

No summary provided by upstream source.

Repository SourceNeeds Review
169-vm0-ai
General

serpapi

No summary provided by upstream source.

Repository SourceNeeds Review
164-vm0-ai