planfix_add_to_lead_task
Create or update Planfix contact, task, and comment for a lead.
Run Planfix CRM from the conversation — leads, contacts, companies, tasks, comments and reports — with your account's custom field IDs mapped once in configuration.
LABSCO SUMMARY
The difficulty in a Planfix integration is not the API, it is that nearly everything meaningful lives in a custom field whose ID differs from account to account. Mapping that once — including extra lead, contact and user fields with their own argument names and enum values — is what lets an agent create a lead with a pipeline and tags instead of assembling a numbered payload. Contact search accepting a name in both Russian and English is a small detail that matters constantly in practice, and planfix_request is the escape hatch for whatever is not modelled.
A server over the Planfix REST API covering the CRM workflow: find or create a contact, open a lead task, convert it into a sell task, comment on it, walk its child tasks, and run the reports the account already defines. Because Planfix keeps most meaning in custom fields, the setup is largely telling it which field IDs mean what.
Published as @popstas/planfix-mcp-server and launched over stdio, with an SSE binary alongside. PLANFIX_ACCOUNT and PLANFIX_TOKEN authenticate against Planfix REST API v2.0 as a Bearer token, and PLANFIX_BASE_URL overrides the endpoint for .ru and other regional installations. Most of the remaining configuration is field mapping — the custom field IDs for email, phone, Telegram, client, manager, agency, lead source, pipeline, tags and external lead ID, plus the lead task template. Those live in environment variables or in a config.yml, where entries matching by id take precedence and extra lead, contact and user fields can be declared with their own argument names and enum values.
One command plus a key — npx @popstas/planfix-mcp-server, then supply credentials
USE CASES
One call creates or updates the contact, opens the lead task with its pipeline and tags, and leaves the enquiry as a comment.
Search contacts by phone, email or Telegram — and by name in either language — then check the company alongside them.
Find the lead task, then create the sell task against the right agency, client and project with assignees attached.
A comment on the task, addressed to specific recipients, or silent when it should not notify anyone.
List the reports, inspect one's fields, then run it with the grouping and period you want rather than rebuilding it by hand.
planfix_request calls the REST API directly with a method, path and body, with a cache time to avoid repeating it.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
planfix_add_to_lead_taskCreate or update Planfix contact, task, and comment for a lead.
planfix_create_commentCreate a comment for a task in Planfix
planfix_create_contactCreate a new contact in Planfix
planfix_create_lead_taskCreate a new lead task in Planfix
planfix_create_sell_taskCreate a sell task in Planfix using textual data for agency and contact
planfix_create_sell_task_idsCreate a sell task in Planfix using numeric identifiers
planfix_create_taskCreate a task using textual parameters
planfix_get_child_tasksGet all child tasks of a specific parent task in Planfix
planfix_get_report_fieldsGet fields of a specific report in Planfix
planfix_reports_listList all available reports in Planfix with their IDs and names
planfix_requestMake a generic request to the Planfix API with the specified method, path, and body. Use when swagger.json was read.
planfix_run_reportRun a Planfix report by ID and return the report data.
planfix_search_companySearch for a company in Planfix by name
planfix_search_contactSearch for a contact in Planfix by name, phone, email, or telegram. Use name in 2 languages: Russian and English.
planfix_search_directorySearch for a Planfix directory by name
planfix_search_directory_entrySearch for directory entry id by directory name and entry name
planfix_search_lead_taskSearch Planfix task by user data. Use name in 2 languages: Russian and English.
planfix_search_managerSearch for a manager in Planfix by email or id
planfix_search_projectSearch for a project in Planfix by name
planfix_search_taskSearch for a task in Planfix by title or client ID
planfix_update_contactUpdate a contact in Planfix with new data
planfix_update_lead_taskUpdate a lead task in Planfix
BEFORE YOU INSTALL
22 tools when we connected. The documentation uses internal camelCase names such as leadToTask while the server registers snake_case names. planfix_request, planfix_search_project and planfix_get_report_fields are undocumented.
CONTEXT COST
Rated by the size of the 22 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Add the block to your client, or run the command directly.
{
"mcpServers": {
"planfix": {
"command": "npx",
"args": [
"-y",
"@popstas/planfix-mcp-server"
],
"env": {
"PLANFIX_ACCOUNT": "<YOUR_PLANFIX_ACCOUNT>",
"PLANFIX_TOKEN": "<YOUR_PLANFIX_TOKEN>",
"PLANFIX_FIELD_ID_EMAIL": "123",
"PLANFIX_FIELD_ID_PHONE": "124",
"PLANFIX_FIELD_ID_TELEGRAM": "1",
"PLANFIX_FIELD_ID_TELEGRAM_CUSTOM": "125",
"PLANFIX_FIELD_ID_CLIENT": "126",
"PLANFIX_FIELD_ID_MANAGER": "127",
"PLANFIX_FIELD_ID_AGENCY": "128",
"PLANFIX_FIELD_ID_TAGS": "129",
"PLANFIX_FIELD_ID_LEAD_ID": "130",
"PLANFIX_LEAD_TEMPLATE_ID": "42",
"PLANFIX_TASK_TITLE_TEMPLATE": "{name} - работа с клиентом"
}
}
}
}npx @popstas/planfix-mcp-server