amo-crm-api

A skill for agent work with the amoCRM API v4: search, create and update deals, contacts, companies, tasks and notes

SkillHigh riskRussian stack

missial/amo-crm-api

Install

git clone https://github.com/MissiaL/amo-crm-api ~/.claude/skills/amo-crm-api

Then set AMOCRM_SUBDOMAIN and AMOCRM_TOKEN or fill .env from .env.example.

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 each

Limitations

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.

Security check

  • 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

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.

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.

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.

Editors’ pick

Salesforce's official DX MCP server: work with orgs, metadata, data, users and Apex tests from your agent

MCP serverHigh risk

E-Commerce Skills

E-Commerce Skills by Nexscope

A large set of text skills for Amazon, Shopify, eBay, Etsy, TikTok Shop and Walmart sellers: pricing, listings, ads and growth

SkillLow risk929

153 cross-border e-commerce skills via the LinkFox API: Amazon, Ozon, TikTok Shop, 1688, keywords, ads and patents

SkillMedium risk102

An MCP server for Bitrix24 CRM contacts and deals via an inbound webhook: search, lists and deal stage changes

MCP serverHigh riskRussian stack64