Pipeline CRM MCP by usefulapi
Manage Pipeline CRM deals, people, companies, notes and calendar entries.
사용해야 할까요
품질 및 안전성
발견 사항 (6)
- LOWpipelinecrm_deal_totals_by_stage에서
- LOWpipelinecrm_list_company_people에서
- LOWpipelinecrm_list_calendar_entries에서
- LOWpipelinecrm_create_calendar_entry에서
- LOWpipelinecrm_update_calendar_entry에서
- LOWpipelinecrm_list_deal_pipelines에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"pipeline-crm": {
"url": "https://pipeline-crm.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://pipeline-crm.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (30)
🟢pipelinecrm_get_profile
The Pipeline CRM user this credential acts as: id, name and whether they are an account admin. The user's api_key is never returned. GET /profile.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_users(email, including_inactive, page, per_page)
List the users of the Pipeline CRM account (id, name, email, team, admin flag). Use the ids as owners of deals, people and companies. api_key values are never returned. GET /users.
입력 스키마
{
"type": "object",
"properties": {
"email": {
"description": "Only users with this email address.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"including_inactive": {
"description": "Also return deactivated users.",
"type": "boolean"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_get_user(user_id)
One user of the account by id. The user's api_key is never returned. GET /users/{id}.
입력 스키마
{
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM user id."
}
},
"required": [
"user_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_deals(name, stage_id, pipeline_id, status_id, owner_id, ...)
List or search deals with stage, owner, company, primary contact, value, probability and expected close date. Filter by name, stage, pipeline, status, owner, company, contact, archived flag, value range and created, expected-close, closed or modified dates. Money values come back as decimal strings. GET /deals.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"description": "Deals whose name contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"stage_id": {
"description": "Only deals in this deal stage id (see pipelinecrm_list_deal_stages).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"pipeline_id": {
"description": "Only deals in this deal pipeline id (see pipelinecrm_list_deal_pipelines).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"status_id": {
"description": "Only deals with this deal status id (open, won, lost... see pipelinecrm_list_lookup with kind deal_statuses).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"owner_id": {
"description": "Only deals owned by this user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"company_name": {
"description": "Only deals whose company name contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"primary_contact_id": {
"description": "Only deals whose primary contact is this person id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"archived": {
"description": "true = archived deals only, false = not archived only.",
"type": "boolean"
},
"min_value": {
"description": "Only deals worth at least this much.",
"type": "number"
},
"max_value": {
"description": "Only deals worth at most this much.",
"type": "number"
},
"created_after": {
"description": "Created on or after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"created_before": {
"description": "Created on or before this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"expected_close_after": {
"description": "Expected to close on or after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"expected_close_before": {
"description": "Expected to close on or before this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"closed_after": {
"description": "Closed (won or lost) on or after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"closed_before": {
"description": "Closed (won or lost) on or before this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"modified_after": {
"description": "Modified on or after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"sort": {
"description": "Sort column key, with a leading - for descending; several keys separated by commas. Example: -deal_value,deal_name. Custom fields sort as custom_label_<id>.",
"type": "string",
"pattern": "^-?[a-z0-9_]{1,60}(,-?[a-z0-9_]{1,60}){0,4}$"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_get_deal(deal_id)
One deal by id with owner, company, people, stage, status, loss/won reasons, tags, custom fields and the next task. GET /deals/{id}.
입력 스키마
{
"type": "object",
"properties": {
"deal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM deal id."
}
},
"required": [
"deal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_deal_totals_by_stage
Count and total value of the deals visible to the user in every deal stage: the pipeline summary. GET /deals/totals_by_stage.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_deal_notes(deal_id, page, per_page)
List the notes (activities) logged on one deal, with author, category and content. GET /deals/{id}/notes.
입력 스키마
{
"type": "object",
"properties": {
"deal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM deal id."
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"required": [
"deal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴pipelinecrm_create_deal(name, summary, owner_id, stage_id, value, ...)
WRITE: create a deal. Give the owner (user id), stage id, value, expected close date and company or primary contact when known; a new company is created from company_name if no company_id is given. No email is sent to the owner. POST /deals.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Deal name."
},
"summary": {
"description": "Description of the deal.",
"type": "string",
"minLength": 1,
"maxLength": 5000
},
"owner_id": {
"description": "User id of the owner (default: the authenticated user).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"stage_id": {
"description": "Deal stage id (see pipelinecrm_list_deal_stages).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"value": {
"description": "The deal's value in its currency.",
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"pattern": "^-?\\d{1,15}(\\.\\d{1,4})?$"
}
]
},
"expected_close_date": {
"description": "Expected close date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"company_id": {
"description": "Existing company id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"company_name": {
"description": "Creates a new company with this name for the deal.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"primary_contact_id": {
"description": "Existing person id of the primary contact.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"person_ids": {
"description": "Ids of the people associated with the deal.",
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"source_id": {
"description": "Lead source id (see pipelinecrm_list_lookup with kind lead_sources).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"tag_ids": {
"description": "Deal tag ids.",
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"custom_fields": {
"description": "Custom field values keyed by the custom field's key (see the account's custom field labels in Pipeline CRM).",
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,80}$"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"maxItems": 100,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "number"
}
]
}
}
]
}
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴pipelinecrm_update_deal(deal_id, name, summary, owner_id, stage_id, ...)
WRITE: change fields of a deal; only the fields you pass change. Move it to another stage with stage_id. Setting probability to 100 or 0 closes the deal as won or lost; give won/loss reason ids when you do. Archive with archived: true. No email is sent to a new owner. PUT /deals/{id}.
입력 스키마
{
"type": "object",
"properties": {
"deal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM deal id."
},
"name": {
"description": "New deal name.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"summary": {
"description": "New description.",
"type": "string",
"maxLength": 5000
},
"owner_id": {
"description": "New owner user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"stage_id": {
"description": "Move the deal to this deal stage id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"status_id": {
"description": "Deal status id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"value": {
"description": "New value.",
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"pattern": "^-?\\d{1,15}(\\.\\d{1,4})?$"
}
]
},
"expected_close_date": {
"description": "New expected close date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"closed_time": {
"description": "Actual close date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"probability": {
"description": "Probability of closing, 0-100. 100 closes the deal as won, 0 as lost.",
"type": "integer",
"minimum": 0,
"maximum": 100
},
"company_id": {
"description": "Company id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"primary_contact_id": {
"description": "Primary contact person id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"person_ids": {
"description": "Full list of associated person ids (replaces the list).",
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"loss_reason_id": {
"description": "Deal loss reason id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"loss_reason_notes": {
"description": "Why the deal was lost.",
"type": "string",
"maxLength": 5000
},
"won_reason_id": {
"description": "Deal won reason id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"won_reason_notes": {
"description": "Why the deal was won.",
"type": "string",
"maxLength": 5000
},
"archived": {
"description": "true archives the deal, false restores it.",
"type": "boolean"
},
"tag_ids": {
"description": "Full list of deal tag ids (replaces the list).",
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"custom_fields": {
"description": "Custom field values keyed by the custom field's key (see the account's custom field labels in Pipeline CRM).",
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,80}$"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"maxItems": 100,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "number"
}
]
}
}
]
}
}
},
"required": [
"deal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_people(search, name, email, company_id, company_name, ...)
List or search people (leads and contacts) with email, phones, position, company, owner, lead status and tags. Use search for a quick match on name, email or company name, or filter precisely. GET /people.
입력 스키마
{
"type": "object",
"properties": {
"search": {
"description": "Matches first name, last name, email or company name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"name": {
"description": "Matches the first or last name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"email": {
"description": "Matches the work email address.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"company_id": {
"description": "Only people at this company id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"company_name": {
"description": "Only people whose company name contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"type": {
"description": "Only leads or only contacts.",
"type": "string",
"enum": [
"Lead",
"Contact"
]
},
"owner_id": {
"description": "Only people owned by this user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"status_id": {
"description": "Only people with this lead status id (see pipelinecrm_list_lookup with kind lead_statuses).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"source_id": {
"description": "Only people with this lead source id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"tag_ids": {
"description": "Only people with these tag ids.",
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"created_after": {
"description": "Created on or after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"created_before": {
"description": "Created on or before this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"modified_after": {
"description": "Modified on or after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"sort": {
"description": "Sort column key, with a leading - for descending; several keys separated by commas. Example: -deal_value,deal_name. Custom fields sort as custom_label_<id>.",
"type": "string",
"pattern": "^-?[a-z0-9_]{1,60}(,-?[a-z0-9_]{1,60}){0,4}$"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_get_person(person_id)
One person (lead or contact) by id with all contact details, company, owner, tags and custom fields. GET /people/{id}.
입력 스키마
{
"type": "object",
"properties": {
"person_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM person id."
}
},
"required": [
"person_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_person_deals(person_id, page, per_page)
List the deals one person is associated with. GET /people/{id}/deals.
입력 스키마
{
"type": "object",
"properties": {
"person_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM person id."
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"required": [
"person_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_person_notes(person_id, page, per_page)
List the notes (activities) logged on one person. GET /people/{id}/notes.
입력 스키마
{
"type": "object",
"properties": {
"person_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM person id."
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"required": [
"person_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴pipelinecrm_create_person(first_name, last_name, email, phone, mobile, ...)
WRITE: create a lead or contact. Pass at least a first or last name or an email. No email is sent to the owner. POST /people.
입력 스키마
{
"type": "object",
"properties": {
"first_name": {
"description": "First name.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"last_name": {
"description": "Last name.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"email": {
"description": "Work email address.",
"type": "string",
"minLength": 1,
"maxLength": 254
},
"phone": {
"description": "Work phone.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"mobile": {
"description": "Mobile phone.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"position": {
"description": "Job title.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"summary": {
"description": "Notes about the person.",
"type": "string",
"maxLength": 5000
},
"company_id": {
"description": "Existing company id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"company_name": {
"description": "Links the company with this name, creating it when none matches.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"owner_id": {
"description": "Owner user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"lead_status_id": {
"description": "Lead status id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"lead_source_id": {
"description": "Lead source id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"tag_ids": {
"description": "Full list of contact tag ids.",
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"custom_fields": {
"description": "Custom field values keyed by the custom field's key (see the account's custom field labels in Pipeline CRM).",
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,80}$"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"maxItems": 100,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "number"
}
]
}
}
]
}
},
"type": {
"description": "Lead or Contact (default: the account's default).",
"type": "string",
"enum": [
"Lead",
"Contact"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴pipelinecrm_update_person(person_id, first_name, last_name, email, phone, ...)
WRITE: change fields of a person; only the fields you pass change. Pass type Contact to convert a lead. PUT /people/{id}.
입력 스키마
{
"type": "object",
"properties": {
"person_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM person id."
},
"first_name": {
"description": "First name.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"last_name": {
"description": "Last name.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"email": {
"description": "Work email address.",
"type": "string",
"minLength": 1,
"maxLength": 254
},
"phone": {
"description": "Work phone.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"mobile": {
"description": "Mobile phone.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"position": {
"description": "Job title.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"summary": {
"description": "Notes about the person.",
"type": "string",
"maxLength": 5000
},
"company_id": {
"description": "Existing company id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"company_name": {
"description": "Links the company with this name, creating it when none matches.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"owner_id": {
"description": "Owner user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"lead_status_id": {
"description": "Lead status id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"lead_source_id": {
"description": "Lead source id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"tag_ids": {
"description": "Full list of contact tag ids.",
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"custom_fields": {
"description": "Custom field values keyed by the custom field's key (see the account's custom field labels in Pipeline CRM).",
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,80}$"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"maxItems": 100,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "number"
}
]
}
}
]
}
},
"type": {
"description": "Convert the record to a Lead or a Contact.",
"type": "string",
"enum": [
"Lead",
"Contact"
]
}
},
"required": [
"person_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_companies(name, city, country, owner_id, is_customer, ...)
List or search companies with address, website, phones, owner, tags and pipeline totals. GET /companies.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"description": "Companies whose name starts with this text.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"city": {
"description": "Companies in this city.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"country": {
"description": "Companies in this country.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"owner_id": {
"description": "Only companies owned by this user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"is_customer": {
"description": "true = customers only, false = non-customers only.",
"type": "boolean"
},
"tag_ids": {
"description": "Only companies with these tag ids.",
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"created_after": {
"description": "Created on or after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"created_before": {
"description": "Created on or before this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"modified_after": {
"description": "Modified on or after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"sort": {
"description": "Sort column key, with a leading - for descending; several keys separated by commas. Example: -deal_value,deal_name. Custom fields sort as custom_label_<id>.",
"type": "string",
"pattern": "^-?[a-z0-9_]{1,60}(,-?[a-z0-9_]{1,60}){0,4}$"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_get_company(company_id)
One company by id with address, phones, website, owner, tags and custom fields. GET /companies/{id}.
입력 스키마
{
"type": "object",
"properties": {
"company_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM company id."
}
},
"required": [
"company_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_company_people(company_id, page, per_page)
List the people (leads and contacts) who work at one company. GET /companies/{id}/people.
입력 스키마
{
"type": "object",
"properties": {
"company_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM company id."
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"required": [
"company_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴pipelinecrm_create_company(name, description, email, web, phone1, ...)
WRITE: create a company. POST /companies.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Company name."
},
"description": {
"description": "Description.",
"type": "string",
"maxLength": 5000
},
"email": {
"description": "Company email address.",
"type": "string",
"minLength": 1,
"maxLength": 254
},
"web": {
"description": "Website.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"phone1": {
"description": "Primary business phone.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"address_1": {
"description": "Address line 1.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"address_2": {
"description": "Address line 2.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"city": {
"description": "City.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"state": {
"description": "State or province.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"postal_code": {
"description": "Postal code.",
"type": "string",
"minLength": 1,
"maxLength": 30
},
"country": {
"description": "Country.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"owner_id": {
"description": "Owner user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"tag_ids": {
"description": "Full list of company tag ids.",
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"custom_fields": {
"description": "Custom field values keyed by the custom field's key (see the account's custom field labels in Pipeline CRM).",
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,80}$"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"maxItems": 100,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "number"
}
]
}
}
]
}
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴pipelinecrm_update_company(company_id, name, description, email, web, ...)
WRITE: change fields of a company; only the fields you pass change. PUT /companies/{id}.
입력 스키마
{
"type": "object",
"properties": {
"company_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM company id."
},
"name": {
"description": "New company name.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"description": {
"description": "Description.",
"type": "string",
"maxLength": 5000
},
"email": {
"description": "Company email address.",
"type": "string",
"minLength": 1,
"maxLength": 254
},
"web": {
"description": "Website.",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"phone1": {
"description": "Primary business phone.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"address_1": {
"description": "Address line 1.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"address_2": {
"description": "Address line 2.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"city": {
"description": "City.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"state": {
"description": "State or province.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"postal_code": {
"description": "Postal code.",
"type": "string",
"minLength": 1,
"maxLength": 30
},
"country": {
"description": "Country.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"owner_id": {
"description": "Owner user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"tag_ids": {
"description": "Full list of company tag ids.",
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"custom_fields": {
"description": "Custom field values keyed by the custom field's key (see the account's custom field labels in Pipeline CRM).",
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,80}$"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"maxItems": 100,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "number"
}
]
}
}
]
}
}
},
"required": [
"company_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_notes(deal_id, person_id, company_id, query, category_id, ...)
List notes (called activities in the Pipeline CRM app) attached to a deal, person or company. Pass at least one of deal_id, person_id, company_id. Filter by text, category, author and created date. GET /notes.
입력 스키마
{
"type": "object",
"properties": {
"deal_id": {
"description": "Notes on this deal.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"person_id": {
"description": "Notes on this person.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"company_id": {
"description": "Notes on this company.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"query": {
"description": "Free-text search across title, content, category and comments.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"category_id": {
"description": "Only notes in this note category id (see pipelinecrm_list_lookup with kind note_categories).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"author_id": {
"description": "Only notes written by this user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"created_after": {
"description": "Created on or after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"created_before": {
"description": "Created on or before this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"sort": {
"description": "Sort column key, with a leading - for descending; several keys separated by commas. Example: -deal_value,deal_name. Custom fields sort as custom_label_<id>.",
"type": "string",
"pattern": "^-?[a-z0-9_]{1,60}(,-?[a-z0-9_]{1,60}){0,4}$"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_get_note(note_id)
One note (activity) by id with its content, author, category, associations and comments. GET /notes/{id}.
입력 스키마
{
"type": "object",
"properties": {
"note_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM note id."
}
},
"required": [
"note_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴pipelinecrm_add_note(content, title, deal_id, person_id, company_id, ...)
WRITE: log a note (activity) on a deal, person or company. Pass at least one of deal_id, person_id, company_id. POST /notes.
입력 스키마
{
"type": "object",
"properties": {
"content": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "The note text."
},
"title": {
"description": "Optional note title.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"deal_id": {
"description": "Attach to this deal.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"person_id": {
"description": "Attach to this person.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"company_id": {
"description": "Attach to this company.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"note_category_id": {
"description": "Note category id (see pipelinecrm_list_lookup with kind note_categories).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"content"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_calendar_entries(kind, owner_id, from_date, to_date, status, ...)
List calendar entries: tasks (a due date) and events (a start and end time) tied to deals, people or companies. Filter by kind, owner, a date range, and completed, incomplete or late. GET /calendar_entries.
입력 스키마
{
"type": "object",
"properties": {
"kind": {
"description": "Only tasks or only events.",
"type": "string",
"enum": [
"task",
"event"
]
},
"owner_id": {
"description": "Only entries owned by this user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"from_date": {
"description": "Only entries on or after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"to_date": {
"description": "Only entries on or before this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"status": {
"description": "Only incomplete, completed or late (overdue) entries.",
"type": "string",
"enum": [
"incomplete",
"completed",
"late"
]
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_get_calendar_entry(calendar_entry_id)
One calendar entry (task or event) by id. GET /calendar_entries/{id}.
입력 스키마
{
"type": "object",
"properties": {
"calendar_entry_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM calendar entry id."
}
},
"required": [
"calendar_entry_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴pipelinecrm_create_calendar_entry(type, name, description, due_date, start_time, ...)
WRITE: create a task (CalendarTask, optional due date) or an event (CalendarEvent, start_time and end_time required), optionally tied to a deal, person or company. POST /calendar_entries.
입력 스키마
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"CalendarTask",
"CalendarEvent"
],
"description": "CalendarTask or CalendarEvent."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Title of the task or event."
},
"description": {
"description": "Details.",
"type": "string",
"minLength": 1,
"maxLength": 5000
},
"due_date": {
"description": "Tasks only: the due date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"start_time": {
"description": "Events only: start time.",
"type": "string"
},
"end_time": {
"description": "Events only: end time.",
"type": "string"
},
"all_day": {
"description": "All-day entry (events default to false, tasks to true).",
"type": "boolean"
},
"association_type": {
"description": "Type of the record this entry belongs to (with association_id).",
"type": "string",
"enum": [
"Deal",
"Person",
"Company"
]
},
"association_id": {
"description": "Id of the deal, person or company this entry belongs to.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"category_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Event category id (required by Pipeline CRM; see pipelinecrm_list_lookup with kind event_categories)."
}
},
"required": [
"type",
"name",
"category_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴pipelinecrm_update_calendar_entry(calendar_entry_id, name, description, due_date, start_time, ...)
WRITE: change a task or event; only the fields you pass change. Pass complete: true to mark a task done. PUT /calendar_entries/{id}.
입력 스키마
{
"type": "object",
"properties": {
"calendar_entry_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Pipeline CRM calendar entry id."
},
"name": {
"description": "New title.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"description": {
"description": "New details.",
"type": "string",
"maxLength": 5000
},
"due_date": {
"description": "Tasks only: new due date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"start_time": {
"description": "Events only: new start time.",
"type": "string"
},
"end_time": {
"description": "Events only: new end time.",
"type": "string"
},
"complete": {
"description": "true marks the entry complete, false reopens it.",
"type": "boolean"
},
"category_id": {
"description": "New event category id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"calendar_entry_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_deal_stages(page, per_page)
List the deal stages with id, name, default win probability and the pipeline each belongs to. Use the ids to filter or move deals. GET /admin/deal_stages.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_deal_pipelines(page, per_page)
List the deal pipelines (each has its own stages) with id, name and which one is the default. GET /admin/deal_pipelines.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢pipelinecrm_list_lookup(kind, page, per_page)
List one set of account lookup values to get ids for filters and writes. kind: deal_statuses, deal_loss_reasons, deal_won_reasons, deal_tags, lead_statuses, lead_sources, contact_tags, company_tags, note_categories, event_categories, task_priorities, task_statuses, teams. GET /admin/<kind>.
입력 스키마
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"deal_statuses",
"deal_loss_reasons",
"deal_won_reasons",
"deal_tags",
"lead_statuses",
"lead_sources",
"contact_tags",
"company_tags",
"note_categories",
"event_categories",
"task_priorities",
"task_statuses",
"teams"
],
"description": "Which lookup list to return."
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-200 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"required": [
"kind"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거