amo-crm-api skill
A skill for agent work with the amoCRM API v4: search, create and update deals, contacts, companies, tasks and notes
- 0 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Creates and updates deals, contacts and tasks in a live amoCRM account, including in bulk
- Holds a long-lived token with access to customer data
- Can route account events to an external URL via webhooks
Install
- Works in
- Services
Manual install
git clone https://github.com/MissiaL/amo-crm-api ~/.claude/skills/amo-crm-apiThen set AMOCRM_SUBDOMAIN and AMOCRM_TOKEN or fill .env from .env.example.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Creates and updates deals, contacts and tasks in a live amoCRM account, including in bulk
- Holds a long-lived token with access to customer data
- Can route account events to an external URL via webhooks
This is third-party code. Review the repository files before installing.
What it does
The skill teaches the agent to operate amoCRM through REST API v4. All requests go through a small standard-library Python client that adds the token and account subdomain. The agent loads reference files per API area as needed: conventions and filters, deals, contacts and companies, tasks and notes, and dictionaries of pipelines, users and fields. SKILL.md walks through common flows: create a deal with a new contact, find a customer's deals, move a deal to another status, set and close a task. It also manages webhook subscriptions but cannot receive events.
Who it is for. For sales teams and developers who want to hand amoCRM routine to an agent in plain language.
Good fit when
- You need to find open deals by pipeline or owner and set tasks on them
- You need to create a deal together with a contact and company
- You need to move many deals to another status
Not a fit when
- You need to receive amoCRM webhooks: that requires a separate HTTPS service
- You want general CRM advice rather than operations in an account
Example request
Find all open deals in the main pipeline owned by Ivan and set a task to call tomorrow on eachLimitations
Creating the integration and long-lived token requires amoCRM account admin rights. The token lasts from one day to five years with no refresh and must be regenerated after expiry. The skill targets amocrm.ru accounts and does not implement OAuth flow. Requires Python.
How to disable. Delete ~/.claude/skills/amo-crm-api and revoke the token in the amoCRM integration settings.
FAQ
Where do I get a token?
In amoCRM go to amoMarket integrations, create an integration, then generate a token on its keys and access tab.
What does a 401 on the check mean?
The token is invalid, expired or revoked, or the integration was disabled.
Discussion
No questions or reviews yet.
Related
All amoCRM toolsMCP server for the amoCRM (Kommo) API v4: leads, contacts, companies, tasks, pipelines, unsorted inbox and analytics
A minimal MCP server for amoCRM API v4: read and create leads, contacts and notes, with OAuth2 and long-term tokens
amoCRM MCP with protection against destructive writes
Я Мебель — amoCRM MCP
An amoCRM API v4 connector with two-tier write protection: edits behind a WRITE_ENABLED flag, deletions need a separate flag plus confirm=true
Telegram lead-qualification skill with amoCRM
Universal AI Sales Agent
Three skills and a reference Telegram lead-qualification agent: free-form dialog, 0-100 scoring, RAG over a client base, amoCRM write-back
AmoCRM MCP Server on FastMCP (21 tools)
AmoCRM MCP Server
A compact FastMCP-based MCP server with 21 tools for AmoCRM: contacts, deals, tasks, notes, tags and pipelines in a single server.py
amoCRM sales manager MCP server
amoCRM ROP MCP Server
An MCP server with business tools on top of amoCRM for a sales manager: department overview, stale deals, manager comparison
README in short
The README lists the skill's parts: SKILL.md, per-area API references and a Python client. Install is a clone into the Claude Code skills folder. It explains step by step how to create an amoCRM integration and get a long-lived token, which env vars to set and how to test the connection. It notes that webhooks are only configured, not received. MIT licensed.
README badge
Original SKILL.md
---
name: amo-crm-api
description: "Work with amoCRM (amo CRM, амоСРМ) REST API v4: сделки, контакты, компании, задачи, примечания, справочники и webhook-подписки. Use for amoCRM API requests and account data operations on *.amocrm.ru; not for generic CRM advice."
metadata: {"author":"MissiaL","version":"0.2.0","keywords":["amocrm","crm","sales","leads","contacts","tasks"]}
---
# amo-crm-api
Full CRUD over amoCRM REST API v4 — leads, contacts, companies, tasks, notes,
plus dictionary lookups (pipelines, users, custom fields, tags) and webhook
subscription management.
## Setup
Two environment variables are required:
| Var | Example | Where to get it |
|---|---|---|
| `AMOCRM_SUBDOMAIN` | `mycompany` | The part before `.amocrm.ru` in your account URL |
| `AMOCRM_TOKEN` | `eyJ0eXAi...` | Long-lived token from amoMarket → Integrations → integration keys |
Sanity-check the setup:
```bash
python scripts/api_call.py --method GET --url "/api/v4/account"
```
A 200 with the account JSON means you're set. A 401 means the token is invalid,
expired, revoked, or the integration was disabled. Long-lived tokens have a
user-selected expiry of 1 day to 5 years and no refresh token.
## HTTP client
All requests go through `scripts/api_call.py`. The script signs every request
with `Authorization: Bearer ${AMOCRM_TOKEN}`, prefixes relative URLs with
`https://${AMOCRM_SUBDOMAIN}.amocrm.ru`, and sends bodies as JSON.