Revamp CRM MCP by usefulapi
Read Revamp CRM contacts, deals, notes and orders; create and update contacts, deals and notes.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"revamp-crm": {
"url": "https://revamp-crm.usefulapi.io/mcp"
}
}
}远程端点
https://revamp-crm.usefulapi.io/mcpstreamable-http它能做什么
工具清单
工具(19)
🟢revampcrm_get_current_user
The Revamp CRM user the credentials belong to: id, name, email and role. Use the id as owner_user_id / assigned_user_id. GET /User/WhoAmI.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revampcrm_list_contact_stages
The contact (lead) stage names configured in the account, in order. Use them as contact_stage filters and values. GET /Account/ContactStage.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revampcrm_list_deal_currencies
The currencies that deals in this account can use (name, value, symbol). GET /Account/DealCurrencies.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revampcrm_list_custom_fields
The contact custom fields defined in the account: CustomFieldName (the property name, e.g. CustomField3), DisplayName, Type and list options. Read this to interpret CustomFieldN values on contacts and to set them. GET /Account/getAccountCustomFields.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revampcrm_list_contacts(keyword, tags, contact_stage, deal_stage, assigned_user_id, ...)
Search and list contacts (people and organizations), newest filters first. With no filter it lists all contacts. Each item has name, organization, email/phone (ContactInfo), tags, stage, owner, last-contacted info and e-commerce order summary. resultsInfo carries totalCount and hasNext/nextIndex: pass nextIndex as `page` for the next page. GET /Contacts.
输入模式
{
"type": "object",
"properties": {
"keyword": {
"description": "Free-text search (name, email, organization ...).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"tags": {
"description": "Only contacts with this tag.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"contact_stage": {
"description": "Only contacts in this stage (see revampcrm_list_contact_stages).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"deal_stage": {
"description": "Only contacts that have a deal in this stage.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"assigned_user_id": {
"description": "Only contacts owned by this user id.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"contact_type": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"contact_source": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"email": {
"description": "Only contacts with this email value.",
"type": "string",
"minLength": 1,
"maxLength": 254
},
"phone": {
"description": "Only contacts with this phone number.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"country": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"state": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"gender": {
"type": "string",
"minLength": 1,
"maxLength": 20
},
"has_deals": {
"description": "true = only contacts with deals.",
"type": "boolean"
},
"is_customer": {
"description": "true = only customers (contacts with orders).",
"type": "boolean"
},
"subscribed": {
"description": "Subscription filter as Revamp CRM numbers it.",
"type": "integer",
"minimum": 0,
"maximum": 5
},
"added_from": {
"description": "Created on or after this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"added_to": {
"description": "Created on or before this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"sort_by": {
"description": "Field to sort by (e.g. name, createdon, updatedon).",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"sort_direction": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page index as in the previous reply's resultsInfo.nextIndex (default: the first page).",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"pagesize": {
"description": "Contacts per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revampcrm_get_contact(contact_id)
One contact by id with full details: contact info, address, tags, stage, custom fields, owner, previous/next task, deal totals (won/lost/open per currency), e-commerce order summary and order details. GET /Contacts/GetSingleContact/{id}/true.
输入模式
{
"type": "object",
"properties": {
"contact_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Revamp CRM contact id (_id from revampcrm_list_contacts)."
}
},
"required": [
"contact_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revampcrm_list_contact_deals(contact_id)
All deals of one contact (name, stage, status, value, currency, expected closing date, owner). GET /Contacts/{id}/Deals.
输入模式
{
"type": "object",
"properties": {
"contact_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Revamp CRM contact id."
}
},
"required": [
"contact_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revampcrm_list_deals(status, pipeline, owner_user_id, contact_id, currency, ...)
List deals with optional filters (status, pipeline, owner, contact, currency, created / expected-closing / closed date ranges). Each deal has name, stage, status, value, probability, forecasted sale, expected closing date, contact, owner and tags. The deal endpoints have no paging: the reply is cut to `limit` and says how many matched. GET /Deals/List.
输入模式
{
"type": "object",
"properties": {
"status": {
"description": "Deal status filter as existing deals show it, e.g. \"Open\", \"Won\" or \"Lost\".",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"pipeline": {
"description": "Pipeline name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"owner_user_id": {
"description": "Only deals owned by this Revamp CRM user id.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"contact_id": {
"description": "Only deals of this contact.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"currency": {
"description": "Currency, e.g. USD (see revampcrm_list_deal_currencies).",
"type": "string",
"minLength": 1,
"maxLength": 20
},
"created_from": {
"description": "Created on or after this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"created_to": {
"description": "Created on or before this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"expected_close_from": {
"description": "Expected closing date on or after this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"expected_close_to": {
"description": "Expected closing date on or before this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"closed_from": {
"description": "Closed (won/lost) on or after this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"closed_to": {
"description": "Closed (won/lost) on or before this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"sort_by": {
"description": "Field to sort by (e.g. Value, CreatedOn, ExpectedClosureDate).",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"sort_direction": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"limit": {
"description": "Show at most this many deals, 1-200 (default 50). The reply says how many matched in total.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revampcrm_search_deals(name, status, deal_stage, contact, owner_name, ...)
Search deals by name, status, stage, contact, owner, pipeline, product, sales region or deal source (text match as Revamp CRM defines it). Revamp CRM applies `limit` itself and gives no total: may_have_more is true when a full page came back. GET /Deals/Search.
输入模式
{
"type": "object",
"properties": {
"name": {
"description": "Deal name (contains).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"status": {
"description": "e.g. \"Open\", \"Won\", \"Lost\".",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"deal_stage": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"contact": {
"description": "Contact name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"owner_name": {
"description": "Name of the deal owner.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"pipeline": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"product": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"sales_region": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"deal_source": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"value": {
"description": "Deal value.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"expected_close_date": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"description": "A date as Revamp CRM accepts it, e.g. 2026-10-31."
},
"sort_by": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"sort_direction": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"limit": {
"description": "Show at most this many deals, 1-200 (default 50). The reply says how many matched in total.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revampcrm_list_deals_by_stage(status, pipeline, owner_user_id, contact_id, currency, ...)
The deal pipeline board: deals grouped by stage (with the stage names in CurrentStages). Same filters as revampcrm_list_deals. At most `limit` deals are shown per stage. GET /Deals/ByStage.
输入模式
{
"type": "object",
"properties": {
"status": {
"description": "Deal status filter as existing deals show it, e.g. \"Open\", \"Won\" or \"Lost\".",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"pipeline": {
"description": "Pipeline name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"owner_user_id": {
"description": "Only deals owned by this Revamp CRM user id.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"contact_id": {
"description": "Only deals of this contact.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"currency": {
"description": "Currency, e.g. USD (see revampcrm_list_deal_currencies).",
"type": "string",
"minLength": 1,
"maxLength": 20
},
"created_from": {
"description": "Created on or after this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"created_to": {
"description": "Created on or before this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"expected_close_from": {
"description": "Expected closing date on or after this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"expected_close_to": {
"description": "Expected closing date on or before this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"closed_from": {
"description": "Closed (won/lost) on or after this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"closed_to": {
"description": "Closed (won/lost) on or before this date.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"sort_by": {
"description": "Field to sort by (e.g. Value, CreatedOn, ExpectedClosureDate).",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"sort_direction": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"limit": {
"description": "Show at most this many deals per stage, 1-200 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revampcrm_get_note(note_id)
One note or timeline entry by id: text/message, type, author, related contact and deal, created date. GET /Notes/getNote/{id}.
输入模式
{
"type": "object",
"properties": {
"note_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Revamp CRM note id."
}
},
"required": [
"note_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revampcrm_get_order(provider, store, order_id)
One synced e-commerce order (Shopify, WooCommerce, BigCommerce ...) by the store's own order id: totals, tax, discount, shipping, financial and shipping status, line items and customer. Needs the provider name and store name exactly as Revamp CRM stores them (see ExternalProviders / Shop on a contact). GET /Orders/Get/{provider}/{store}/{id}.
输入模式
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 50,
"description": "Store provider, e.g. \"Shopify\"."
},
"store": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Store name / domain as Revamp CRM stores it."
},
"order_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The order id in the store."
}
},
"required": [
"provider",
"store",
"order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revampcrm_count_orders(provider, store)
How many orders Revamp CRM has synced for one store. GET /Orders/Count/{provider}/{store}.
输入模式
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 50,
"description": "Store provider, e.g. \"Shopify\"."
},
"store": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Store name / domain as Revamp CRM stores it."
}
},
"required": [
"provider",
"store"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡revampcrm_create_contact(name, title, organization, primary_email, secondary_email, ...)
WRITE: create a new contact (person or organization) in the Revamp CRM account. It does not email or message the contact. Search first (revampcrm_list_contacts with keyword/email) so you do not create a duplicate: this tool does not check. Returns Revamp CRM's import result (status, message, the new id in ImportingIntoId). POST /Contacts/New.
输入模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Full name of the contact (or of the organization)."
},
"title": {
"description": "Job title.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"organization": {
"description": "Company name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"primary_email": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"secondary_email": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"primary_phone": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"secondary_phone": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"website": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"address_line1": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"address_line2": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"state": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"postal_code": {
"type": "string",
"minLength": 1,
"maxLength": 30
},
"country": {
"description": "Country as Revamp CRM stores it (code or name; see an existing contact).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"description": {
"description": "About / description text.",
"type": "string",
"minLength": 1,
"maxLength": 5000
},
"tags": {
"description": "Tags, comma separated. On an update this REPLACES the contact's tags.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"gender": {
"type": "string",
"minLength": 1,
"maxLength": 20
},
"contact_stage": {
"description": "A contact stage name (see revampcrm_list_contact_stages).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"contact_source": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"contact_type": {
"description": "Contact type as Revamp CRM names it (see an existing contact).",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"assigned_user_id": {
"description": "Id of the Revamp CRM user who owns the contact (revampcrm_get_current_user returns your own).",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"subscribed": {
"description": "Marketing email subscription state.",
"type": "string",
"enum": [
"UNSUBSCRIBED",
"MARKETING_OFF",
"MARKETING_ON"
]
},
"custom_fields": {
"description": "Custom fields by Revamp property name, e.g. {\"CustomField1\": \"Gold\", \"CustomField101\": 42}. revampcrm_list_custom_fields explains what each one means.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "number"
}
]
}
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴revampcrm_update_contact(contact_id, name, title, organization, primary_email, ...)
WRITE: change fields of an existing contact. Only the fields you pass change: the tool reads the stored contact first and sends it back with your changes (Revamp CRM's update replaces the whole record). `tags` replaces the contact's tags; passing a field overwrites its old value. It does not email or message the contact. PUT /Contacts/Edit.
输入模式
{
"type": "object",
"properties": {
"contact_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Revamp CRM contact id to update."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Full name of the contact (or of the organization)."
},
"title": {
"description": "Job title.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"organization": {
"description": "Company name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"primary_email": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"secondary_email": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"primary_phone": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"secondary_phone": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"website": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"address_line1": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"address_line2": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"state": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"postal_code": {
"type": "string",
"minLength": 1,
"maxLength": 30
},
"country": {
"description": "Country as Revamp CRM stores it (code or name; see an existing contact).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"description": {
"description": "About / description text.",
"type": "string",
"minLength": 1,
"maxLength": 5000
},
"tags": {
"description": "Tags, comma separated. On an update this REPLACES the contact's tags.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"gender": {
"type": "string",
"minLength": 1,
"maxLength": 20
},
"contact_stage": {
"description": "A contact stage name (see revampcrm_list_contact_stages).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"contact_source": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"contact_type": {
"description": "Contact type as Revamp CRM names it (see an existing contact).",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"assigned_user_id": {
"description": "Id of the Revamp CRM user who owns the contact (revampcrm_get_current_user returns your own).",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"subscribed": {
"description": "Marketing email subscription state.",
"type": "string",
"enum": [
"UNSUBSCRIBED",
"MARKETING_OFF",
"MARKETING_ON"
]
},
"custom_fields": {
"description": "Custom fields by Revamp property name, e.g. {\"CustomField1\": \"Gold\", \"CustomField101\": 42}. revampcrm_list_custom_fields explains what each one means.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "number"
}
]
}
}
},
"required": [
"contact_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡revampcrm_create_deal(name, contact_id, value, currency, pipeline, ...)
WRITE: create a new deal (opportunity) in the Revamp CRM account, optionally linked to a contact. It does not message anyone. Use revampcrm_list_deals_by_stage (CurrentStages) for valid stage names and revampcrm_list_deal_currencies for currencies. POST /Deals.
输入模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Deal name."
},
"contact_id": {
"description": "Contact the deal belongs to.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000,
"description": "Deal value in `currency` (required by Revamp CRM)."
},
"currency": {
"description": "Currency, e.g. USD.",
"type": "string",
"minLength": 1,
"maxLength": 20
},
"pipeline": {
"description": "Pipeline name (default pipeline if omitted).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"deal_stage": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Stage name in the pipeline (required by Revamp CRM; see revampcrm_list_deals_by_stage CurrentStages)."
},
"status": {
"description": "Deal status as existing deals show it (see revampcrm_list_deals). Default \"Open\".",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"probability": {
"description": "Win probability in percent.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"expected_close_date": {
"description": "Expected closing date, e.g. 2026-12-31.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"owner_user_id": {
"description": "Revamp CRM user id of the deal owner.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"product": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"sales_region": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"deal_source": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"tags": {
"description": "Tags, comma separated.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"note": {
"description": "Note stored with the deal.",
"type": "string",
"minLength": 1,
"maxLength": 5000
}
},
"required": [
"name",
"value",
"deal_stage"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡revampcrm_add_note(entity_type, entity_id, text)
WRITE: add a note to a contact or a deal timeline in Revamp CRM. It is an internal note: nothing is sent to the contact. Adding twice creates two notes. POST /Notes/{Contact|Deal}/{id}/Add.
输入模式
{
"type": "object",
"properties": {
"entity_type": {
"type": "string",
"enum": [
"Contact",
"Deal"
],
"description": "What the note is attached to."
},
"entity_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "The contact id or deal id."
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "The note text."
}
},
"required": [
"entity_type",
"entity_id",
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴revampcrm_mark_deal_won(deal_id, note)
WRITE: mark a deal as Won in Revamp CRM (its status changes and it counts in won-deal reports). It does not message the contact. Check the deal first with revampcrm_search_deals. POST /Deals/Won.
输入模式
{
"type": "object",
"properties": {
"deal_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Revamp CRM deal id (_id or DealId of a deal)."
},
"note": {
"description": "Optional note stored with the change.",
"type": "string",
"minLength": 1,
"maxLength": 5000
}
},
"required": [
"deal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴revampcrm_mark_deal_lost(deal_id, reason, note)
WRITE: mark a deal as Lost in Revamp CRM with a reason (its status changes and it counts in lost-deal reports). It does not message the contact. Check the deal first with revampcrm_search_deals. POST /Deals/Lost.
输入模式
{
"type": "object",
"properties": {
"deal_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Revamp CRM deal id (_id or DealId of a deal)."
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Why the deal was lost."
},
"note": {
"description": "Optional note stored with the change.",
"type": "string",
"minLength": 1,
"maxLength": 5000
}
},
"required": [
"deal_id",
"reason"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据