Skip to content

Connectors · Service desk & support

Trengo MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Trengo and the rest of your systems. It gives your agent 128 Trengo actions (43 reads, 59 writes and 26 that wait for a confirmation) and holds the Trengo credential itself, so the agent never does. It paces Trengo's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "trengo.contacts.list",  intent: "check which Trengo account is connected"}# List contacts · read · 1 upstream call
  • 128actionsin one signed file
  • 43readlook, never change
  • 59writecreate and update
  • 26wait for a yesdestructive, confirmed first

Set up

Connect Trengo in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Trengo.

    Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • access_tokenTrengo personal access token
    account { op: "connections.requirements", service: "trengo" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "trengo.contacts.list" }# list contacts · read · 1 upstream callcheck { action: "trengo.contacts.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Trengo at a glance

Sign-in
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
access_token
Limits we pace to
120 calls a minute, per connection
API covered
Trengo REST API v2app.trengo.com/api/v2
Built from
Trengo's documentation, read 23 October 2026developers.trengo.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
43 of 43 reads, for up to 5 minutes; a write clears what it affects
Shared entities
6, so ask can line Trengo up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Trengo.

128 actions in 38 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 43readlook, never change
  • 59writecreate and update
  • 26destructivewait for a confirmation
  1. Tickets

    11

    1 read · 7 write · 3 destructive

    List all tickets · Create a ticket · Delete a ticket · Close a ticket

  2. Profiles

    6

    2 read · 2 write · 2 destructive

    List profiles · View a profile · Create a profile · Update a profile

  3. Contact groups

    5

    2 read · 2 write · 1 destructive

    List all contact groups · Get a contact group · Create a contact group · Update a contact group

  4. Contacts

    5

    2 read · 2 write · 1 destructive

    List contacts · Get a contact · Create a contact · Update a contact

  5. Custom fields

    5

    2 read · 2 write · 1 destructive

    List all custom fields · Get a custom field · Create a custom field · Update a custom field

  6. Help center articles

    5

    2 read · 2 write · 1 destructive

    List all articles · Get an article · Create an article · Update an article

  7. Help center blocks

    5

    2 read · 2 write · 1 destructive

    List all blocks · Get a block · Create a block · Update a block

  8. Help center categories

    5

    2 read · 2 write · 1 destructive

    List all categories · Get a category · Create a category · Update a category

30 more areas · 81 actions
  • Help centers 5
  • Labels 5
  • Reporting 5
  • Teams 5
  • Ticket messages 5
  • Ticket results 5
  • Users 5
  • Webhooks 5
  • Quick replies 4
  • Voice calls 4
  • Board cards 3
  • Help center sections 3
  • Whatsapp templates 3
  • Contact notes 2
  • Journey runs 2
  • Message imports 2
  • Profile contacts 2
  • Profile notes 2
  • SMS messages 2
  • Ticket labels 2
  • Contact custom fields 1
  • Custom channel messages 1
  • Internal chat messages 1
  • Journeys 1
  • Messages 1
  • Profile custom fields 1
  • Ticket aggregates 1
  • Ticket custom fields 1
  • Voice channels 1
  • Wallet 1

Top actions

The Trengo API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 79 of Trengo's 81 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
trengo.contacts.listList contactsList contacts.readcrm.contact.list177 connectors
trengo.profiles.listList profilesList profiles.readcrm.company.list162 connectors
trengo.labels.listList all labelsList all labels.readcrm.tag.list65 connectors
trengo.users.listList all usersList all users.readidentity.user.list474 connectors
trengo.teams.listList all teamsList all teams.readidentity.group.list262 connectors
trengo.contacts.getGet a contactGet a contact.readcrm.contact.get176 connectors
trengo.profiles.getView a profileView a profile.readcrm.company.get162 connectors
trengo.contacts.createCreate a contactCreate a contact.writecrm.contact.create161 connectors
trengo.profiles.createCreate a profileCreate a profile.writecrm.company.create142 connectors
trengo.tickets.listList all ticketsList all tickets.readservice.ticket.list56 connectors
trengo.contacts.updateUpdate a contactUpdate a contact.writecrm.contact.update159 connectors
trengo.contacts.deleteDelete a contactDelete a contact.destructivecrm.contact.delete147 connectors

Try it

Prompts to paste into Claude.

