Revamp CRM MCP by usefulapi

Read Revamp CRM contacts, deals, notes and orders; create and update contacts, deals and notes.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
81%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~6,415token 数(工具定义)
~2.7 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 5.01%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 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"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本19 个工具