MCP 서버

trengo

io.usefulapi/trengo

이 MCP로 할 수 있는 일

Manages Trengo customer-support tickets, contacts, teams, messages, assignments, board cards, and operational reports.

trengo_assign_ticket
Assign a ticket
Assign a ticket to a user or a team, with an optional assignment note. Reversible by reassigning. Trengo: POST /tickets/{ticket_id}/assign.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id', 'type'], 'properties': {'note': {'type': 'string', 'description': 'Optional assignment note.'}, 'type': {'enum': ['user', 'team'], 'type': 'string', 'description': 'Assign to a user or to a team.'}, 'team_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The team id — required when type is team.', 'exclusiveMinimum': 0}, 'user_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The user id — required when type is user.', 'exclusiveMinimum': 0}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The ticket id.', 'exclusiveMinimum': 0}}}
trengo_close_ticket
Close a ticket
Close a ticket, optionally applying a ticket result (see trengo_list_ticket_results). Reversible with trengo_reopen_ticket. Trengo: POST /tickets/{ticket_id}/close.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id'], 'properties': {'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The ticket id.', 'exclusiveMinimum': 0}, 'ticket_result_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Optional ticket result to apply.', 'exclusiveMinimum': 0}}}
trengo_create_board_card
Create a board card
Create a card (e.g. a deal or task) in a stage of a Trengo board. The board id is in the board's URL in Trengo. Trengo: POST /boards/{boardId}/cards.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['board_id', 'stage_id', 'name'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "The card's name."}, 'board_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The board id.', 'exclusiveMinimum': 0}, 'stage_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The stage id.', 'exclusiveMinimum': 0}, 'description': {'type': 'string', 'description': "The card's description."}}}
trengo_create_contact
Create a contact
Create a contact on a channel. The identifier is the contact's address on that channel: an email address for email channels, a phone number for WhatsApp/SMS/voice. Trengo: POST /channels/{channel_id}/contacts.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel_id', 'identifier'], 'properties': {'name': {'type': 'string', 'description': "The contact's full name."}, 'channel_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The channel id.', 'exclusiveMinimum': 0}, 'identifier': {'type': 'string', 'minLength': 1, 'description': 'Email address or phone number, depending on the channel.'}}}
trengo_create_ticket
Create a ticket
Open a new ticket for an existing contact on a channel. Nothing is sent to the customer until you post a message with trengo_send_ticket_message. Trengo: POST /tickets.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel_id', 'contact_id'], 'properties': {'subject': {'type': 'string', 'description': 'Optional subject.'}, 'channel_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The channel id.', 'exclusiveMinimum': 0}, 'contact_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The contact id.', 'exclusiveMinimum': 0}}}
trengo_get_agent_performance
Get agent performance
Per-agent performance over a period: messages sent, notes, tickets assigned and closed, average first response and resolution times (with and without business hours). Trengo: GET /reporting/agent_performance.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}, 'end_date': {'type': 'string', 'description': 'Period end as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'team_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these team ids.'}, 'user_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these user ids.'}, 'label_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these label ids.'}, 'start_date': {'type': 'string', 'description': 'Period start as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'channel_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these channel ids.'}}}
trengo_get_contact
Get a contact
Fetch one contact with name, email, phone and custom field data, optionally with notes. Trengo: GET /contacts/{id}.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['contact_id'], 'properties': {'contact_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The contact id.', 'exclusiveMinimum': 0}, 'include_notes': {'type': 'boolean', 'description': "Also return the contact's notes."}}}
trengo_get_email_message
Get an email message
Fetch the full email behind one message of a ticket: original HTML body, from, to, subject and Message-ID. The message must be an email message. Trengo: GET /tickets/{ticket_id}/full_email_messages/{message_id}.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id', 'message_id'], 'properties': {'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The ticket id.', 'exclusiveMinimum': 0}, 'message_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The message id.', 'exclusiveMinimum': 0}}}
trengo_get_reporting_metrics
Get reporting metrics
Aggregate support metrics over a period: new, created, assigned, closed and reopened tickets, average first response time and average total resolution time (seconds). Filter by team, channel, label or direction. Trengo: GET /reporting/metrics.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['metrics'], 'properties': {'metrics': {'type': 'array', 'items': {'enum': ['new_tickets', 'assigned_tickets', 'average_total_resolution_time', 'average_first_response_time', 'created_tickets', 'closed_tickets', 'reopened_tickets'], 'type': 'string'}, 'minItems': 1, 'description': 'Which metrics to return.'}, 'end_date': {'type': 'string', 'description': 'Period end as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'team_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these team ids.'}, 'direction': {'enum': ['INBOUND', 'OUTBOUND'], 'type': 'string', 'description': 'Only INBOUND or OUTBOUND conversations.'}, 'label_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these label ids.'}, 'start_date': {'type': 'string', 'description': 'Period start as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'channel_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these channel ids.'}}}
trengo_get_ticket_details_report
Get ticket details report
Per-ticket reporting rows: status, assignee, labels, first reply, first resolution and total resolution times (with and without business hours). Filter by team, channel, label, direction, status and created/closed/assigned date ranges; sort by a timing metric. For large accounts page with start_after_ticket_id instead of page. Trengo: GET /reporting/details/ticket.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}, 'sort_by': {'enum': ['first_resolution_time_opening_hours', 'first_resolution_time', 'first_response_time_opening_hours', 'first_response_time', 'total_resolution_time_opening_hours', 'total_resolution_time', 'created_at', 'assigned_at', 'closed_at'], 'type': 'string', 'description': 'Sort column.'}, 'statuses': {'type': 'array', 'items': {'enum': ['OPEN', 'ASSIGNED', 'CLOSED', 'INVALID'], 'type': 'string'}, 'description': 'Only tickets in these statuses.'}, 'team_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these team ids.'}, 'direction': {'enum': ['INBOUND', 'OUTBOUND'], 'type': 'string', 'description': 'Only INBOUND or OUTBOUND conversations.'}, 'label_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these label ids.'}, 'sort_order': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort direction.'}, 'channel_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these channel ids.'}, 'closed_end_date': {'type': 'string', 'description': 'Closed-until as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'created_end_date': {'type': 'string', 'description': 'Created-until as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'assigned_end_date': {'type': 'string', 'description': 'Assigned-until as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'closed_start_date': {'type': 'string', 'description': 'Closed-from as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'created_start_date': {'type': 'string', 'description': 'Created-from as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'assigned_start_date': {'type': 'string', 'description': 'Assigned-from as ISO 8601, e.g. 2026-09-01T00:00:00+00:00. Give it together with its pair.'}, 'start_after_ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Keyset cursor: return tickets after this ticket id (replaces page for huge accounts).', 'exclusiveMinimum': 0}}}
trengo_list_contact_groups
List contact groups
List the contact groups in the account — use their ids with trengo_update_contact. Trengo: GET /contact_groups.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}}}
trengo_list_contacts
List or search contacts
List contacts, or search them by name, email or phone number. Trengo: GET /contacts.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}, 'term': {'type': 'string', 'description': 'Search term, matched on email, phone number and name.'}, 'include_last_interaction': {'type': 'boolean', 'description': "Also return each contact's last interaction."}}}
trengo_list_custom_fields
List custom fields
List the custom fields defined for tickets, contacts and profiles. Trengo: GET /custom_fields.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}}}
trengo_list_labels
List labels
List the ticket labels (tags) in the account, for filtering tickets and reports. Trengo: GET /labels.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}}}
trengo_list_quick_replies
List quick replies
List the saved quick replies (canned responses), optionally only the messaging or email ones — useful for drafting consistent answers. Trengo: GET /quick_replies.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'type': {'enum': ['MESSAGING', 'EMAIL'], 'type': 'string', 'description': 'Only quick replies of this type.'}}}
trengo_list_teams
List teams
List the teams in the account — use their ids to assign tickets to a team. Trengo: GET /teams.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}}}
trengo_list_ticket_messages
List a ticket's messages
List the messages of one ticket — inbound, outbound and internal notes — with the contact or agent behind each. Trengo: GET /tickets/{ticket_id}/messages.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The ticket id.', 'exclusiveMinimum': 0}}}
trengo_list_ticket_results
List ticket results
List the ticket results (closing outcomes, e.g. 'Resolved', 'Sale') that can be applied when closing a ticket. Trengo: GET /ticket_results.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}}}
trengo_list_tickets
List tickets
List tickets (conversations) visible to the token's user, newest activity first, with channel and latest message. Filter by status, contact, assignee, channel, label, last message direction or update time. Trengo: GET /tickets.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}, 'sort': {'enum': ['-date', 'date'], 'type': 'string', 'description': 'By last message time: -date newest first (default), date oldest first.'}, 'users': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these assigned user ids.'}, 'labels': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these label ids.'}, 'status': {'enum': ['OPEN', 'ASSIGNED', 'CLOSED', 'INVALID'], 'type': 'string', 'description': 'Only tickets in this status. INVALID = spam.'}, 'channels': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Only these channel ids.'}, 'contact_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Only tickets of this contact.', 'exclusiveMinimum': 0}, 'updated_at_gt': {'type': 'string', 'description': 'Only tickets updated after this date-time.'}, 'last_message_type': {'enum': ['INBOUND', 'OUTBOUND'], 'type': 'string', 'description': 'Only tickets whose last message was INBOUND or OUTBOUND.'}}}
trengo_list_users
List users
List the agents (users) in the Trengo account — use their ids to assign tickets or filter. Trengo: GET /users.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based). Omit for the first page.'}, 'sort': {'enum': ['id', 'first_name', 'last_name', 'created_at'], 'type': 'string', 'description': 'Sort column (default id).'}}}
trengo_reopen_ticket
Reopen a ticket
Reopen a closed ticket. Trengo: POST /tickets/{ticket_id}/reopen.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id'], 'properties': {'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The ticket id.', 'exclusiveMinimum': 0}}}
trengo_send_ticket_message
Send a ticket message
Post a message on a ticket. With internal_note=true it is an internal note visible only to agents. OTHERWISE IT IS DELIVERED TO THE CUSTOMER on the ticket's channel (email, WhatsApp, chat...) and cannot be recalled — confirm the text first. Trengo: POST /tickets/{ticket_id}/messages.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ticket_id', 'message'], 'properties': {'message': {'type': 'string', 'minLength': 1, 'description': 'The message. May contain HTML when the channel is email.'}, 'subject': {'type': 'string', 'description': "Email channels only. Trengo prefixes it with 'Re:' when replying."}, 'ticket_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The ticket id.', 'exclusiveMinimum': 0}, 'internal_note': {'type': 'boolean', 'description': 'true = internal note for agents only; false/omitted = sent to the customer.'}, 'attachment_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Email channels only: ids of previously uploaded attachments.'}}}
trengo_update_board_card
Update a board card
Partially update a board card: rename it, move it to another stage, or set its users (owners) and contacts (leads). user_ids / contact_ids replace the current sets. Trengo: PUT /boards/{boardId}/cards/{cardId}.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['board_id', 'card_id'], 'properties': {'name': {'type': 'string', 'description': "The card's new name."}, 'card_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The card id.', 'exclusiveMinimum': 0}, 'board_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The board id.', 'exclusiveMinimum': 0}, 'stage_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Move the card to this stage.', 'exclusiveMinimum': 0}, 'user_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Trengo user ids on the card, e.g. deal owners (replaces the set).'}, 'contact_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'Trengo contact ids on the card, e.g. leads (replaces the set).'}}}
trengo_update_contact
Update a contact
Rename a contact and/or set the contact groups it belongs to. contact_group_ids REPLACES the contact's groups. Trengo: PUT /contacts/{id}.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['contact_id'], 'properties': {'name': {'type': 'string', 'description': "The contact's new name."}, 'contact_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The contact id.', 'exclusiveMinimum': 0}, 'contact_group_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'description': 'The full set of contact group ids (replaces the current groups).'}}}
추가됨
trengo_update_board_card
2026년 10월 2일 2:40 AM
추가됨
trengo_create_board_card
2026년 10월 2일 2:40 AM
추가됨
trengo_update_contact
2026년 10월 2일 2:40 AM
추가됨
trengo_create_contact
2026년 10월 2일 2:40 AM
추가됨
trengo_send_ticket_message
2026년 10월 2일 2:40 AM
추가됨
trengo_reopen_ticket
2026년 10월 2일 2:40 AM
추가됨
trengo_close_ticket
2026년 10월 2일 2:40 AM
추가됨
trengo_assign_ticket
2026년 10월 2일 2:40 AM
추가됨
trengo_create_ticket
2026년 10월 2일 2:40 AM
추가됨
trengo_get_ticket_details_report
2026년 10월 2일 2:40 AM
추가됨
trengo_get_agent_performance
2026년 10월 2일 2:40 AM
추가됨
trengo_get_reporting_metrics
2026년 10월 2일 2:40 AM
추가됨
trengo_list_quick_replies
2026년 10월 2일 2:40 AM
추가됨
trengo_list_custom_fields
2026년 10월 2일 2:40 AM
추가됨
trengo_list_ticket_results
2026년 10월 2일 2:40 AM
추가됨
trengo_list_labels
2026년 10월 2일 2:40 AM
추가됨
trengo_list_teams
2026년 10월 2일 2:40 AM
추가됨
trengo_list_users
2026년 10월 2일 2:40 AM
추가됨
trengo_list_contact_groups
2026년 10월 2일 2:40 AM
추가됨
trengo_get_contact
2026년 10월 2일 2:40 AM
추가됨
trengo_list_contacts
2026년 10월 2일 2:40 AM
추가됨
trengo_get_email_message
2026년 10월 2일 2:40 AM
추가됨
trengo_list_ticket_messages
2026년 10월 2일 2:40 AM
추가됨
trengo_list_tickets
2026년 10월 2일 2:40 AM