Nextcrm logo

Nextcrm

Community
pdovhomilja
nextcrm

Connect to NextCRM MCP server to manage CRM data — accounts, contacts, leads, opportunities, targets, products, contracts, activities, documents, target lists, enrichment, email accounts, campaigns, projects, and reports.

Overview

Publisherpdovhomilja
Repositorynextcrm-app
Skill namenextcrm
Stars
718
Forks
280
Bundled files
6
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 6 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by pdovhomilja on GitHub. Read the source before you install it.

Installation

Install the Nextcrm AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/pdovhomilja/nextcrm-app/tree/main/public
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/pdovhomilja/nextcrm-app.git /tmp/nextcrm-app
mkdir -p .claude/skills
cp -r /tmp/nextcrm-app/public .claude/skills/nextcrm
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Nextcrm in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Nextcrm on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Nextcrm is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

NextCRM MCP Server Skill

Use the NextCRM MCP server to read and write CRM data. This skill documents all available tools and how to use them.

Connection Setup

The server supports two MCP transports. Pick one — most modern clients (Claude Code, Cursor) work with either.

Option A — Streamable HTTP (recommended)

Single POST endpoint. Simpler, the current MCP spec default.

json
{
  "mcpServers": {
    "nextcrm": {
      "type": "http",
      "url": "https://YOUR_NEXTCRM_URL/api/mcp/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_TOKEN" }
    }
  }
}

Option B — SSE (legacy, for older clients)

Two endpoints: a GET SSE stream and a POST message channel. The client opens /api/mcp/sse, the server announces the matching /api/mcp/message?sessionId=… endpoint over the stream, and the client POSTs JSON-RPC there.

json
{
  "mcpServers": {
    "nextcrm": {
      "type": "sse",
      "url": "https://YOUR_NEXTCRM_URL/api/mcp/sse",
      "headers": { "Authorization": "Bearer YOUR_API_TOKEN" }
    }
  }
}

You only configure the /sse URL — the client discovers the message endpoint automatically.