Each one names the Trengo actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Which Trengo tickets have been open the longest? Show me the ten oldest with their status.

    callstrengo.tickets.list

  2. Writewrite

    Create a contact in Trengo. Show me exactly what you will send before you save it.

    callstrengo.contacts.create

  3. Across systemsread

    Which Trengo companies have invoices in ConnectWise PSA, and how many each?

    callstrengo.profiles.listconnectwise_manage.invoices.list

Across your systems

Trengo, joined to the rest of your business.

One ask fetches from Trengo and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

  • Which Trengo companies have invoices in ConnectWise PSA, and how many each?

    trengo.profiles.list + connectwise_manage.invoices.list, on crm.company · ConnectWise PSA

  • Which Trengo companies have invoices in NetSuite, and how many each?

    trengo.profiles.list + netsuite.views.invoices, on crm.company · NetSuite

Also mapped by other connectorsidentity.user 517identity.group 239crm.company 227crm.contact 192service.ticket 62crm.tag 47
ask
ask {  intent: "which Trengo companies have invoices in ConnectWise PSA, and how many each",  steps: [    { action: "trengo.profiles.list", as: "co", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "co",        right: "inv",        on: "crm.company",        group_by: "co.name",        select: ["co.name", "count(inv.id) as invoices"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Trengo

Destructive actions wait for a yes.

26 Trengo actions are destructive. These are all of them:

  • Delete a contacttrengo.contacts.delete
  • Delete a profiletrengo.profiles.delete
  • Delete a labeltrengo.labels.delete
  • Delete a usertrengo.users.delete
  • Delete a teamtrengo.teams.delete
  • Delete a tickettrengo.tickets.delete
  • Delete a contact grouptrengo.contact_groups.delete
  • Delete a notetrengo.contact_notes.delete
  • Delete a notetrengo.profile_notes.delete
  • Delete an articletrengo.help_center_articles.delete
  • Delete a webhooktrengo.webhooks.delete
  • Delete a categorytrengo.help_center_categories.delete
  • Delete a messagetrengo.ticket_messages.delete
  • Delete a quick replytrengo.quick_replies.delete
  • Cancel a runtrengo.journey_runs.cancel
  • Delete a custom fieldtrengo.custom_fields.delete
  • Delete a help centertrengo.help_centers.delete
  • Copy oftrengo.board_cards.delete
  • Unmark a ticket as favoritetrengo.tickets.unfavorite
  • Unmark as spamtrengo.tickets.unmark_spam
  • Detach a labeltrengo.ticket_labels.detach
  • Unset profile imagetrengo.profiles.delete_image
  • Delete a ticket resulttrengo.ticket_results.delete
  • Detach a contacttrengo.profile_contacts.detach
  • Delete a blocktrengo.help_center_blocks.delete
  • Delete a sectiontrengo.help_center_sections.delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dotrengo.contacts.deleteconfirm_policy: human

Delete a contact?

intent: the user asked me to delete a contact

run suspended · waiting for a named person · key trengo-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "trengo-agent",  allowed_actions: ["trengo.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "trengo.contacts.delete", approver: "[email protected]" },    { match: "trengo.profiles.delete", approver: "[email protected]" },    { match: "trengo.labels.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Trengo only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Trengo costs on actionlake.

Every Trengo action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Trengo refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 128 Trengo actions
  • 128actions pageeach page of a long list is one call
  • 43reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Trengo action.

128 actions by area: the id your agent calls, what it does, and its effect.

Tickets11
  • trengo.tickets.assignAssign a ticketwrite
  • trengo.tickets.closeClose a ticketwrite
  • trengo.tickets.createCreate a ticketwrite
  • trengo.tickets.deleteDelete a ticketdestructive
  • trengo.tickets.favoriteMark a ticket as favoritewrite
  • trengo.tickets.listList all ticketsread
  • trengo.tickets.mark_spamMark as spamwrite
  • trengo.tickets.mergeMerge a ticketwrite
  • trengo.tickets.reopenReopen a ticketwrite
  • trengo.tickets.unfavoriteUnmark a ticket as favoritedestructive
  • trengo.tickets.unmark_spamUnmark as spamdestructive
Profiles6
  • trengo.profiles.createCreate a profilewrite
  • trengo.profiles.deleteDelete a profiledestructive
  • trengo.profiles.delete_imageUnset profile imagedestructive
  • trengo.profiles.getView a profileread
  • trengo.profiles.listList profilesread
  • trengo.profiles.updateUpdate a profilewrite
Contact groups5
  • trengo.contact_groups.createCreate a contact groupwrite
  • trengo.contact_groups.deleteDelete a contact groupdestructive
  • trengo.contact_groups.getGet a contact groupread
  • trengo.contact_groups.listList all contact groupsread
  • trengo.contact_groups.updateUpdate a contact groupwrite
Contacts5
  • trengo.contacts.createCreate a contactwrite
  • trengo.contacts.deleteDelete a contactdestructive
  • trengo.contacts.getGet a contactread
  • trengo.contacts.listList contactsread
  • trengo.contacts.updateUpdate a contactwrite
Custom fields5
  • trengo.custom_fields.createCreate a custom fieldwrite
  • trengo.custom_fields.deleteDelete a custom fielddestructive
  • trengo.custom_fields.getGet a custom fieldread
  • trengo.custom_fields.listList all custom fieldsread
  • trengo.custom_fields.updateUpdate a custom fieldwrite
Help center articles5
  • trengo.help_center_articles.createCreate an articlewrite
  • trengo.help_center_articles.deleteDelete an articledestructive
  • trengo.help_center_articles.getGet an articleread
  • trengo.help_center_articles.listList all articlesread
  • trengo.help_center_articles.updateUpdate an articlewrite
Help center blocks5
  • trengo.help_center_blocks.createCreate a blockwrite
  • trengo.help_center_blocks.deleteDelete a blockdestructive
  • trengo.help_center_blocks.getGet a blockread
  • trengo.help_center_blocks.listList all blocksread
  • trengo.help_center_blocks.updateUpdate a blockwrite
Help center categories5
  • trengo.help_center_categories.createCreate a categorywrite
  • trengo.help_center_categories.deleteDelete a categorydestructive
  • trengo.help_center_categories.getGet a categoryread
  • trengo.help_center_categories.listList all categoriesread
  • trengo.help_center_categories.updateUpdate a categorywrite
Help centers5
  • trengo.help_centers.createCreate a help centerwrite
  • trengo.help_centers.deleteDelete a help centerdestructive
  • trengo.help_centers.getGet a help centerread
  • trengo.help_centers.listList all help centersread
  • trengo.help_centers.updateUpdate a help centerwrite
Labels5
  • trengo.labels.createCreate a labelwrite
  • trengo.labels.deleteDelete a labeldestructive
  • trengo.labels.getGet a labelread
  • trengo.labels.listList all labelsread
  • trengo.labels.updateUpdate a labelwrite
Reporting5
  • trengo.reporting.agent_performanceAgent performance reportingread
  • trengo.reporting.histogramsGet reporting histogramsread
  • trengo.reporting.metricsGet reporting metricsread
  • trengo.reporting.ticket_detailsGet Ticket Details Reportread
  • trengo.reporting.usersGet user reportread
Teams5
  • trengo.teams.createCreate a teamwrite
  • trengo.teams.deleteDelete a teamdestructive
  • trengo.teams.getGet a teamread
  • trengo.teams.listList all teamsread
  • trengo.teams.updateUpdate a teamwrite
Ticket messages5
  • trengo.ticket_messages.deleteDelete a messagedestructive
  • trengo.ticket_messages.getFetch a messageread
  • trengo.ticket_messages.get_emailFetch an email messageread
  • trengo.ticket_messages.listList all messagesread
  • trengo.ticket_messages.sendSend a ticket messagewrite
Ticket results5
  • trengo.ticket_results.createCreate a ticket resultwrite
  • trengo.ticket_results.deleteDelete a ticket resultdestructive
  • trengo.ticket_results.getGet a ticket resultread
  • trengo.ticket_results.listList all ticket resultsread
  • trengo.ticket_results.updateUpdate a ticket resultwrite
Users5
  • trengo.users.createCreate a userwrite
  • trengo.users.deleteDelete a userdestructive
  • trengo.users.getGet a userread
  • trengo.users.listList all usersread
  • trengo.users.updateUpdate a userwrite
Webhooks5
  • trengo.webhooks.createCreate a webhookwrite
  • trengo.webhooks.deleteDelete a webhookdestructive
  • trengo.webhooks.getGet a webhookread
  • trengo.webhooks.listList all webhooksread
  • trengo.webhooks.updateUpdate a webhookwrite
Quick replies4
  • trengo.quick_replies.createCreate a quick replywrite
  • trengo.quick_replies.deleteDelete a quick replydestructive
  • trengo.quick_replies.listList all quick repliesread
  • trengo.quick_replies.updateUpdate a quick replywrite
Voice calls4
  • trengo.voice_calls.getGet a voip callread
  • trengo.voice_calls.listList all voip callsread
  • trengo.voice_calls.logLog a phone callwrite
  • trengo.voice_calls.push_statusPush SIP call statuswrite
Board cards3
  • trengo.board_cards.createPOST /boards/{boardId}/cardswrite
  • trengo.board_cards.deleteCopy ofdestructive
  • trengo.board_cards.updatePUT /boards/{boardId}/cards/{cardId}write
Help center sections3
  • trengo.help_center_sections.createCreate a sectionwrite
  • trengo.help_center_sections.deleteDelete a sectiondestructive
  • trengo.help_center_sections.updateUpdate a sectionwrite
Whatsapp templates3
  • trengo.whatsapp_templates.createCreate a WhatsApp templatewrite
  • trengo.whatsapp_templates.listList WhatsApp templatesread
  • trengo.whatsapp_templates.sendSend a WhatsApp templatewrite
Contact notes2
  • trengo.contact_notes.createAdd a notewrite
  • trengo.contact_notes.deleteDelete a notedestructive
Journey runs2
  • trengo.journey_runs.cancelCancel a rundestructive
  • trengo.journey_runs.update_variablesUpdate run variableswrite
Message imports2
  • trengo.message_imports.import_emailImport email messagewrite
  • trengo.message_imports.import_textImport text messagewrite
Profile contacts2
  • trengo.profile_contacts.attachAttach a contactwrite
  • trengo.profile_contacts.detachDetach a contactdestructive
Profile notes2
  • trengo.profile_notes.createCreate a notewrite
  • trengo.profile_notes.deleteDelete a notedestructive
SMS messages2
  • trengo.sms_messages.listList all messagesread
  • trengo.sms_messages.sendSend a messagewrite
Ticket labels2
  • trengo.ticket_labels.attachAttach a labelwrite
  • trengo.ticket_labels.detachDetach a labeldestructive
Contact custom fields1
  • trengo.contact_custom_fields.setCustom fieldswrite
Custom channel messages1
  • trengo.custom_channel_messages.createStore a custom channel messagewrite
Internal chat messages1
  • trengo.internal_chat_messages.send_botSending a bot messagewrite
Journeys1
  • trengo.journeys.invokeInvoke a journeywrite
Messages1
  • trengo.messages.sendSend a messagewrite
Profile custom fields1
  • trengo.profile_custom_fields.setCustom fieldswrite
Ticket aggregates1
  • trengo.ticket_aggregates.getList all aggregatesread
Ticket custom fields1
  • trengo.ticket_custom_fields.setSet custom datawrite
Voice channels1
  • trengo.voice_channels.listList all voice channelsread
Wallet1
  • trengo.wallet.get_balanceFetch balanceread

Questions

The Trengo MCP server, answered.

Is there a Trengo MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 128 Trengo actions across tickets, profiles, contact groups and contacts, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Trengo.

What do I need to connect Trengo?

Trengo personal access token. The free call account { op: "connections.requirements", service: "trengo" } lists exactly what to paste.

Can an AI agent delete or change things in Trengo?

Only if its key allows it, and only with an explicit confirmation. 26 Trengo actions are destructive, including delete a contact, delete a profile and delete a label. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Trengo API limit?

actionlake paces every call to the limits in the Trengo service file: 120 calls a minute per connection. Repeated reads are answered from cache (43 Trengo actions can be), which never reaches Trengo.

What does a Trengo action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (128 Trengo actions page). Cache hits, searches, dry runs and calls Trengo refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Trengo API does it cover?

The Trengo REST API v2 at app.trengo.com/api/v2. It is built from Trengo's documentation as read on 23 October 2026. 128 actions in 38 areas, each one in the signed service file (version 1.0.0).

Can I combine Trengo with my other systems?

Yes. ask joins Trengo to ConnectWise PSA or NetSuite on the same customer and returns the answer rather than every row. Trengo maps crm.company, which 227 other connectors also map.

Does actionlake keep my Trengo data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Trengo credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Trengo today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.