Close MCP connector
OAuth 2.1 CRM & SalesCommunicationClose is a CRM and sales platform. The Close MCP server provides a standardized interface that allows any compatible AI model or agent to access Close CRM...
Close MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Set up the connector
Section titled “Set up the connector”Register your Close MCP credentials with Scalekit so it handles the token lifecycle. You do this once per environment.
Dashboard setup steps
Register your Firecrawl API key with Scalekit so it can authenticate and proxy scraping requests on behalf of your users. Close MCP uses API key authentication — there is no redirect URI or OAuth flow.
-
Get a Firecrawl API key
- Go to firecrawl.dev and sign in or create a free account.
- Your API key is shown on the Overview page under API Key. Copy it — it starts with
fc-.
-
Create a connection in Scalekit
- In the Scalekit dashboard, go to AgentKit → Connections → Create Connection.
- Search for Close MCP and click Create.
- Note the Connection name — use this as
connection_namein your code (e.g.,closemcp).
-
Add a connected account
Connected accounts link a specific user identifier in your system to a Firecrawl API key. Add them via the dashboard for testing, or via the Scalekit API in production.
Via dashboard (for testing)
- Open the connection and click the Connected Accounts tab → Add account.
- Fill in Your User’s ID and API Key, then click Save.
Via API (for production)
await scalekit.actions.upsertConnectedAccount({connectionName: 'closemcp',identifier: 'user_123',credentials: { token: 'fc-...' },});scalekit_client.actions.upsert_connected_account(connection_name="closemcp",identifier="user_123",credentials={"token": "fc-..."})
-
-
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'closemcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Close MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'closemcp_activity_search',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "closemcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Close MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="closemcp_activity_search",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
-
Search activity, close product knowledge, lead — Search for activities
-
Aggregation records — Perform an aggregation to answer questions like:
-
How many emails were sent this week?
-
Calls by user this week (Who made the most?)
You MUST first fetch the list of available leads of fields using the
get_fields tool
- Update apply voice agent, propose voice agent, contact — Apply a previously proposed voice agent update
- Create address, call task, comment — Add a new address to an existing lead (company)
- Delete address, contact, custom activity instance — Delete an address from an existing lead (company) if there is an exact match
- Field enrich — Use AI to determine and set the value of a field on a lead or contact
Common workflows
Section titled “Common workflows”Scrape a page
Use closemcp_firecrawl_scrape to extract clean markdown content from any URL.
const result = await actions.executeTool({ connectionName: 'closemcp', identifier: 'user_123', toolName: 'closemcp_firecrawl_scrape', toolInput: { url: 'https://docs.example.com/getting-started', onlyMainContent: true, },});console.log(result.data);result = actions.execute_tool( connection_name="closemcp", identifier="user_123", tool_name="closemcp_firecrawl_scrape", tool_input={ "url": "https://docs.example.com/getting-started", "onlyMainContent": True, },)print(result.data)Search the web
Use closemcp_firecrawl_search to run a live web search and get scraped content from the top results.
const result = await actions.executeTool({ connectionName: 'closemcp', identifier: 'user_123', toolName: 'closemcp_firecrawl_search', toolInput: { query: 'best practices for API rate limiting 2026', limit: 5, },});console.log(result.data);result = actions.execute_tool( connection_name="closemcp", identifier="user_123", tool_name="closemcp_firecrawl_search", tool_input={ "query": "best practices for API rate limiting 2026", "limit": 5, },)print(result.data)Extract structured data from a URL
Use closemcp_firecrawl_extract with a natural-language prompt and optional JSON Schema to pull structured data from one or more pages.
const result = await actions.executeTool({ connectionName: 'closemcp', identifier: 'user_123', toolName: 'closemcp_firecrawl_extract', toolInput: { urls: ['https://example.com/pricing'], prompt: 'Extract all pricing plan names and their monthly costs.', },});console.log(result.data);result = actions.execute_tool( connection_name="closemcp", identifier="user_123", tool_name="closemcp_firecrawl_extract", tool_input={ "urls": ["https://example.com/pricing"], "prompt": "Extract all pricing plan names and their monthly costs.", },)print(result.data)Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
closemcp_activity_search
#
Search for activities. Results are returned ordered by date descending.
Examples:
- To list activities on a lead, use the lead_ids filter.
- To list conversations, filter for calls and meetings. 8 params
Search for activities. Results are returned ordered by date descending. Examples: - To list activities on a lead, use the lead_ids filter. - To list conversations, filter for calls and meetings.
activity_at string optional Filter activities by the date/time the activity occurred. activity_types string optional Filter by activity types. Valid values include activity.call, activity.email, activity.note, activity.meeting, activity.sms, activity.custom_activity, and others. agent_config_ids string optional Filter by voice agent config IDs. Matches Call, Email, and SMS activities that carry an agent_config_id; other activity types are filtered out implicitly because the field is not indexed for them. contact_ids string optional Filter by contact IDs. Only activities associated with these contacts will be returned. cursor string optional Pagination cursor. Provide only when more results are requested from a previous response. lead_ids string optional Filter by lead IDs. Only activities on these leads will be returned. lead_smart_view_ids string optional Filter by lead smart view IDs. Only activities on leads matching these smart views will be returned. user_ids string optional Filter by user IDs. Only activities created by these users will be returned. closemcp_aggregation
#
Perform an aggregation to answer questions like:
- How many emails were sent this week?
- Calls by user this week (Who made the most?)
You MUST first fetch the list of available leads of fields using the
`get_fields` tool. 6 params
Perform an aggregation to answer questions like: - How many emails were sent this week? - Calls by user this week (Who made the most?) You MUST first fetch the list of available leads of fields using the `get_fields` tool.
include_types array required Object types to include in aggregation. Valid values: lead, contact, opportunity, task, email, call, note, meeting, sms, whatsapp, custom_activity, custom_object, sequence_subscription, lead_status_change, opportunity_status_change. aggregations string optional Aggregation specifications to compute. Each item must specify an aggregation_type (e.g. count, sum, average, min, max, median, cardinality, percent_empty, etc.) and most require a field name. display_mode string optional How to display the aggregation results. Determined automatically by default. group_by string optional Reference or enum fields to group by (maximum 2). Use field names returned by the get_fields tool. interval string optional Interval to aggregate by when using date fields. Determined automatically by default. time_buckets string optional Time buckets configuration for grouping results by time period. closemcp_apply_voice_agent_update
#
Apply a previously proposed voice agent update.
This tool persists the server-stored proposal identified by proposal_id.
It does not rerun the feedback processor, and it fails if the proposal has
expired or the voice agent changed after the proposal was created. 1 param
Apply a previously proposed voice agent update. This tool persists the server-stored proposal identified by proposal_id. It does not rerun the feedback processor, and it fails if the proposal has expired or the voice agent changed after the proposal was created.
proposal_id string required Proposal ID returned by propose_voice_agent_update. closemcp_close_product_knowledge_search
#
Search Close product documentation and knowledge base for relevant information.
Use this tool when users ask about:
- How to use specific Close features
- Close API documentation and integration
- Workflow automation and best practices
- Product capabilities and limitations
- Setup and configuration guidance
Example queries:
- "How do I set up automated lead assignment?"
- "What are Close's API rate limits?"
- "How to create custom fields in Close?"
- "Best practices for email templates in Close" 1 param
Search Close product documentation and knowledge base for relevant information. Use this tool when users ask about: - How to use specific Close features - Close API documentation and integration - Workflow automation and best practices - Product capabilities and limitations - Setup and configuration guidance Example queries: - "How do I set up automated lead assignment?" - "What are Close's API rate limits?" - "How to create custom fields in Close?" - "Best practices for email templates in Close"
query string required Natural language query to search Close product documentation and knowledge. For example: 'How do I set up automated lead assignment?' or 'What are Close API rate limits?' closemcp_create_address
#
Add a new address to an existing lead (company). 8 params
Add a new address to an existing lead (company).
address_1 string required Address line 1 (street address) city string required City country string required Country code in ISO 3166-1 alpha-2 format (e.g. US, GB, DE) label string required Label for the address. One of: business, mailing, other. lead_id string required ID of the lead to add the address to state string required State or province zipcode string required ZIP or postal code address_2 string optional Address line 2 (suite, unit, etc.) closemcp_create_call_task
#
Schedule a call task on a lead, assigned to either a user or a
voice agent (Chloe).
A call task represents a scheduled outbound call that will be made
to the specified contact at the given time. The task can be assigned
to a specific user or dispatched to a voice agent. 6 params
Schedule a call task on a lead, assigned to either a user or a voice agent (Chloe). A call task represents a scheduled outbound call that will be made to the specified contact at the given time. The task can be assigned to a specific user or dispatched to a voice agent.
contact_id string required ID of the contact to call. Must belong to the specified lead. lead_id string required ID of the lead this call task belongs to agent_config_id string optional ID of the voice agent (Chloe) to dispatch the call task to. Mutually exclusive with assigned_to. assigned_to string optional ID of the user to assign the call task to. Mutually exclusive with agent_config_id. due_date string optional Due date or datetime for the call task. Can be a date (YYYY-MM-DD) or datetime (ISO 8601). If not provided, the task will be due immediately. text string optional The call task description/instructions. closemcp_create_comment
#
Add a comment to a commentable object (note, call, opportunity, task,
custom object, etc.).
If the object already has a comment thread, the new comment is appended
to it. Otherwise a new thread is started for the object. Use this tool
for both starting a conversation and replying to an existing one — the
object_id alone determines which.
Comments support @-mentions of users and groups. The body is HTML. 2 params
Add a comment to a commentable object (note, call, opportunity, task, custom object, etc.). If the object already has a comment thread, the new comment is appended to it. Otherwise a new thread is started for the object. Use this tool for both starting a conversation and replying to an existing one — the object_id alone determines which. Comments support @-mentions of users and groups. The body is HTML.
body string required Body of the comment as Close rich text (HTML). Must be a valid Close rich-text document: wrap the whole content in a single <body> tag and put each line/paragraph in a block-level tag. Supported tags include <p>, <h1>-<h6>, <ul>/<ol> with <li>, <blockquote>, <hr>, <a href=...>, <br>, and inline formatting <strong>/<b>, <em>/<i>, <u>, <s>, <code>, <span>. Emoji and unicode are accepted. Escape literal '&' as '&' and literal '<' as '<' in text content.
To @-mention a user, call the `org_users` tool to look up the target user and embed their `mention_html` value verbatim in the body. To @-mention a group, call the `find_groups` tool to look up the target group and embed their `mention_html` value verbatim in the body. Example: <body><p>Nice work <span data-type="mention" data-id="user_abc123" data-label="Jane Doe" class="mention">@Jane Doe</span> on closing this!</p></body> object_id string required ID of the commentable object: an activity ID (acti_..., e.g. a note, call, email, SMS, meeting, or custom activity), an opportunity ID (oppo_...), a task notification ID (task_...), or a custom object ID (custobj_...). One comment thread exists per object; this tool adds to it or creates it if none exists yet. closemcp_create_contact
#
Create a new contact for a lead.
A contact represents a person associated with a lead (company). 7 params
Create a new contact for a lead. A contact represents a person associated with a lead (company).
lead_id string required ID of the lead this contact belongs to custom_fields array optional Custom field values to set on this object. Only the custom fields included are modified; omitted fields are left unchanged. emails string optional List of email addresses for the contact. Each entry needs a type (office, mobile, home, direct, fax, url, other) and an email address. name string optional Full name of the contact phones string optional List of phone numbers for the contact. Each entry needs a type (office, mobile, home, direct, fax, url, other) and a phone number in international format (e.g. +16505551234). title string optional Job title of the contact (e.g. CEO, VP of Sales) urls string optional List of URLs for the contact (e.g. LinkedIn, personal website). Each entry needs a type and a URL. closemcp_create_custom_activity_instance
#
Create a new custom activity instance on a lead.
A custom activity instance is an activity of a custom activity type,
holding the custom field values defined by that type. Use the
find_custom_activities tool to look up the available custom activity
types.
If in an interactive session, ask the user for the relevant field values
(including custom fields) before creating, even if they are not required. 9 params
Create a new custom activity instance on a lead. A custom activity instance is an activity of a custom activity type, holding the custom field values defined by that type. Use the find_custom_activities tool to look up the available custom activity types. If in an interactive session, ask the user for the relevant field values (including custom fields) before creating, even if they are not required.
custom_activity_type_id string required ID of the custom activity type. Use the find_custom_activities tool to look up the available custom activity types. lead_id string required ID of the lead this custom activity belongs to activity_at string optional When the custom activity occurred contact_id string optional ID of the contact to associate with the custom activity custom_fields array optional Custom field values to set on this object. Only the custom fields included are modified; omitted fields are left unchanged. date_created string optional When the custom activity was created. Defaults to now; set this to backfill an activity at a past time. pinned boolean optional Whether to pin the custom activity to the top of the lead's timeline status string optional Status of the custom activity. Published activities validate required custom fields; draft activities do not. user_id string optional ID of the user to attribute the custom activity to (defaults to the caller) closemcp_create_email_template
#
Create a new email template.
Handling of attachments and unsubscribe links via this tool is currently unsupported.
Email template body should be HTML formatted.
Use template tags as placeholders, for example:
{{ organization.name }} to refer to the sender's organization name.
{{ user.first_name }} {{ user.last_name }} {{ user.email }} {{ user.phone }} to refer to the user sending the email.
{{ lead.display_name }} to refer to the lead name (recipient's name/company).
{{ contact.first_name }} {{ contact.last_name }} to refer to the recipient. 6 params
Create a new email template. Handling of attachments and unsubscribe links via this tool is currently unsupported. Email template body should be HTML formatted. Use template tags as placeholders, for example: {{ organization.name }} to refer to the sender's organization name. {{ user.first_name }} {{ user.last_name }} {{ user.email }} {{ user.phone }} to refer to the user sending the email. {{ lead.display_name }} to refer to the lead name (recipient's name/company). {{ contact.first_name }} {{ contact.last_name }} to refer to the recipient.
body string required HTML body of the email template. Supports template tags like {{ organization.name }}, {{ user.first_name }}, {{ lead.display_name }}, {{ contact.first_name }} name string required Name of the email template subject string required Subject line of the email template bcc string optional List of BCC email addresses cc string optional List of CC email addresses is_shared boolean optional Share this template with the organization (required for use in workflows) closemcp_create_lead
#
Create a new lead (company).
After creating a lead, you should usually add an address or contact
(including phone or email) to the lead. 5 params
Create a new lead (company). After creating a lead, you should usually add an address or contact (including phone or email) to the lead.
custom_fields array optional Custom field values to set on this object. Only the custom fields included are modified; omitted fields are left unchanged. description string optional Description of the lead name string optional Name of the lead status_id string optional ID of the lead status. Use find_lead_statuses to get available status IDs. url string optional URL of the lead's website closemcp_create_lead_status
#
Create a new lead status. 1 param
Create a new lead status.
label string required Label for the lead status closemcp_create_note
#
Create a new note on a lead.
A note is a text-based activity attached to a lead. At least one
of note (plaintext) or note_html (rich text) must be provided. 8 params
Create a new note on a lead. A note is a text-based activity attached to a lead. At least one of note (plaintext) or note_html (rich text) must be provided.
lead_id string required ID of the lead this note belongs to activity_at string optional When the note activity occurred (ISO 8601 date-time) contact_id string optional ID of the contact to associate with the note note string optional Plaintext note content. At least one of note or note_html must be provided. note_html string optional Rich-text (HTML) note content. At least one of note or note_html must be provided. pinned string optional Whether to pin the note to the top of the lead title string optional Title of the note user_id string optional ID of the user to attribute the note to (defaults to caller) closemcp_create_opportunity
#
Create a new opportunity.
Requires a lead ID and status ID. Other fields are optional. The value should be specified in cents (e.g., $100.00 = 10000). 11 params
Create a new opportunity. Requires a lead ID and status ID. Other fields are optional. The value should be specified in cents (e.g., $100.00 = 10000).
lead_id string required ID of the lead this opportunity belongs to status_id string required ID of the opportunity status. Use find_pipelines_and_opportunity_statuses to list valid IDs. close_at string optional Expected close date in ISO 8601 format confidence string optional Confidence percentage (0-100) that the opportunity will close contact_id string optional ID of the primary contact for this opportunity custom_fields array optional Custom field values to set on this object. Only the custom fields included are modified; omitted fields are left unchanged. note string optional Plaintext note to attach to the opportunity note_html string optional Rich-text HTML version of the note, wrapped in `<body>...</body>`. When set, `note` is automatically derived from it. user_id string optional ID of the user assigned to this opportunity. Defaults to the current user. value string optional Monetary value of the opportunity in cents (e.g., $100.00 = 10000) value_period string optional Recurrence period for the value: 'one_time', 'monthly', or 'annual' closemcp_create_opportunity_status_tool
#
Create a new opportunity status. 3 params
Create a new opportunity status.
label string required Label for the opportunity status pipeline_id string required ID of the pipeline to add the status to type string required Type of the opportunity status. One of: 'won', 'lost', 'active'. closemcp_create_pipeline
#
Create a new opportunity pipeline.
Use the create_opportunity_status tool to add statuses to the pipeline. 1 param
Create a new opportunity pipeline. Use the create_opportunity_status tool to add statuses to the pipeline.
name string required Name of the pipeline. closemcp_create_sms_template
#
Create a new SMS template.
Handling of attachments via this tool is currently unsupported.
Use template tags as placeholders, for example:
{{ organization.name }} to refer to the sender's organization name.
{{ user.first_name }} {{ user.last_name }} {{ user.email }} {{ user.phone }} to refer to the user sending the message.
{{ lead.display_name }} to refer to the lead name (recipient's name/company).
{{ contact.first_name }} {{ contact.last_name }} to refer to the recipient. 3 params
Create a new SMS template. Handling of attachments via this tool is currently unsupported. Use template tags as placeholders, for example: {{ organization.name }} to refer to the sender's organization name. {{ user.first_name }} {{ user.last_name }} {{ user.email }} {{ user.phone }} to refer to the user sending the message. {{ lead.display_name }} to refer to the lead name (recipient's name/company). {{ contact.first_name }} {{ contact.last_name }} to refer to the recipient.
name string required Name of the SMS template text string required Text content of the SMS template. Supports template tags like {{ organization.name }}, {{ user.first_name }}, {{ lead.display_name }}, {{ contact.first_name }} is_shared boolean optional Share this template with the organization (required for use in workflows) closemcp_create_task
#
Create a new task for a lead.
A task represents a to-do item that can be assigned to a user
and optionally associated with a contact. 7 params
Create a new task for a lead. A task represents a to-do item that can be assigned to a user and optionally associated with a contact.
lead_id string required ID of the lead this task belongs to text string required The task description assigned_to string optional ID of the user to assign the task to. Defaults to the current user if not provided. contact_id string optional ID of the contact associated with this task. Must belong to the specified lead. due_date string optional Due date or datetime for the task. Can be a date (YYYY-MM-DD) or datetime (ISO 8601). If not provided, the task will be due immediately. priority string optional Task priority: 'high' or 'medium'. Defaults to 'medium'. Only set to high if the user explicitly says it's a high priority task. send_notification boolean optional Send an email notification to the assigned user. Assume notifications should be sent unless the user explicitly tells you not to. closemcp_create_workflow
#
Create a new workflow (a.k.a. sequence) with Draft status. 3 params
Create a new workflow (a.k.a. sequence) with Draft status.
name string required Workflow name. Must be unique within the organization. steps array required Steps in the workflow. Each step must have a step_type that exactly matches one of: 'email', 'call', 'task', 'sms', 'create-opportunity', 'update-opportunity', 'update-lead', 'lead-assignment'. Each step also requires a delay (ISO 8601 duration, e.g. 'PT0S' for immediate, 'P1D' for 1 day). At least one step is required. trigger string optional The trigger that determines when and how the workflow fires. The trigger_type must exactly match one of the defined types. Use 'contact-manual' (the default) when the user does not specify a trigger. Supported trigger_type values: 'contact-manual', 'lead-manual', 'lead-event', 'contact-event', 'opportunity-event', 'call-event', 'custom-activity-event', 'meeting-event', 'form-submission-event'. closemcp_delete_address
#
Delete an address from an existing lead (company) if there is an exact match. 8 params
Delete an address from an existing lead (company) if there is an exact match.
address_1 string required Address line 1 — must match exactly city string required City — must match exactly country string required Country code (ISO 3166-1 alpha-2) — must match exactly label string required Label for the address (e.g. business, mailing, other) lead_id string required ID of the lead to delete the address from state string required State or province — must match exactly zipcode string required ZIP or postal code — must match exactly address_2 string optional Address line 2 — must match exactly if present closemcp_delete_contact
#
Permanently delete an existing contact.
This will remove the contact from its lead including its email addresses,
phone numbers, and URLs will be removed. Activities on the lead are not
affected.
This action cannot be undone.
ONLY call this if the user specifically instructed you to delete the contact. 1 param
Permanently delete an existing contact. This will remove the contact from its lead including its email addresses, phone numbers, and URLs will be removed. Activities on the lead are not affected. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the contact.
id string required ID of the contact to delete closemcp_delete_custom_activity_instance
#
Permanently delete an existing custom activity instance.
This action cannot be undone.
ONLY call this if the user specifically instructed you to delete the
custom activity instance. 1 param
Permanently delete an existing custom activity instance. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the custom activity instance.
id string required ID of the custom activity instance to delete closemcp_delete_email_template
#
Permanently delete an email template.
If the template is used in any workflows (sequences), it cannot be deleted. 1 param
Permanently delete an email template. If the template is used in any workflows (sequences), it cannot be deleted.
id string required ID of the email template to delete closemcp_delete_lead
#
Permanently delete an existing lead (company) by ID including all of its addresses, contacts, opportunities, tasks, and activities.
ONLY call this if the user specifically instructed you to delete the lead, and you confirmed what the deletion will entail and that it cannot be reversed. 1 param
Permanently delete an existing lead (company) by ID including all of its addresses, contacts, opportunities, tasks, and activities. ONLY call this if the user specifically instructed you to delete the lead, and you confirmed what the deletion will entail and that it cannot be reversed.
id string required ID of the lead to delete closemcp_delete_lead_smart_view
#
Permanently delete a lead smart view (saved search). 1 param
Permanently delete a lead smart view (saved search).
id string required ID of the lead smart view to delete closemcp_delete_lead_status
#
Permanently delete a lead status.
Cannot delete if it's the last lead status in the organization or there are
leads currently using this status. 1 param
Permanently delete a lead status. Cannot delete if it's the last lead status in the organization or there are leads currently using this status.
id string required ID of the lead status to delete closemcp_delete_note
#
Permanently delete an existing note.
This action cannot be undone.
ONLY call this if the user specifically instructed you to delete
the note. 1 param
Permanently delete an existing note. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the note.
id string required ID of the note to delete closemcp_delete_opportunity
#
Permanently delete an opportunity.
This action cannot be undone. All data associated with the opportunity will be removed. 1 param
Permanently delete an opportunity. This action cannot be undone. All data associated with the opportunity will be removed.
id string required ID of the opportunity to delete closemcp_delete_opportunity_status_tool
#
Permanently delete an opportunity status.
Cannot delete if it's the last opportunity status in the organization or there are opportunities currently using this status. 1 param
Permanently delete an opportunity status. Cannot delete if it's the last opportunity status in the organization or there are opportunities currently using this status.
id string required ID of the opportunity status to delete closemcp_delete_pipeline
#
Permanently delete an opportunity pipeline.
A pipeline can only be deleted if it has no statuses. The last pipeline cannot be deleted. 1 param
Permanently delete an opportunity pipeline. A pipeline can only be deleted if it has no statuses. The last pipeline cannot be deleted.
id string required ID of the pipeline to delete closemcp_delete_sms_template
#
Permanently delete an SMS template.
If the template is used in any workflows (sequences), it cannot be deleted. 1 param
Permanently delete an SMS template. If the template is used in any workflows (sequences), it cannot be deleted.
id string required ID of the SMS template to delete closemcp_delete_task
#
Permanently delete an existing task by ID.
This action cannot be undone.
ONLY call this if the user specifically instructed you to delete the task. 1 param
Permanently delete an existing task by ID. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the task.
id string required ID of the task to delete closemcp_enrich_field
#
Use AI to determine and set the value of a field on a lead or contact.
The field is enriched using available data on the object and external
sources, and the enriched value is written back to the object. By default
the value is only written if the field is currently empty; set
overwrite_existing_value to True to replace an existing value.
Returns the enriched value along with the model's reasoning and confidence. 4 params
Use AI to determine and set the value of a field on a lead or contact. The field is enriched using available data on the object and external sources, and the enriched value is written back to the object. By default the value is only written if the field is currently empty; set overwrite_existing_value to True to replace an existing value. Returns the enriched value along with the model's reasoning and confidence.
field_id string required The ID of the field to enrich. This may be a built-in field name or a custom field ID. object_id string required The ID of the lead or contact to enrich (e.g. 'lead_xxx' or 'cont_xxx'). object_type string required The type of object whose field should be enriched. overwrite_existing_value boolean optional Whether to overwrite an existing value. When False, the field is only written if it is currently empty. closemcp_fetch_comment
#
Fetch a single comment by ID.
Returns the comment's rich-text (HTML) body, the thread and lead it
belongs to, its @-mentions, and the resolved author and last-editor
names. 1 param
Fetch a single comment by ID. Returns the comment's rich-text (HTML) body, the thread and lead it belongs to, its @-mentions, and the resolved author and last-editor names.
id string required ID of the comment to fetch. closemcp_fetch_contact
#
Fetch an existing contact by ID.
Returns the contact's details including name, title, email addresses, phone numbers, and URLs. 1 param
Fetch an existing contact by ID. Returns the contact's details including name, title, email addresses, phone numbers, and URLs.
id string required ID of the contact to fetch closemcp_fetch_custom_activity_instance
#
Fetch an existing custom activity instance by ID.
A custom activity instance is an activity of a custom activity type,
holding the custom field values defined by that type. Returns the
full instance, including its custom field values and the resolved
lead, contact, and user names. 1 param
Fetch an existing custom activity instance by ID. A custom activity instance is an activity of a custom activity type, holding the custom field values defined by that type. Returns the full instance, including its custom field values and the resolved lead, contact, and user names.
id string required ID of the custom activity instance to fetch closemcp_fetch_custom_object_type
#
Fetch a custom object type by ID.
A custom object type defines the shape of a category of custom objects,
including the custom fields its instances hold. Returns the type with
its custom fields. 1 param
Fetch a custom object type by ID. A custom object type defines the shape of a category of custom objects, including the custom fields its instances hold. Returns the type with its custom fields.
id string required ID of the custom object type to fetch. closemcp_fetch_email_template
#
Fetch an email template by ID.
Returns the complete email template with all its details. 1 param
Fetch an email template by ID. Returns the complete email template with all its details.
id string required ID of the email template to fetch closemcp_fetch_lead
#
Fetch an existing lead (company) by ID. 1 param
Fetch an existing lead (company) by ID.
id string required ID of the lead to fetch closemcp_fetch_lead_smart_view
#
Fetch a lead smart view (saved search) by ID. 1 param
Fetch a lead smart view (saved search) by ID.
id string required ID of the lead smart view to fetch closemcp_fetch_lead_status
#
Fetch a lead status by ID. 1 param
Fetch a lead status by ID.
id string required ID of the lead status to fetch closemcp_fetch_note
#
Fetch an existing note by ID.
Returns the full note details including title, text, and metadata. 1 param
Fetch an existing note by ID. Returns the full note details including title, text, and metadata.
id string required ID of the note to fetch closemcp_fetch_opportunity
#
Fetch a specific opportunity by ID.
Returns the complete opportunity with all its details. 1 param
Fetch a specific opportunity by ID. Returns the complete opportunity with all its details.
id string required ID of the opportunity to fetch closemcp_fetch_opportunity_status
#
Fetch an opportunity status by ID. 1 param
Fetch an opportunity status by ID.
id string required ID of the opportunity status to fetch closemcp_fetch_pipeline_and_opportunity_statuses
#
Fetch an opportunity pipeline, including its opportunity statuses, by ID. 1 param
Fetch an opportunity pipeline, including its opportunity statuses, by ID.
id string required ID of the pipeline to fetch. closemcp_fetch_sms_template
#
Fetch an SMS template by ID.
Returns the complete SMS template with all its details. 1 param
Fetch an SMS template by ID. Returns the complete SMS template with all its details.
id string required ID of the SMS template to fetch closemcp_fetch_task
#
Fetch an existing task by ID.
Returns the task's details including the associated lead, contact,
assignee, due date, priority, and completion status. 1 param
Fetch an existing task by ID. Returns the task's details including the associated lead, contact, assignee, due date, priority, and completion status.
id string required ID of the task to fetch closemcp_find_call_outcomes
#
List all outcomes applicable to calls available in the organization. 0 params
List all outcomes applicable to calls available in the organization.
closemcp_find_contact_custom_fields
#
List all contact custom fields defined for the organization.
Includes both contact-specific fields and shared fields associated
with contacts. Returns each field's ID, name, description, type,
allowed choices (for choice fields), whether multiple values are
accepted, and whether it is a shared field. Useful for deciding which
custom field to read or write when working with contacts. 0 params
List all contact custom fields defined for the organization. Includes both contact-specific fields and shared fields associated with contacts. Returns each field's ID, name, description, type, allowed choices (for choice fields), whether multiple values are accepted, and whether it is a shared field. Useful for deciding which custom field to read or write when working with contacts.
closemcp_find_custom_activities
#
List all active (non-archived) Custom Activity Types in the organization,
along with the custom fields defined on each type.
Call this before creating a workflow with a "custom-activity-event" trigger
so you can look up the correct Custom Activity Type ID. 0 params
List all active (non-archived) Custom Activity Types in the organization, along with the custom fields defined on each type. Call this before creating a workflow with a "custom-activity-event" trigger so you can look up the correct Custom Activity Type ID.
closemcp_find_custom_activity_instances
#
Find a lead's custom activity instances based on various filters.
A custom activity instance is an activity of a custom activity type,
holding the custom field values defined by that type. Always scoped
to a single lead; optionally filter by attributed user, one or more
custom activity types, or activity date. Results are sorted by most
recent activity first and are cursor-paginated. 5 params
Find a lead's custom activity instances based on various filters. A custom activity instance is an activity of a custom activity type, holding the custom field values defined by that type. Always scoped to a single lead; optionally filter by attributed user, one or more custom activity types, or activity date. Results are sorted by most recent activity first and are cursor-paginated.
lead_id string required The lead whose custom activity instances to find activity_at string optional Filter custom activity instances by their activity date range cursor string optional Pagination cursor for retrieving the next page custom_activity_type_ids string optional Filter by the custom activity types the instances belong to. Provide one or more type IDs to match instances of any of them. user_id string optional Filter custom activity instances by the user they are attributed to (their owner) closemcp_find_custom_object_types
#
List all custom object types in the organization, along with the
custom fields defined on each type. 0 params
List all custom object types in the organization, along with the custom fields defined on each type.
closemcp_find_email_templates
#
List or find email templates 3 params
List or find email templates
cursor string optional Pagination cursor, give only when more results are requested. name_search string optional Template name case-insensitive contains search status string optional Use all to return all except archived. closemcp_find_forms
#
List all web forms in the organization.
Call this before creating a workflow with a "form-submission-event" trigger
so you can look up the correct Form ID. 0 params
List all web forms in the organization. Call this before creating a workflow with a "form-submission-event" trigger so you can look up the correct Form ID.
closemcp_find_groups
#
List all groups in the organization. 0 params
List all groups in the organization.
closemcp_find_lead_custom_fields
#
List all lead custom fields defined for the organization.
Returns each field's ID, name, description, type, allowed choices
(for choice fields), whether multiple values are accepted, and whether
it is a shared field. Useful for deciding which custom field to read
or write when working with leads. 0 params
List all lead custom fields defined for the organization. Returns each field's ID, name, description, type, allowed choices (for choice fields), whether multiple values are accepted, and whether it is a shared field. Useful for deciding which custom field to read or write when working with leads.
closemcp_find_lead_smart_views
#
List lead smart views (saved searches). 3 params
List lead smart views (saved searches).
cursor string optional Pagination cursor, give only when more results are requested. filter string optional Filter to show only pinned smart views (those shown in the sidebar), or all available smart views. When the user asks about smart views you should filter for pinned smart views unless the user is requesting to see all views or searches by name. name_search string optional Smart view name case-insensitive contains search. When using name search you should filter by all smart views. closemcp_find_lead_statuses
#
List or find lead statuses for the organization 0 params
List or find lead statuses for the organization
closemcp_find_meeting_outcomes
#
List all outcomes applicable to meetings available in the organization. 0 params
List all outcomes applicable to meetings available in the organization.
closemcp_find_notes
#
Find notes based on various filters. 6 params
Find notes based on various filters.
activity_at string optional Filter notes by activity date range contact_id string optional Filter notes by associated contact ID cursor string optional Pagination cursor for retrieving the next page date_created string optional Filter notes by creation date range lead_id string optional Filter notes by lead ID user_id string optional Filter notes by the user who created them closemcp_find_opportunities
#
Find opportunities by status (active/won/lost), owner, lead, or close-date range, optionally only those needing attention, sorted by soonest close, largest value, or highest confidence. Returns each opportunity with resolved lead, contact, owner, and status names; cursor-paginated. 11 params
Find opportunities by status (active/won/lost), owner, lead, or close-date range, optionally only those needing attention, sorted by soonest close, largest value, or highest confidence. Returns each opportunity with resolved lead, contact, owner, and status names; cursor-paginated.
close_at string optional Filter opportunities by expected close date range created_at string optional Filter by opportunity creation date range cursor string optional Pagination cursor, give only when more results are requested. lead_id string optional Filter by the ID of the lead the opportunities belong to lead_view_id string optional Filter by a lead smart view ID needs_attention string optional Filter by opportunities that may be stalled and need attention. To see why an opportunity is stalled, direct the user to the opportunities pipeline page. sort_by string optional Sort order: 'closing_soonest', 'largest_value', or 'largest_confidence' status_ids string optional Filter by specific opportunity status IDs status_type string optional Filter by status type: 'won', 'lost', or 'active' updated_at string optional Filter by opportunity last updated date range user_ids string optional Filter by owner user IDs closemcp_find_opportunity_custom_fields
#
List all opportunity custom fields defined for the organization.
Includes both opportunity-specific fields and shared fields associated
with opportunities. Returns each field's ID, name, description, type,
allowed choices (for choice fields), whether multiple values are
accepted, and whether it is a shared field. Useful for deciding which
custom field to read or write when working with opportunities. 0 params
List all opportunity custom fields defined for the organization. Includes both opportunity-specific fields and shared fields associated with opportunities. Returns each field's ID, name, description, type, allowed choices (for choice fields), whether multiple values are accepted, and whether it is a shared field. Useful for deciding which custom field to read or write when working with opportunities.
closemcp_find_pipelines_and_opportunity_statuses
#
List all opportunity pipelines and their opportunity statuses in the organization. 0 params
List all opportunity pipelines and their opportunity statuses in the organization.
closemcp_find_scheduling_links
#
List available scheduling links for the user and org.
User-owned personal links come with a URL. Shared links come with a special
template tag. Each can be inserted into generated templates. 2 params
List available scheduling links for the user and org. User-owned personal links come with a URL. Shared links come with a special template tag. Each can be inserted into generated templates.
cursor string optional Pagination cursor. Give only when more results are desired. name_search string optional Scheduling Link name. Case-insensitive substring search. closemcp_find_sms_templates
#
List or find SMS templates 3 params
List or find SMS templates
cursor string optional Pagination cursor, give only when more results are requested. name_search string optional Template name case-insensitive contains search status string optional Use all to return all except archived. closemcp_find_tasks
#
Find tasks based on various filters.
You can filter by lead, assignee, completion state, and due/created/
updated dates. 7 params
Find tasks based on various filters. You can filter by lead, assignee, completion state, and due/created/ updated dates.
assigned_to string optional Filter by the ID of the user the task is assigned to created_at string optional Filter by task creation date range cursor string optional Pagination cursor, give only when more results are requested. due_date string optional Filter by task due date range is_complete string optional Filter by completion status. If not provided, both complete and incomplete tasks are returned. lead_id string optional Filter by lead ID updated_at string optional Filter by task last updated date range closemcp_find_voice_agents
#
List all voice agents configured for the organization. Voice agents are
AI callers that place outbound calls to leads' contacts on the user's
behalf.
Returns each voice agent's ID and name. Use this to find the right
voice agent ID when scheduling a call or assigning a call step in a
workflow.
Users may refer to voice agents as "voice agents", "Chloe", or by their
configured name. When more than one agent exists, pick the most
appropriate one based on the name. 0 params
List all voice agents configured for the organization. Voice agents are AI callers that place outbound calls to leads' contacts on the user's behalf. Returns each voice agent's ID and name. Use this to find the right voice agent ID when scheduling a call or assigning a call step in a workflow. Users may refer to voice agents as "voice agents", "Chloe", or by their configured name. When more than one agent exists, pick the most appropriate one based on the name.
closemcp_find_workflows
#
List or find workflows 3 params
List or find workflows
cursor string optional Pagination cursor. Provide only when more results are requested from a previous response. name_search string optional Workflow name case-insensitive contains search. Returns workflows whose name contains this string. status string optional Filter workflows by status. Use 'all' to return all workflows regardless of status. closemcp_get_fields
#
Use this field ONLY to get a list of fields for the aggregation tool. 0 params
Use this field ONLY to get a list of fields for the aggregation tool.
closemcp_get_voice_agent_overview_report
#
Cross-agent rollup for the Voice Agents list page.
Returns one row per active agent — agents with completed calls
in `date_range` or queued upcoming calls. Cumulative funnel
counts (`answered`, `engaged`, `objective_met`) plus `total_calls`.
`upcoming_calls` is the agent's queued (not yet completed) calls and
is not bound by `date_range` — open tasks are open regardless of
when scheduled (so an agent with only upcoming calls still appears).
Use this to compare agents;
for one agent's outcomes, sentiment, or time saved use
`get_voice_agent_performance_report`. For an inventory of all
configured voice agents regardless of activity, use
`find_agent_configs`.
The Voice Agents list (Agents tab) shows all-time stats, so leave
`date_range` at its default (`all_time`) unless the user asks for a
specific window. (The Upcoming and Recent tabs are call lists, not
this rollup — search Calls for those.)
Rows are sorted server-side per the `sort` field (default
`most_calls`); pass a different mode rather than re-sorting in
your reply. Set `reverse=True` to invert (e.g. `sort=most_calls,
reverse=True` for least active first) — necessary to surface the
bottom of the ordering, since `rows` are capped before they reach
you. `truncated` and `total_agent_count` flag in-scope active
agents; `dormant_agent_count` reports in-scope agents with
neither completed calls in the date range nor queued
upcoming calls (not included in `rows`). 4 params
Cross-agent rollup for the Voice Agents list page. Returns one row per active agent — agents with completed calls in `date_range` or queued upcoming calls. Cumulative funnel counts (`answered`, `engaged`, `objective_met`) plus `total_calls`. `upcoming_calls` is the agent's queued (not yet completed) calls and is not bound by `date_range` — open tasks are open regardless of when scheduled (so an agent with only upcoming calls still appears). Use this to compare agents; for one agent's outcomes, sentiment, or time saved use `get_voice_agent_performance_report`. For an inventory of all configured voice agents regardless of activity, use `find_agent_configs`. The Voice Agents list (Agents tab) shows all-time stats, so leave `date_range` at its default (`all_time`) unless the user asks for a specific window. (The Upcoming and Recent tabs are call lists, not this rollup — search Calls for those.) Rows are sorted server-side per the `sort` field (default `most_calls`); pass a different mode rather than re-sorting in your reply. Set `reverse=True` to invert (e.g. `sort=most_calls, reverse=True` for least active first) — necessary to surface the bottom of the ordering, since `rows` are capped before they reach you. `truncated` and `total_agent_count` flag in-scope active agents; `dormant_agent_count` reports in-scope agents with neither completed calls in the date range nor queued upcoming calls (not included in `rows`).
agent_config_ids string optional Optional list of voice agent IDs to filter the report to. If omitted, all active agents are included. date_range string optional Time window for the report. Defaults to all_time. reverse boolean optional Whether to reverse the sort order. Set to true to invert (e.g. least active first when sort=most_calls). sort string optional Sort order for the rows. Defaults to most_calls. closemcp_get_voice_agent_performance_report
#
Performance metrics for one voice agent.
Returns the numbers shown on the Performance tab of a Voice Agent
detail page. Passing multiple `agent_config_ids` pools metrics
into a single aggregate (not a per-agent breakdown — for that,
use `get_voice_agent_overview_report`). For per-call drill-down,
search Calls filtered by `agent_config_id`.
When the user is on a Voice Agent page, pull `date_range` from
`page_context.date_range` so the numbers match the UI.
Percentages: `*_pct` is over `total_calls`;
`engaged_over_answered_pct` and `objective_met_over_answered_pct`
are over `answered` (tier-to-tier conversion). For any other
denominator, compute from `*_count`.
`funnel_previous_period_deltas` is null when the date range has
no defined previous period (e.g. `all_time`). 2 params
Performance metrics for one voice agent. Returns the numbers shown on the Performance tab of a Voice Agent detail page. Passing multiple `agent_config_ids` pools metrics into a single aggregate (not a per-agent breakdown — for that, use `get_voice_agent_overview_report`). For per-call drill-down, search Calls filtered by `agent_config_id`. When the user is on a Voice Agent page, pull `date_range` from `page_context.date_range` so the numbers match the UI. Percentages: `*_pct` is over `total_calls`; `engaged_over_answered_pct` and `objective_met_over_answered_pct` are over `answered` (tier-to-tier conversion). For any other denominator, compute from `*_count`. `funnel_previous_period_deltas` is null when the date range has no defined previous period (e.g. `all_time`).
agent_config_ids array required IDs of the voice agents to get performance metrics for. Use `find_voice_agents` to discover available agent IDs. date_range string optional Time window for the report. Defaults to all_time. closemcp_get_voice_agents
#
Return detailed configuration for one or more voice agents.
Includes each agent's objective, user instructions, and which skills are
enabled. Use this as the follow-up to `find_voice_agents` once one or
more agent IDs have been selected. 1 param
Return detailed configuration for one or more voice agents. Includes each agent's objective, user instructions, and which skills are enabled. Use this as the follow-up to `find_voice_agents` once one or more agent IDs have been selected.
agent_config_ids array required IDs of the voice agents (AgentConfig) to fetch details for. Up to 30 IDs per call. Use `find_voice_agents` to discover available agent IDs. closemcp_lead_search
#
Perform a simple lead search and return the initial set of results.
Use this to retrieve all leads, most recent leads, search leads by
keyword, or filter by lead status and smart view. For more complex
searches use the `search` tool instead.
Leads will be returned by last updated first. 4 params
Perform a simple lead search and return the initial set of results. Use this to retrieve all leads, most recent leads, search leads by keyword, or filter by lead status and smart view. For more complex searches use the `search` tool instead. Leads will be returned by last updated first.
full_text string optional Full text search across lead data lead_status_id string optional Filter by lead status ID name string optional Search lead name or contact name smart_view_id string optional Filter by smart view ID (saved search) closemcp_org_info
#
Get information about the Close organization including organization ID, name, and other org-level details. 0 params
Get information about the Close organization including organization ID, name, and other org-level details.
closemcp_org_users
#
Return active users (memberships) which are part of the current org. 0 params
Return active users (memberships) which are part of the current org.
closemcp_paginate_search
#
Paginate a search to retrieve more results.
Provide exactly one of:
- `search_id`: a `share_*` id from a previous search or shared entry, or
- `smart_view_id`: a `save_*` Smart View (saved search) id the user is
viewing. 3 params
Paginate a search to retrieve more results. Provide exactly one of: - `search_id`: a `share_*` id from a previous search or shared entry, or - `smart_view_id`: a `save_*` Smart View (saved search) id the user is viewing.
cursor string optional Pagination cursor from a previous search response search_id string optional Shared-entry/search id (share_*) to paginate. Provide exactly one of search_id or smart_view_id. smart_view_id string optional Smart View (saved search) id (save_*) to paginate. Provide exactly one of search_id or smart_view_id. closemcp_propose_voice_agent_update
#
Propose a voice agent configuration update from natural-language feedback.
This tool does not apply changes to the voice agent. It returns a short
behavioral summary and proposal ID when the requested edit is clear. If the
feedback is ambiguous, it returns clarification questions instead of making
a proposal. Use apply_voice_agent_update with the proposal ID only after
the user approves the proposal. 3 params
Propose a voice agent configuration update from natural-language feedback. This tool does not apply changes to the voice agent. It returns a short behavioral summary and proposal ID when the requested edit is clear. If the feedback is ambiguous, it returns clarification questions instead of making a proposal. Use apply_voice_agent_update with the proposal ID only after the user approves the proposal.
agent_config_id string required ID of the voice agent to update. feedback string required Natural-language feedback describing how the voice agent should change. proposal_id string optional Existing proposal ID to refine. Omit when creating a new proposal. closemcp_schedule_voice_agent_call
#
Schedule a voice agent to call a lead's contact.
Creates a call task assigned to the voice agent. The voice agent will
place the call automatically at the scheduled time, or as soon as the
queue picks it up when no time is given.
Use `find_voice_agents` first to discover which voice agents are
available in this organization. 4 params
Schedule a voice agent to call a lead's contact. Creates a call task assigned to the voice agent. The voice agent will place the call automatically at the scheduled time, or as soon as the queue picks it up when no time is given. Use `find_voice_agents` first to discover which voice agents are available in this organization.
agent_config_id string required ID of the voice agent (AgentConfig) that should make the call. Use `find_voice_agents` to discover available agents. lead_id string required ID of the lead to call. contact_id string optional Optional contact to call. If omitted, the first contact on the lead that has a phone number will be selected. scheduled_at string optional When the call should be made. ISO 8601 datetime, timezone-aware. If omitted, the call is scheduled to run as soon as the voice agent queue picks it up (ASAP). closemcp_search
#
Perform a natural language search for leads or contacts.
If a more specific search tool (like lead_search or activity_search)
satisfies the request, use that tool instead.
You can reference related objects like activities (such as calls, emails,
meetings, notes, custom activities, etc.), opportunities, tasks as long as
they are part of a lead query.
Example queries:
- leads not contacted in the past week
- leads assigned to me with uncompleted tasks
- leads with an active opportunity over $500
- contacts with CTO title
Each returned result will contain a title label, preview text, object ID,
and URL.
The initial set of results, total count of all results, and a URL to open
the results in Close is returned. To retrieve more results, use the
returned cursor and call the paginate_search tool using the cursor and
search ID returned in this response. 1 param
Perform a natural language search for leads or contacts. If a more specific search tool (like lead_search or activity_search) satisfies the request, use that tool instead. You can reference related objects like activities (such as calls, emails, meetings, notes, custom activities, etc.), opportunities, tasks as long as they are part of a lead query. Example queries: - leads not contacted in the past week - leads assigned to me with uncompleted tasks - leads with an active opportunity over $500 - contacts with CTO title Each returned result will contain a title label, preview text, object ID, and URL. The initial set of results, total count of all results, and a URL to open the results in Close is returned. To retrieve more results, use the returned cursor and call the paginate_search tool using the cursor and search ID returned in this response.
query string required Natural language search query. For example: 'leads not contacted in the past week', 'leads with an active opportunity over $500', or 'contacts with CTO title'. closemcp_update_contact
#
Update an existing contact.
You can update a contact's name, title, email addresses, phone numbers, and URLs.
Only fields that are provided will be updated. 7 params
Update an existing contact. You can update a contact's name, title, email addresses, phone numbers, and URLs. Only fields that are provided will be updated.
id string required ID of the contact to update custom_fields array optional Custom field values to set on this object. Only the custom fields included are modified; omitted fields are left unchanged. emails string optional When providing this field, you must provide the full updated list of email addresses for the contact. name string optional Name of the contact phones string optional When providing this field, you must provide the full updated list of phone numbers for the contact. title string optional Job title of the contact urls string optional When providing this field, you must provide the full updated list of URLs for the contact. closemcp_update_custom_activity_instance
#
Update an existing custom activity instance.
A custom activity instance is an activity of a custom activity type,
holding the custom field values defined by that type.
Only fields that are provided will be updated. For custom fields, only
the custom fields included are modified; pass null to clear one. Pass
'clear' for contact_id to detach the contact. 6 params
Update an existing custom activity instance. A custom activity instance is an activity of a custom activity type, holding the custom field values defined by that type. Only fields that are provided will be updated. For custom fields, only the custom fields included are modified; pass null to clear one. Pass 'clear' for contact_id to detach the contact.
id string required ID of the custom activity instance to update activity_at string optional When the custom activity occurred contact_id string optional ID of the contact to associate with the custom activity; must belong to the same lead. Pass 'clear' to remove the existing contact. custom_fields array optional Custom field values to set on this object. Only the custom fields included are modified; omitted fields are left unchanged. pinned string optional Whether to pin the custom activity to the top of the lead's timeline status string optional New status of the custom activity. Publishing a draft validates required custom fields; leave unset to keep the current status. closemcp_update_email_template
#
Update an existing email template.
Only fields that are provided and not None will be updated.
Handling of attachments and unsubscribe links via this tool is currently unsupported.
Email template body should be HTML formatted.
Use template tags as placeholders, for example:
{{ organization.name }} to refer to the sender's organization name.
{{ user.first_name }} {{ user.last_name }} {{ user.email }} {{ user.phone }} to refer to the user sending the email.
{{ lead.display_name }} to refer to the lead name (recipient's name/company).
{{ contact.first_name }} {{ contact.last_name }} to refer to the recipient. 8 params
Update an existing email template. Only fields that are provided and not None will be updated. Handling of attachments and unsubscribe links via this tool is currently unsupported. Email template body should be HTML formatted. Use template tags as placeholders, for example: {{ organization.name }} to refer to the sender's organization name. {{ user.first_name }} {{ user.last_name }} {{ user.email }} {{ user.phone }} to refer to the user sending the email. {{ lead.display_name }} to refer to the lead name (recipient's name/company). {{ contact.first_name }} {{ contact.last_name }} to refer to the recipient.
id string required ID of the email template to update bcc string optional List of BCC email addresses body string optional HTML body of the email template. Supports template tags like {{ organization.name }}, {{ user.first_name }}, {{ lead.display_name }}, {{ contact.first_name }} cc string optional List of CC email addresses is_archived string optional Whether to archive this template is_shared string optional Whether to share this template with the organization (required for use in workflows) name string optional New name for the email template subject string optional New subject line for the email template closemcp_update_lead
#
Update an existing lead (company).
Only fields that are provided and not None will be updated. 6 params
Update an existing lead (company). Only fields that are provided and not None will be updated.
id string required ID of the lead to update custom_fields array optional Custom field values to set on this object. Only the custom fields included are modified; omitted fields are left unchanged. description string optional Description of the lead name string optional Name of the lead status_id string optional ID of the lead status. Use find_lead_statuses to look up valid status IDs. url string optional URL of the lead's website closemcp_update_lead_smart_view
#
Update a lead smart view (saved search).
Only fields that are provided and not None will be updated. 3 params
Update a lead smart view (saved search). Only fields that are provided and not None will be updated.
id string required ID of the lead smart view to update description string optional New description for the smart view name string optional New name for the smart view closemcp_update_lead_status
#
Update the label of an existing lead status. 2 params
Update the label of an existing lead status.
id string required ID of the lead status to update label string required New label for the lead status closemcp_update_note
#
Update an existing note.
Only fields that are provided will be updated. Note content is
provided as rich text (HTML) via note_html; the plaintext note is
automatically derived. 6 params
Update an existing note. Only fields that are provided will be updated. Note content is provided as rich text (HTML) via note_html; the plaintext note is automatically derived.
id string required ID of the note to update activity_at string optional When the note activity occurred (ISO 8601 date-time) contact_id string optional ID of the contact to associate with the note. Pass 'clear' to remove the existing contact. note_html string optional Updated note content as Close rich text (HTML). Must be a valid Close rich-text document: wrap the whole content in a single <body> tag and put each line/paragraph in a block-level tag. Supported tags include <p>, <h1>-<h6>, <ul>/<ol> with <li>, <blockquote>, <hr>, <a href=...>, <br>, and inline formatting <strong>/<b>, <em>/<i>, <u>, <s>, <code>, <span>. Escape literal ampersands as '&'. Example: <body><p>Spoke with <strong>Jane</strong> about pricing.</p><ul><li>Wants a demo</li><li>Budget approved</li></ul></body> pinned string optional Whether to pin the note to the top of the lead title string optional Title of the note. Pass an empty string to remove the existing title. closemcp_update_opportunity
#
Update an existing opportunity.
Only fields that are provided will be updated. The value should be specified in cents (e.g., $100.00 = 10000). Pass 'clear' for value or close_at to remove those values. 11 params
Update an existing opportunity. Only fields that are provided will be updated. The value should be specified in cents (e.g., $100.00 = 10000). Pass 'clear' for value or close_at to remove those values.
id string required ID of the opportunity to update close_at string optional Expected close date in ISO 8601 format. Pass 'clear' to remove an existing date. confidence string optional Confidence percentage (0-100) that the opportunity will close contact_id string optional ID of the primary contact for this opportunity custom_fields array optional Custom field values to set on this object. Only the custom fields included are modified; omitted fields are left unchanged. note string optional Plaintext version of the note note_html string optional Rich-text HTML version of the note, wrapped in `<body>...</body>`. When set, `note` is automatically derived from it. status_id string optional ID of the opportunity status. Use find_pipelines_and_opportunity_statuses to list valid IDs. user_id string optional ID of the user assigned to this opportunity value string optional Monetary value of the opportunity in cents. Pass 'clear' to remove an existing value. value_period string optional Recurrence period for the value: 'one_time', 'monthly', or 'annual' closemcp_update_opportunity_status_tool
#
Update the label of an existing opportunity status. 2 params
Update the label of an existing opportunity status.
id string required ID of the opportunity status to update label string required New label for the opportunity status closemcp_update_pipeline
#
Update an existing opportunity pipeline.
Only fields that are provided will be updated. 2 params
Update an existing opportunity pipeline. Only fields that are provided will be updated.
id string required ID of the pipeline to update name string optional New name for the pipeline closemcp_update_sms_template
#
Update an existing SMS template.
Only fields that are provided will be updated. Fields that are not provided will remain unchanged.
Handling of attachments via this tool is currently unsupported.
Use template tags as placeholders, for example:
{{ organization.name }} to refer to the sender's organization name.
{{ user.first_name }} {{ user.last_name }} {{ user.email }} {{ user.phone }} to refer to the user sending the message.
{{ lead.display_name }} to refer to the lead name (recipient's name/company).
{{ contact.first_name }} {{ contact.last_name }} to refer to the recipient. 5 params
Update an existing SMS template. Only fields that are provided will be updated. Fields that are not provided will remain unchanged. Handling of attachments via this tool is currently unsupported. Use template tags as placeholders, for example: {{ organization.name }} to refer to the sender's organization name. {{ user.first_name }} {{ user.last_name }} {{ user.email }} {{ user.phone }} to refer to the user sending the message. {{ lead.display_name }} to refer to the lead name (recipient's name/company). {{ contact.first_name }} {{ contact.last_name }} to refer to the recipient.
id string required ID of the SMS template to update is_archived string optional Whether to archive this template is_shared string optional Whether to share this template with the organization (required for use in workflows) name string optional New name for the SMS template text string optional New text content for the SMS template. Supports template tags like {{ organization.name }}, {{ user.first_name }}, {{ lead.display_name }}, {{ contact.first_name }} closemcp_update_task
#
Update an existing task.
Only fields that are provided will be updated. Pass 'clear' for
contact_id or due_date to clear those values. 7 params
Update an existing task. Only fields that are provided will be updated. Pass 'clear' for contact_id or due_date to clear those values.
id string required ID of the task to update assigned_to string optional ID of the user to assign the task to. Tasks must always have an assignee, so this cannot be cleared. contact_id string optional ID of the contact associated with this task. Must belong to the task's lead. Pass 'clear' to remove the existing contact. due_date string optional Due date or datetime for the task. Can be a date (YYYY-MM-DD) or datetime (ISO 8601). Pass 'clear' to make the task dateless (due immediately). is_complete string optional Mark the task as complete (true) or reopen it (false). priority string optional Task priority: 'high' or 'medium'. Only set to 'high' if the user explicitly says it's a high priority task. text string optional Updated task description. Cannot be blank.