Notes

  • Replace YOUR_NEXTCRM_URL with your NextCRM instance URL (e.g. http://localhost:3000 for local dev)
  • Replace YOUR_API_TOKEN with a token generated from Profile > Developer > API Tokens
  • Token prefix: nxtc__
  • Some clients omit the type field and infer the transport from the URL — both forms above include it explicitly for clarity

Authentication

All tools require a valid Bearer token. Tokens are generated from the Developer tab in your profile settings. Each token is SHA-256 hashed — the raw value is shown only once at creation.

Available Tools

Accounts (6 tools)

  • crm_list_accounts — List CRM accounts assigned to the authenticated user
  • crm_get_account — Get a single CRM account by ID
  • crm_search_accounts — Search accounts by name or website (substring match)
  • crm_create_account — Create a new CRM account
  • crm_update_account — Update an existing CRM account by ID (accepts assigned_to to reassign the owner)
  • crm_delete_account — Soft-delete a CRM account by ID (sets deletedAt timestamp)

Contacts (6 tools)

  • crm_list_contacts — List CRM contacts assigned to the authenticated user
  • crm_get_contact — Get a single CRM contact by ID
  • crm_search_contacts — Search contacts by name, email, or phone (substring match)
  • crm_create_contact — Create a new CRM contact
  • crm_update_contact — Update an existing CRM contact by ID (accepts assigned_to to reassign, account to link/unlink a parent account)
  • crm_delete_contact — Soft-delete a CRM contact by ID (sets deletedAt timestamp)

Leads (6 tools)

  • crm_list_leads — List CRM leads assigned to the authenticated user
  • crm_get_lead — Get a single CRM lead by ID
  • crm_search_leads — Search leads by name, company, or email (substring match)
  • crm_create_lead — Create a new CRM lead
  • crm_update_lead — Update an existing CRM lead by ID (accepts assigned_to to reassign the owner)
  • crm_delete_lead — Soft-delete a CRM lead by ID (sets deletedAt timestamp)

Opportunities (6 tools)

  • crm_list_opportunities — List CRM opportunities assigned to the authenticated user
  • crm_get_opportunity — Get a single CRM opportunity by ID
  • crm_search_opportunities — Search opportunities by name or description (substring match)
  • crm_create_opportunity — Create a new CRM opportunity
  • crm_update_opportunity — Update an existing CRM opportunity by ID (accepts assigned_to to reassign, account/contact to link/unlink)
  • crm_delete_opportunity — Soft-delete a CRM opportunity by ID

Targets (6 tools)

  • crm_list_targets — List CRM targets created by the authenticated user
  • crm_get_target — Get a single CRM target by ID
  • crm_search_targets — Search targets by name, email, or company (substring match)
  • crm_create_target — Create a new CRM target
  • crm_update_target — Update an existing CRM target by ID
  • crm_delete_target — Soft-delete a CRM target by ID (sets deletedAt timestamp)

Products (5 tools)

Writes (create/update/delete) require a manager or admin role; reads are open to all roles.

  • crm_list_products — List CRM products (org-wide catalog)
  • crm_get_product — Get a single CRM product by ID
  • crm_create_product — Create a new CRM product
  • crm_update_product — Update an existing CRM product by ID
  • crm_delete_product — Soft-delete a CRM product (sets deletedAt timestamp)

Contracts (5 tools)

  • crm_list_contracts — List CRM contracts (org-wide)
  • crm_get_contract — Get a single CRM contract by ID with line items
  • crm_create_contract — Create a new CRM contract with optional line items
  • crm_update_contract — Update an existing CRM contract by ID (does not modify line items)
  • crm_delete_contract — Soft-delete a CRM contract (sets deletedAt timestamp)

Activities (5 tools)

  • crm_list_activities — List CRM activities created by the authenticated user, optionally filtered by linked entity
  • crm_get_activity — Get a single CRM activity by ID with entity links
  • crm_create_activity — Create a CRM activity (call/meeting/note/email) and link to entities
  • crm_update_activity — Update an existing CRM activity by ID
  • crm_delete_activity — Soft-delete a CRM activity by ID (sets deletedAt timestamp)

Documents (8 tools)

  • crm_list_documents — List documents, optionally filtered by linked entity type and ID
  • crm_get_document — Get a single document by ID
  • crm_create_document — Create a document record and get a presigned upload URL
  • crm_get_upload_url — Get a presigned upload URL for an existing document
  • crm_get_download_url — Get a presigned download URL for a document
  • crm_link_document — Link a document to an entity (account, contact, lead, opportunity, or task)
  • crm_unlink_document — Remove a document link from an entity
  • crm_delete_document — Soft-delete a document (sets status to DELETED)

Target Lists (7 tools)

  • crm_list_target_lists — List target lists (org-wide)
  • crm_get_target_list — Get a target list by ID with its members
  • crm_create_target_list — Create a new target list
  • crm_update_target_list — Update a target list by ID
  • crm_delete_target_list — Soft-delete a target list (sets deletedAt timestamp)
  • crm_add_to_target_list — Add one or more targets to a target list
  • crm_remove_from_target_list — Remove one or more targets from a target list

Enrichment (4 tools)

  • crm_enrich_contact — Enrich a single contact using Firecrawl + AI (requires API keys configured)
  • crm_enrich_contact_bulk — Enrich multiple contacts in bulk (max 100, dispatches async jobs)
  • crm_enrich_target — Enrich a single target using Firecrawl + AI (requires API keys configured)
  • crm_enrich_target_bulk — Enrich multiple targets in bulk (max 100, dispatches async jobs)

Email Accounts (1 tool)

  • crm_list_email_accounts — List the authenticated user's connected email accounts

Users (1 tool)

  • crm_list_users — List NextCRM users to resolve a person to the user ID that assigned_to needs. Returns active users by default; managers and admins additionally see email, role, status, and last login

Campaigns (19 tools)

  • campaigns_list — List campaigns (org-wide)
  • campaigns_get — Get a campaign by ID with steps and stats summary
  • campaigns_create — Create a new campaign
  • campaigns_update — Update a campaign by ID
  • campaigns_delete — Soft-delete a campaign (sets deletedAt timestamp)
  • campaigns_send — Trigger sending a campaign (must be in draft or scheduled status)
  • campaigns_pause — Pause an active/sending campaign
  • campaigns_resume — Resume a paused campaign
  • campaigns_list_templates — List campaign email templates (org-wide)
  • campaigns_get_template — Get a campaign template by ID
  • campaigns_create_template — Create a campaign email template
  • campaigns_update_template — Update a campaign template by ID
  • campaigns_delete_template — Soft-delete a campaign template (sets deletedAt timestamp)
  • campaigns_create_step — Add a step to a campaign sequence
  • campaigns_update_step — Update a campaign step by ID
  • campaigns_delete_step — Delete a campaign step by ID
  • campaigns_assign_target_list — Assign a target list to a campaign
  • campaigns_remove_target_list — Remove a target list from a campaign
  • campaigns_get_stats — Get send/open/click/unsubscribe stats for a campaign

Projects (18 tools)

  • projects_list_boards — List project boards the user owns or is shared with
  • projects_get_board — Get a project board with its sections and tasks
  • projects_create_board — Create a new project board
  • projects_update_board — Update a project board by ID
  • projects_delete_board — Soft-delete a project board (sets deletedAt timestamp)
  • projects_create_section — Add a section (column) to a board
  • projects_update_section — Update a section title or position
  • projects_delete_section — Delete a section (must be empty)
  • projects_list_tasks — List tasks, optionally filtered by board, section, user, or status
  • projects_get_task — Get a task by ID with comments and documents
  • projects_create_task — Create a task in a board section
  • projects_update_task — Update a task by ID
  • projects_move_task — Move a task to a different section and/or position
  • projects_delete_task — Soft-delete a task
  • projects_add_comment — Add a comment to a task
  • projects_list_comments — List comments on a task
  • projects_assign_document — Link a document to a task
  • projects_watch_board — Watch or unwatch a project board

Reports (2 tools)

  • reports_list — List available report configurations
  • reports_run — Run a report by category and get the data

Common Workflows

Research a company and create an account

  1. crm_search_accounts — check if it already exists
  2. crm_create_account — create the account with company details
  3. crm_create_contact — add key contacts
  4. crm_create_activity — log the research as a note

Build a prospecting campaign

  1. crm_create_target_list — create a target list
  2. crm_create_target (repeated) — add prospects
  3. crm_add_to_target_list — add targets to the list
  4. campaigns_create — create the campaign
  5. campaigns_create_template — create email template
  6. campaigns_create_step — add sequence steps
  7. campaigns_assign_target_list — connect target list to campaign
  8. campaigns_send — launch the campaign

Track a deal pipeline

  1. crm_list_opportunities — review current pipeline
  2. crm_create_opportunity — add new deal
  3. crm_create_activity — log meetings and calls
  4. crm_link_document — attach proposals
  5. crm_update_opportunity — update stage/amount as deal progresses

Enrich contacts with AI

  1. crm_list_targets or crm_search_targets — find targets to enrich
  2. crm_enrich_target_bulk — enrich up to 100 targets at once
  3. crm_get_target — check enrichment results

Reassign records to another user

  1. crm_list_users — resolve the person's name to a user ID (query does a substring match on name)
  2. crm_update_account / crm_update_contact / crm_update_lead / crm_update_opportunity — set assigned_to to that ID
  3. Pass assigned_to: null instead to unassign; omit it entirely to leave the current owner alone

A member token can only reassign records it already owns, and the target must be an ACTIVE user — otherwise the update returns NOT_FOUND.

Project management

  1. projects_create_board — create a project board
  2. projects_create_section — add columns (To Do, In Progress, Done)
  3. projects_create_task — add tasks
  4. projects_move_task — move tasks between sections
  5. projects_add_comment — discuss tasks

Notes

  • All list operations support pagination (cursor-based)
  • Search operations use substring matching
  • Delete operations are soft-deletes (set deletedAt, recoverable via admin audit log)
  • Reads are scoped by the token owner's role, matching the web UI: admin and manager tokens see all non-deleted records, member tokens see only their own
  • Writes are gated per-record. A denied write returns NOT_FOUND rather than FORBIDDEN, so a failure never confirms a record exists
  • assigned_to accepts an active user ID (reassign) or explicit null (unassign); omitting it leaves the owner untouched. Use crm_list_users to resolve the ID
  • Enrichment tools require API keys (OpenAI + Firecrawl) configured at system or user level

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Nextcrm AI skill do?

Connect to NextCRM MCP server to manage CRM data — accounts, contacts, leads, opportunities, targets, products, contracts, activities, documents, target lists, enrichment, email accounts, campaigns, projects, and reports.

Why use Nextcrm on TypingMind?

Because you install it once and use it with any model. Nextcrm is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Nextcrm in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/pdovhomilja/nextcrm-app/tree/main/public. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Nextcrm?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Nextcrm?

As many as you like. As long as a model supports skills, you can use Nextcrm with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Nextcrm AI skill free?

Yes. It is published on GitHub by pdovhomilja under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