> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended** (the `-y` flags skip prompts, so the command runs without an interactive terminal):
> ```bash
> npx -y @scalekit-inc/cli setup -y
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup -y
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for other Agent Skills-compatible agents in `~/.agents/skills`.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Connect AI agents to noCRM

The noCRM connector lets your AI agent act in each user's noCRM account. Each user connects their own noCRM API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 46 tools.

**Authentication:** API Key
**Categories:** CRM & Sales
**Tools:** 46: 27 read, 16 write, 3 destructive
**Users sign in with:** API key
**Built by:** Scalekit connector
**Try it:** [Playground in the Scalekit dashboard](https://app.scalekit.com/ws/signup?sk_intent=playground&provider=NOCRMIO)

## Setup

1. ### Install the SDK

   **Node.js**

   ```bash
   npm install @scalekit-sdk/node dotenv
   ```

   **Python**

   ```bash
   pip install scalekit-sdk-python python-dotenv
   ```

2. ### Set your credentials

   Add your Scalekit credentials to your `.env` file. Find values in **[app.scalekit.com](https://app.scalekit.com)** > **Developers** > **API Credentials**.

   ```sh title=".env"
   SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
   SCALEKIT_CLIENT_ID=<your-client-id>
   SCALEKIT_CLIENT_SECRET=<your-client-secret>
   ```

3. ### Create the noCRM connection

   In **AgentKit > Connections**, create a noCRM connection. The name you give it is the `connection_name` your code passes. See [Configure connections](/agentkit/connections/).

4. ### Authorize a user and make your first call

   **Node.js** (`quickstart.mts`)

   ```typescript
   import { ScalekitClient } from '@scalekit-sdk/node'
   import 'dotenv/config'
   import { createInterface } from 'node:readline/promises'

   const scalekit = new ScalekitClient(
     process.env.SCALEKIT_ENVIRONMENT_URL,
     process.env.SCALEKIT_CLIENT_ID,
     process.env.SCALEKIT_CLIENT_SECRET,
   )
   const actions = scalekit.actions

   const connector = 'nocrmio'
   const identifier = 'user_123'

   // Generate an authorization link for the user
   const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
   console.log('Authorize noCRM:', link)
   const rl = createInterface({ input: process.stdin, output: process.stdout })
   await rl.question('Press Enter after authorizing...')
   rl.close()

   // Make your first call
   const result = await actions.executeTool({
     connector,
     identifier,
     toolName: 'nocrmio_find_prospects',
     toolInput: {},
   })
   console.log(result)
   ```

   ```bash
   npx tsx quickstart.mts
   ```

   **Python** (`quickstart.py`)

   ```python
   import os
   from scalekit import ScalekitClient
   from dotenv import load_dotenv
   load_dotenv()

   scalekit_client = ScalekitClient(
       env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),
       client_id=os.getenv("SCALEKIT_CLIENT_ID"),
       client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
   )
   actions = scalekit_client.actions

   connection_name = "nocrmio"
   identifier = "user_123"

   # Generate an authorization link for the user
   link_response = actions.get_authorization_link(
       connection_name=connection_name,
       identifier=identifier,
   )
   print("Authorize noCRM:", link_response.link)
   input("Press Enter after authorizing...")

   # Make your first call
   result = actions.execute_tool(
       tool_input={},
       tool_name="nocrmio_find_prospects",
       connection_name=connection_name,
       identifier=identifier,
   )
   print(result)
   ```

   ```bash
   python quickstart.py
   ```

   Each user opens the link once and enters their noCRM credentials there. See [Authorize a user](/agentkit/tools/authorize/) for the full flow and statuses.

## Tools

Pass the exact name to `execute_tool`, with an input like each tool's example. To ask for a tool that's missing, use the [request form](https://scalekitsupport.portal.usepylon.com/forms/request-a-connector-tool).

**Node.js**

```typescript
const result = await actions.executeTool({
  toolName: 'nocrmio_find_prospects',
  toolInput: {},
  connector: 'nocrmio',
  identifier: 'user_123',
})
```

**Python**

```python
result = actions.execute_tool(
    tool_name="nocrmio_find_prospects",
    tool_input={},
    connection_name="nocrmio",
    identifier="user_123",
)
```

`result.data` is the app's response as JSON, and `result.execution_id` (`executionId` in Node.js) is the ID of the call.

### `nocrmio_find_prospects`

Find Prospects · Read-only

Find prospects across all prospecting lists by email address or by a field value.
Returns an array of prospects with id, lead_id, is_active, content and spreadsheet_id.
Provide email, or provide field_key together with field_value.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `email` (`string`, optional): Email address held in a prospect column. Provide this or field_key with field_value. Example: albert@example.com.
- `field_key` (`string`, optional): Column name to search in; must be used with field_value. Example: Phone.
- `field_value` (`string`, optional): Value to look for in the column named by field_key. Example: 0387123456.

Example input: `{}`

### `nocrmio_get_client_folder`

Get Client Folder · Read-only

Retrieve one client folder by ID.
Returns the folder with id, name, description, is_active, user_id and extended_info (permalink, fields, user).
Use nocrmio_list_client_folders to find IDs.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, required): ID of the client folder. Example: 12.

Example input: `{"id":12}`

### `nocrmio_get_lead`

Get Lead · Read-only

Retrieve one lead by ID with full detail.
Returns the lead with id, title, step, step_id, status, amount, probability, currency, starred, next_action_at, reminder fields, tags, description, user_id, team_id, client_folder_id and extended_info.
Use nocrmio_list_leads to find a lead ID first.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, required): ID of the lead. Example: 8113.

Example input: `{"id":8113}`

### `nocrmio_get_lead_attachment`

Get Lead Attachment · Read-only

Get a temporary download link for one attachment of a lead.
Returns an object with a signed url that expires after about three minutes.
Use nocrmio_list_lead_attachments to find the attachment ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, required): ID of the attachment. Example: 422.
- `lead_id` (`integer`, required): ID of the lead. Example: 8113.

Example input: `{"id":422,"lead_id":8113}`

### `nocrmio_get_lead_business_card`

Get Lead Business Card · Read-only

Get a temporary download link for the business card image stored on a lead.
Returns an object with a signed url that expires after a few minutes.
Use it only for leads created from a scanned business card.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, required): ID of the lead. Example: 8113.

Example input: `{"id":8113}`

### `nocrmio_get_prospecting_list`

Get Prospecting List · Read-only

Retrieve one prospecting list with its prospect rows.
Returns the list with id, title, column_names, tags, user and spreadsheet_rows (id, lead_id, content, comment_count).
Use nocrmio_list_prospecting_lists to find the ID.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, required): ID of the prospecting list. Example: 112.

Example input: `{"id":112}`

### `nocrmio_get_step`

Get Step · Read-only

Retrieve one pipeline step by ID or exact name.
Returns the step with id, name, position, pipeline_id and the pipeline object.
Use nocrmio_list_steps to see all steps.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`string`, required): Step ID or exact step name; URL special characters are encoded automatically. Example: 1189.

Example input: `{"id":"<id>"}`

### `nocrmio_get_team`

Get Team · Read-only

Retrieve one team by ID or name with its members.
Returns the team with id, name, users and timestamps; returns 403 when the Teams feature is off.
Use nocrmio_list_teams to browse teams.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`string`, required): Team ID or exact team name. Example: 5.

Example input: `{"id":"<id>"}`

### `nocrmio_get_user`

Get User · Read-only

Retrieve one user by ID or email address.
Returns the user with id, names, email, phone, job_title, locale, time_zone, is_admin and is_disabled.
Use nocrmio_list_users to browse users.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`string`, required): User ID or email address; special characters are encoded automatically. Example: 514.

Example input: `{"id":"<id>"}`

### `nocrmio_list_activities`

List Activities · Read-only

List activity types such as Call, E-mail and Meeting configured in the account.
Returns an array with id, name, icon, parent_id, kind and is_disabled.
Use the id as activity_id on comments, reminders and nocrmio_log_lead_activity.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `nocrmio_list_categories`

List Categories · Read-only

List tag categories, optionally with the predefined tags inside each.
Returns an array with id, name, is_required and, when requested, supertags.
Use nocrmio_list_predefined_tags for a flat list of tags.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `include_tags` (`boolean`, optional): Include the predefined tags under each category. Defaults to false. Example: true.

Example input: `{}`

### `nocrmio_list_client_folders`

List Client Folders · Read-only

List the client folders of the account.
Returns an array of folders with id, name, description, is_active, created_at and user_id.
Use nocrmio_get_client_folder for fields and permalink.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `direction` (`string`, optional): Sort direction, asc or desc. Defaults to asc when omitted. Example: desc. One of: `asc`, `desc`.
- `order` (`string`, optional): Attribute to sort by. Defaults to name. Example: id. One of: `name`, `id`.

Example input: `{}`

### `nocrmio_list_fields`

List Fields · Read-only

List the custom and standard fields defined on leads or client folders.
Returns an array with id, name, type, parent_type and position.
Use the names with the fields parameter of nocrmio_update_lead.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `type` (`string`, optional): Restrict to fields of leads or client folders. Example: lead. One of: `lead`, `client`.

Example input: `{}`

### `nocrmio_list_follow_ups`

List Post-Sales Tasks · Read-only

List post-sales processes for a lead or for a user.
Returns an array with id, title, status, tags, tasks_count, tasks_done_count, lead_id and user_id.
Provide lead_id or user_id; use nocrmio_update_follow_up_task to change a task inside one.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `lead_id` (`integer`, optional): Return post-sales processes of this lead. Provide this or user_id. Example: 8113.
- `status` (`string`, optional): Comma-separated statuses to include: todo, standby, done. Example: todo,standby.
- `user_id` (`string`, optional): Email address or numeric ID of the noCRM user. Provide this or lead_id. Use nocrmio_list_users to find users. Example: stef@example.com.

Example input: `{}`

### `nocrmio_list_lead_attachments`

List Lead Attachments · Read-only

List files and linked documents attached to a lead.
Returns an array with id, name, url, content_type and kind for each attachment.
Use nocrmio_get_lead_attachment for a temporary download link.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `lead_id` (`integer`, required): ID of the lead. Example: 8113.

Example input: `{"lead_id":8113}`

### `nocrmio_list_lead_comments`

List Lead Comments · Read-only

List the comments on a lead.
Returns an array of comments with id, content, created_at, attachments, activity_id, is_pinned and user.
Use nocrmio_create_lead_comment to add one.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `lead_id` (`integer`, required): ID of the lead. Example: 8113.
- `direction` (`string`, optional): Sort direction, asc or desc. Defaults to desc when omitted. Example: desc. One of: `asc`, `desc`.

Example input: `{"lead_id":8113}`

### `nocrmio_list_lead_duplicates`

List Lead Duplicates · Read-only

List leads that noCRM flags as potential duplicates of a given lead.
Returns an array of entries, each holding a lead object.
Duplicates are detected on fields marked as keys; use nocrmio_list_fields to see which.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `lead_id` (`integer`, required): ID of the lead to check. Example: 8113.

Example input: `{"lead_id":8113}`

### `nocrmio_list_lead_history`

List Lead History · Read-only

List the action history of a lead, such as creation, step changes, status changes, assignments, comments and emails.
Returns an array of entries with id, action_type, action_item, created_at and user.
Use nocrmio_list_lead_comments to read comment text.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `lead_id` (`integer`, required): ID of the lead. Example: 8113.
- `action_type` (`string`, optional): Only return this kind of action. Example: status_changed. One of: `client_assigned`, `step_changed`, `status_changed`, `amount_set`, `user_assigned`, `lead_created`, `comment_added`, `email_sent`.
- `action_value` (`string`, optional): Filter on the new step name or new status, valid only with action_type step_changed or status_changed. Example: won.
- `direction` (`string`, optional): Sort direction, asc or desc. Defaults to asc when omitted. Example: desc. One of: `asc`, `desc`.
- `from` (`string`, optional): Start date of the range. Example: 2024-01-01.
- `limit` (`integer`, optional): Number of entries to return, between 1 and 100. Defaults to 100 when omitted. Example: 50.
- `offset` (`integer`, optional): Number of records to skip, used together with limit to page through results. Example: 100.
- `to` (`string`, optional): End date of the range; used alone it returns everything up to that date. Example: 2024-03-31.
- `user_ids` (`string`, optional): Comma-separated user IDs or emails who performed the actions. Example: 514,stef@example.com.

Example input: `{"lead_id":8113}`

### `nocrmio_list_leads`

List Leads · Read-only

List leads in the noCRM account, optionally filtered by status, step, owner, tags, email or date range.
Returns an array of leads (id, title, step, status, amount, probability, tags, description, user_id); up to 100 per request.
Use nocrmio_get_lead for one lead with full detail, or nocrmio_list_unassigned_leads for leads with no owner.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `date_range_type` (`string`, optional): Which date start_date and end_date apply to. Defaults to creation when omitted. Example: update. One of: `creation`, `update`, `next_action`, `closed`.
- `direction` (`string`, optional): Sort direction, asc or desc. Defaults to desc when omitted. Example: desc. One of: `asc`, `desc`.
- `email` (`string`, optional): Return leads whose description or comments contain this email address. Example: john.doe@acme.com.
- `end_date` (`string`, optional): End of the date range, applied to the field chosen by date_range_type. Example: 2024-03-31.
- `include_unassigned` (`boolean`, optional): Include leads with no owner in the results. Defaults to false when omitted. Example: true.
- `limit` (`integer`, optional): Maximum number of records to return. Defaults to 100 when omitted. Example: 50.
- `offset` (`integer`, optional): Number of records to skip, used together with limit to page through results. Example: 100.
- `order` (`string`, optional): Attribute to sort by. Defaults to id. Example: last_update. One of: `id`, `creation_date`, `last_update`, `next_action`, `sale_step`, `amount`, `probability`, `probalized_amount`, `alphabetically`.
- `starred` (`boolean`, optional): When true, return only starred leads. Example: true.
- `start_date` (`string`, optional): Start of the date range, applied to the field chosen by date_range_type. Example: 2024-01-01.
- `status` (`string`, optional): Comma-separated lead statuses to include. Allowed values: todo, standby, won, cancelled, lost. Example: todo,standby.
- `step` (`string`, optional): Comma-separated step names or step IDs to include. Names must match exactly and names and IDs cannot be mixed. Use nocrmio_list_steps to find them. Example: Incoming,Contacted.
- `tags` (`string`, optional): Comma-separated tags; only leads carrying all of them are returned. Predefined tags are allowed. Example: prospect,google.
- `updated_after` (`string`, optional): Only return leads updated after this date. Example: 2024-01-31.
- `user_id` (`string`, optional): Return only leads owned by this user, given as user ID or email. Example: stef@example.com.

Example input: `{}`

### `nocrmio_list_pipelines`

List Pipelines · Read-only

List the sales pipelines of the account.
Returns an array of pipelines with id, name, is_default and timestamps.
Use nocrmio_list_steps for the steps inside them.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `nocrmio_list_predefined_tags`

List Predefined Tags · Read-only

List the predefined tags of the account.
Returns an array with id, name, category, category_id and position.
Use nocrmio_create_predefined_tag to add one.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `nocrmio_list_prospecting_lists`

List Prospecting Lists · Read-only

List the prospecting lists (cold-contact spreadsheets) of the account.
Returns an array with id, title, description, column_names, tags, total_row_count, to_qualify_row_count and user.
Use nocrmio_get_prospecting_list for the rows inside one.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `direction` (`string`, optional): Sort direction, asc or desc. Defaults to desc when omitted. Example: desc. One of: `asc`, `desc`.
- `limit` (`integer`, optional): Maximum number of records to return. Defaults to 100 when omitted. Example: 50.
- `offset` (`integer`, optional): Number of records to skip, used with limit. Defaults to 0. Example: 100.
- `order` (`string`, optional): Attribute to sort by. Defaults to id. Example: created_at. One of: `id`, `created_at`, `updated_at`.
- `title` (`string`, optional): Exact-match filter on the list title. Example: Circle prospects.

Example input: `{}`

### `nocrmio_list_steps`

List Steps · Read-only

List the pipeline steps of the account.
Returns an array of steps with id, name, position, pipeline_id and the pipeline object.
Use the step id or name when creating or filtering leads.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `direction` (`string`, optional): Sort direction, asc or desc. Defaults to asc when omitted. Example: desc. One of: `asc`, `desc`.

Example input: `{}`

### `nocrmio_list_teams`

List Teams · Read-only

List the teams of the account with their members.
Returns an array of teams with id, name and users (each with is_manager); returns 403 when the Teams feature is off.
Use the team id to filter users or assign leads.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `nocrmio_list_unassigned_leads`

List Unassigned Leads · Read-only

List leads that have no owner yet.
Returns an array of leads (id, title, step, status, description), up to 100 per request.
Use nocrmio_assign_lead to give one an owner.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `limit` (`integer`, optional): Maximum number of records to return. Defaults to 100 when omitted. Example: 50.

Example input: `{}`

### `nocrmio_list_users`

List Users · Read-only

List users of the account, optionally filtered by name, email, status, role or team.
Returns an array of users with id, firstname, lastname, email, is_admin, has_activated and is_disabled.
Use the id or email as user_id on lead tools.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `direction` (`string`, optional): Sort direction, asc or desc. Defaults to asc when omitted. Example: desc. One of: `asc`, `desc`.
- `email` (`string`, optional): Filter by exact email address. Example: john.doe@mycompany.com.
- `firstname` (`string`, optional): Filter by first name. Example: John.
- `lastname` (`string`, optional): Filter by last name. Example: Doe.
- `role` (`string`, optional): Filter by role. Defaults to all. Example: admin. One of: `all`, `admin`, `non-admin`.
- `status` (`string`, optional): Filter by account status. Defaults to all. Example: activated. One of: `all`, `activated`, `deactivated`.
- `teams` (`string`, optional): Comma-separated team IDs or names the users belong to. Example: Web Sales.

Example input: `{}`

### `nocrmio_ping`

Ping API · Read-only

Check that the API key and domain are valid.
Returns status 200 with a message confirming the key is correct.
Use it to verify the connection before other calls.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `nocrmio_add_lead_to_client_folder`

Add Lead to Client Folder · Write

Attach a lead to a client folder.
Returns the lead with id, title, step, step_id, status, amount, probability, currency, starred, next_action_at, reminder fields, tags, description, user_id, team_id, client_folder_id and extended_info.
Use nocrmio_list_client_folders to find folder IDs.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `client_id` (`integer`, required): ID of the client folder. Example: 12.
- `id` (`integer`, required): ID of the lead to attach. Example: 8113.

Example input: `{"client_id":12,"id":8113}`

### `nocrmio_assign_lead`

Assign Lead · Write

Assign a lead to a user and notify that user.
Returns the lead with id, title, step, step_id, status, amount, probability, currency, starred, next_action_at, reminder fields, tags, description, user_id, team_id, client_folder_id and extended_info.
Use this instead of nocrmio_update_lead when the new owner must receive a notification.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `id` (`integer`, required): ID of the lead to assign. Example: 8113.
- `user_id` (`string`, required): Email address or numeric ID of the noCRM user. This user becomes the lead owner. Use nocrmio_list_users to find users. Example: stef@example.com.

Example input: `{"id":8113,"user_id":"<user_id>"}`

### `nocrmio_create_client_folder`

Create Client Folder · Write

Create a client folder, optionally assigned to a user.
Returns the created folder with id, name, description, is_active and user_id.
Use nocrmio_add_lead_to_client_folder to attach leads afterwards.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `name` (`string`, required): Folder name. Example: Acme.
- `description` (`string`, optional): Folder description. Example: Address: 2344 Paradise Av, Eden CA 90001.
- `user_id` (`string`, optional): Email address or numeric ID of the noCRM user. The folder is assigned to this user. Use nocrmio_list_users to find users. Example: stef@example.com.

Example input: `{"name":"<name>"}`

### `nocrmio_create_follow_up_from_template`

Create Post-Sales Process · Write

Create a post-sales process on a lead from a saved template.
Returns the process with id, title, status, tasks_count and the generated tasks.
Use after a lead is won to start onboarding or shipping tasks.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `lead_id` (`integer`, required): ID of the lead. Example: 8113.
- `post_sales_template_id` (`integer`, required): ID of the post-sales process template. Example: 10.

Example input: `{"lead_id":8113,"post_sales_template_id":10}`

### `nocrmio_create_lead`

Create Lead · Write

Create a new lead in noCRM, optionally assigned to a user and placed in a pipeline step.
Returns the lead with id, title, step, step_id, status, amount, probability, currency, starred, next_action_at, reminder fields, tags, description, user_id, team_id, client_folder_id and extended_info.
Use nocrmio_update_lead to change an existing lead. A lead created without user_id is unassigned and cannot be placed in a step.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `description` (`string`, required): Lead description, usually the contact details as 'Label: value' lines separated by newlines. Example: Firstname: John\nLastname: Doe\nEmail: john.doe@company.com.
- `title` (`string`, required): Lead title, usually the company name. Example: Awesome Company.
- `created_at` (`string`, optional): Backdate the lead's creation, as YYYY-MM-DD HH:MM:SS in the account time zone or YYYY-MM-DDTHH:MM:SS.sssZ in UTC. Leave empty for now. Example: 2024-01-15 09:30:00.
- `step` (`string`, optional): Step ID or exact step name to place the lead in; only valid when the lead is assigned. Prefer the ID when step names repeat across pipelines. Example: Contacted.
- `tags` (`array`, optional): Tags to attach; missing tags are created automatically and predefined tags are allowed. Example: ["prospect", "google"].
- `user_id` (`string`, optional): Email address or numeric ID of the noCRM user. Assigns the lead to that user without notifying them. Use nocrmio_list_users to find users. Example: stef@example.com.

Example input: `{"description":"<description>","title":"<title>"}`

### `nocrmio_create_lead_comment`

Create Lead Comment · Write

Add a comment to a lead, optionally tagged with an activity type.
Returns the created comment with id, content, created_at, activity_id, is_pinned and user.
Use nocrmio_list_activities to find activity_id values.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `content` (`string`, required): Comment text. Example: Called John, sending the quote tomorrow.
- `lead_id` (`integer`, required): ID of the lead to comment on. Example: 8113.
- `activity_id` (`integer`, optional): Activity type to tag the comment with. Example: 271.
- `created_at` (`string`, optional): Backdate the comment as YYYY-MM-DD HH:MM:SS. Leave empty for now. Example: 2024-01-15 09:30:00.
- `user_id` (`string`, optional): Email address or numeric ID of the noCRM user. The comment is attributed to this user. Use nocrmio_list_users to find users. Example: stef@example.com.

Example input: `{"content":"<content>","lead_id":8113}`

### `nocrmio_create_lead_from_prospect`

Create Lead From Prospect · Write

Turn a prospect in a prospecting list into a lead.
Returns the lead with id, title, step, step_id, status, amount, probability, currency, starred, next_action_at, reminder fields, tags, description, user_id, team_id, client_folder_id and extended_info.
Use nocrmio_find_prospects or nocrmio_get_prospecting_list to find the prospect first.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `id` (`integer`, required): ID of the prospect. Example: 108.
- `spreadsheet_id` (`integer`, required): ID of the prospecting list. Example: 112.

Example input: `{"id":108,"spreadsheet_id":112}`

### `nocrmio_create_predefined_tag`

Create Predefined Tag · Write

Create a predefined tag inside a category.
Returns the created tag with id, name, category and category_id.
Use nocrmio_list_categories to find category_id.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `category_id` (`integer`, required): ID of the category that will contain the tag. Example: 12.
- `name` (`string`, required): Tag name. Example: Europe.

Example input: `{"category_id":12,"name":"<name>"}`

### `nocrmio_duplicate_lead`

Duplicate Lead · Write

Create a copy of an existing lead, optionally placed in a chosen step.
Returns the lead with id, title, step, step_id, status, amount, probability, currency, starred, next_action_at, reminder fields, tags, description, user_id, team_id, client_folder_id and extended_info.
Without step the copy goes to the first step of the original lead's pipeline.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `id` (`integer`, required): ID of the lead to duplicate. Example: 8113.
- `step` (`string`, optional): Step ID or exact step name for the copy; prefer the ID when names repeat across pipelines. Example: In Touch.

Example input: `{"id":8113}`

### `nocrmio_log_lead_activity`

Log Lead Activity · Write

Log an activity such as a call or meeting on a lead through the Simplified API.
Returns the activity entry that was logged.
Use nocrmio_list_activities to find activity_id and nocrmio_list_users for user_id.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `activity_id` (`integer`, required): ID of the activity type to log. Example: 271.
- `lead_id` (`integer`, required): ID of the lead. Example: 8113.
- `user_id` (`integer`, required): ID of the user who performed the activity. Example: 514.
- `content` (`string`, optional): Notes about the activity. Example: Left a voicemail.

Example input: `{"activity_id":271,"lead_id":8113,"user_id":514}`

### `nocrmio_send_email_from_template`

Send Email From Template · Write

Send an email to a lead's contact using a saved email template; delivery is asynchronous.
Returns a message confirming that sending has started.
Available on the Dreamteam edition; the sender must have a connected inbox and access to the template.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `email_template_id` (`integer`, required): ID of the email template to send. Example: 12.
- `from_user_id` (`integer`, required): ID of the user the email is sent from. Example: 1.
- `lead_id` (`integer`, required): ID of the lead to email. Example: 8113.

Example input: `{"email_template_id":12,"from_user_id":1,"lead_id":8113}`

### `nocrmio_send_lead_email`

Send Custom Email to Lead · Write

Send a custom email with a subject and body to a lead's contact through the Simplified API.
Returns a message confirming that sending has started.
Use nocrmio_send_email_from_template to send a saved template instead.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `content` (`string`, required): Email body text. Example: Hi John, please find the quote attached.
- `from_user_id` (`integer`, required): ID of the user the email is sent from. Example: 1.
- `lead_id` (`integer`, required): ID of the lead to email. Example: 8113.
- `subject` (`string`, required): Email subject line. Example: Your quote.
- `bcc` (`string`, optional): Email address to blind copy. Example: archive@example.com.
- `cc` (`string`, optional): Email address to copy. Example: manager@example.com.

Example input: `{"content":"<content>","from_user_id":1,"lead_id":8113,"subject":"<subject>"}`

### `nocrmio_update_client_folder`

Update Client Folder · Write

Rename a client folder, change its description or activate and deactivate it.
Returns the updated folder.
Use nocrmio_delete_client_folder to remove it entirely.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, required): ID of the client folder to update. Example: 12.
- `description` (`string`, optional): New folder description. Example: Key account.
- `is_active` (`boolean`, optional): true to activate the folder, false to deactivate it. Example: false.
- `name` (`string`, optional): New folder name. Example: Acme Corp.

Example input: `{"id":12}`

### `nocrmio_update_follow_up_task`

Update Post-Sales Task · Write

Change the status or reminder of one task inside a post-sales process.
Returns the updated task with id, content, status, done_at and next_action_at.
Use nocrmio_list_follow_ups to find the process and nocrmio_create_follow_up_from_template for task IDs.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `follow_up_id` (`integer`, required): ID of the post-sales process. Example: 23.
- `task_id` (`integer`, required): ID of the task. Example: 35.
- `remind_date` (`string`, optional): Reminder date as YYYY-MM-DD in the account time zone. Required when status becomes standby. Example: 2024-06-01.
- `remind_time` (`string`, optional): Reminder time as HH:MM in 24h format, on a 15-minute step. Example: 09:30.
- `reminder_duration` (`integer`, optional): Reminder duration in minutes. Allowed values: 0, 15, 30, 45, 60, 90, 120, 150, 180, 240, 480, 720. Example: 30. One of: `0`, `15`, `30`, `45`, `60`, `90`, `120`, `150`, `180`, `240`, `480`, `720`.
- `status` (`string`, optional): New task status. Moving to standby requires remind_date. Example: done. One of: `todo`, `standby`, `done`.

Example input: `{"follow_up_id":23,"task_id":35}`

### `nocrmio_update_lead`

Update Lead · Write

Update fields of an existing lead: title, status, amount, probability, step, owner, tags, reminder or description.
Returns the lead with id, title, step, step_id, status, amount, probability, currency, starred, next_action_at, reminder fields, tags, description, user_id, team_id, client_folder_id and extended_info.
Use nocrmio_assign_lead to notify the new owner when reassigning. Send either description, or fields and append_desc, never description together with them. Moving a lead to standby requires remind_date.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, required): ID of the lead to update. Example: 8113.
- `amount` (`number`, optional): New deal amount. Example: 2400.
- `append_desc` (`string`, optional): Text appended to the end of the existing description. Cannot be combined with description. Example: Asked for a discount.
- `description` (`string`, optional): Replacement for the whole description. Cannot be combined with fields or append_desc. Example: Firstname: John\nEmail: john@acme.com.
- `estimated_closing_date` (`string`, optional): Expected closing date as YYYY-MM-DD in the account time zone. Example: 2024-09-30.
- `fields` (`array`, optional): List of description fields to update, each an object with key and value. Cannot be combined with description. Example: [{"key": "Phone", "value": "06 07 08 09 04"}].
- `probability` (`integer`, optional): New win probability as a percentage. Example: 70.
- `remind_date` (`string`, optional): Reminder date as YYYY-MM-DD in the account time zone. Required when status becomes standby. Example: 2024-06-01.
- `remind_time` (`string`, optional): Reminder time as HH:MM in 24h format, on a 15-minute step, used with remind_date. Example: 09:30.
- `reminder_activity_id` (`integer`, optional): ID of the activity attached to the reminder. Use nocrmio_list_activities to find IDs. Example: 271.
- `reminder_duration` (`integer`, optional): Reminder duration in minutes. Allowed values: 0, 15, 30, 45, 60, 90, 120, 150, 180, 240, 480, 720. Example: 30. One of: `0`, `15`, `30`, `45`, `60`, `90`, `120`, `150`, `180`, `240`, `480`, `720`.
- `reminder_note` (`string`, optional): Note stored with the reminder. Example: Call back about the quote.
- `starred` (`boolean`, optional): true to star the lead, false to unstar it. Example: true.
- `status` (`string`, optional): New status. Moving to standby requires remind_date. Example: won. One of: `todo`, `standby`, `won`, `lost`, `cancelled`.
- `step` (`string`, optional): New step ID or exact step name; prefer the ID when names repeat across pipelines. Example: Closing.
- `tags` (`array`, optional): Full list of tags for the lead; missing tags are created and predefined tags are allowed. Example: ["small", "US"].
- `title` (`string`, optional): New lead title. Example: Acme Corp - renewal.
- `user_id` (`string`, optional): Email address or numeric ID of the noCRM user. Reassigns the lead without notifying the user. Use nocrmio_list_users to find users. Example: stef@example.com.

Example input: `{"id":8113}`

### `nocrmio_update_lead_comment`

Update Lead Comment · Write

Replace the text of a comment on a lead, or pin or unpin it.
Returns the updated comment.
Use nocrmio_list_lead_comments to find the comment ID.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `content` (`string`, required): New comment text, replacing the existing one. Example: Quote sent on Monday.
- `id` (`integer`, required): ID of the comment to update. Example: 13834.
- `lead_id` (`integer`, required): ID of the lead that owns the comment. Example: 8113.
- `activity_id` (`integer`, optional): Activity type to tag the comment with. Example: 271.
- `is_pinned` (`boolean`, optional): true to pin the comment, false to unpin. Example: true.

Example input: `{"content":"<content>","id":13834,"lead_id":8113}`

### `nocrmio_delete_client_folder`

Delete Client Folder · Destructive

Permanently delete a client folder.
Returns an empty success response.
Use nocrmio_update_client_folder with is_active false to hide a folder without deleting it.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, required): ID of the client folder to delete. Example: 12.

Example input: `{"id":12}`

### `nocrmio_delete_lead`

Delete Lead · Destructive

Permanently delete a lead by ID.
Returns an empty success response when the lead is deleted.
Use nocrmio_update_lead with status lost or cancelled to close a lead without deleting it.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, required): ID of the lead to delete. Example: 8113.

Example input: `{"id":8113}`

### `nocrmio_delete_lead_comment`

Delete Lead Comment · Destructive

Permanently delete a comment from a lead.
Returns an empty success response.
Use nocrmio_list_lead_comments to find the comment ID.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, required): ID of the comment to delete. Example: 13834.
- `lead_id` (`integer`, required): ID of the lead that owns the comment. Example: 8113.

Example input: `{"id":13834,"lead_id":8113}`

## Related

Other CRM & Sales connectors ([all 97](/agentkit/connectors/?category=crm-sales)):

- [Insightly](/agentkit/connectors/insightly/): Scalekit connector, API key, 108 tools
- [HubSpot](/agentkit/connectors/hubspot/): Scalekit connector, OAuth, 457 tools
- [Salesforce](/agentkit/connectors/salesforce/): Scalekit connector, OAuth, 74 tools


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
