Integration · Communication
Connect Claude & ChatGPT to Mateo
Ask your AI to find a customer in Mateo, catch you up on an inbox conversation, or send a WhatsApp or SMS reply. It can create and update contacts, lists and deals, add internal notes, list appointments and send template broadcasts to segments. You get answers about customers and conversations without switching tabs.
Free plan, no credit card. Takes about a minute.
Try asking
“Which conversations are unread right now?”
The AI lists inbox conversations filtered to unread, with the contact and assignee.
“What did Anna Berg write to us last?”
It finds the contact, opens the conversation and reads the latest messages.
“Reply to Anna on WhatsApp that her order is ready for pickup.”
It sends the text from your WhatsApp channel into her conversation. The message is delivered right away.
What your AI can do
Messages and broadcasts
Read conversations and messages, send messages from your WhatsApp, SMS or email channels, and send template broadcasts to segments.
Contacts and lists
Search, create and update contacts, add internal notes, and create contact lists and add contacts to them.
Deals and appointments
Search, create and update deals with type, status and value, and list appointments by contact, assignee or date.
“Send the spring offer template to the VIP segment tomorrow at 9.”
It finds the template and the segment and schedules the broadcast. It goes to every recipient, and you can make it respect marketing opt-ins.
“Create a deal for Nordic Foods worth 25,000 DKK.”
It looks up the deal types and statuses and creates the deal on the contact.
“Note that Jens prefers SMS, and add him to the Newsletter list.”
It adds an internal note, which Jens never sees, and puts him on the list.
121 tools for Mateo
These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.
add_contact_noteChanges dataAdd an internal note with `text` to a contact (`contact_id`). Notes are not sent to the contact.add_contact_to_listChanges dataAdd a contact (`contact_id`) to a contact list (`contact_list_id`).create_addressChanges dataCreate a new address. Search addresses first to avoid duplicates. API summary: Create Location.create_appointment_custom_fieldChanges dataCreate a new appointment custom field. API summary: Create Appointment Custom Field.create_appointment_typeChanges dataCreate a new appointment type. Search appointment types first to avoid duplicates. API summary: Create Appointment Type.create_batchVisible to othersCreate a new batch. Required: journey id or items. Has effects visible outside this system. API summary: Start batch journey executions.create_calendarChanges dataCreate a new calendar. Search calendars first to avoid duplicates. API summary: Create Calendar.create_clearChanges dataCreate a new clear. API summary: Clear Contact List.create_commentChanges dataCreate a new message. Search messages first to avoid duplicates. API summary: Create Comment.create_contactChanges dataCreate a contact with `full_name`, `email`, `sms` or `whatsapp` number, address fields and marketing opt-ins. Search first to avoid duplicates.create_contact_2Changes dataCreate a new contact. Search contacts first to avoid duplicates. API summary: Create Contact Custom Field.create_contact_detailsChanges dataCreate a new contact. Search contacts first to avoid duplicates. API summary: Create Contact Details.create_contact_listChanges dataCreate a new contact list with `name`.create_conversation_tagChanges dataCreate a new conversation tag. API summary: Create Conversation Tag.create_custom_entityChanges dataCreate a new custom entity. API summary: Create Custom Entity.create_custom_entity_definitionChanges dataCreate a new custom entity definition. Search custom entity definitions first to avoid duplicates. API summary: Create Custom Entity Definition.create_custom_fieldChanges dataCreate a new custom field. Search custom fields first to avoid duplicates. API summary: Create Custom Field.create_dealChanges dataCreate a deal with `name`, `value`, `currency`, `contact_id`, `type_key` and `status_key` (see list_deal_types and list_deal_statuses), and optional `assignee_id`.create_deal_custom_fieldChanges dataCreate a new deal. Search deals first to avoid duplicates. API summary: Create Deal Custom Field.create_deal_detailsChanges dataCreate a new deal. Search deals first to avoid duplicates. API summary: Create Deal Details.create_employeeChanges dataCreate a new employee. Search employees first to avoid duplicates. API summary: Create Employee.create_formatChanges dataCreate a new format. Required: phone number. API summary: Format Phone Numbers.create_generate_contentChanges dataCreate a new generate content. Required: body.create_importChanges dataCreate a new import. API summary: Create Import.create_journey_executionChanges dataCreate a new journey execution. Required: journey id or contact. API summary: Start a journey execution.create_subscriptionChanges dataCreate a new subscription. API summary: Create Marketing Subscription.create_tagChanges dataCreate a new tag. Search tags first to avoid duplicates. API summary: Create Tag.create_templateChanges dataCreate a new template. Search templates first to avoid duplicates. API summary: Create Template.create_webhookDeletesCreate a new webhook. Search webhooks first to avoid duplicates. Destructive action; may require approval. API summary: Create Webhook.delete_addressesMoves moneyPermanently delete a address. Financial or irreversible action; may require approval. API summary: Delete Location.delete_appointment_custom_fieldsMoves moneyPermanently delete a appointment custom field. Financial or irreversible action; may require approval. API summary: Delete Appointment Custom Field.delete_appointment_typesMoves moneyPermanently delete a appointment type. Financial or irreversible action; may require approval. API summary: Delete Appointment Type.delete_calendarsMoves moneyPermanently delete a calendar. Financial or irreversible action; may require approval. API summary: Delete Calendar.delete_contactMoves moneyPermanently delete a contact. Financial or irreversible action; may require approval. API summary: Delete Contact.delete_contact_listMoves moneyPermanently delete a contact. Financial or irreversible action; may require approval. API summary: Delete Contact List.delete_contact_list_contactMoves moneyPermanently delete a contact. Financial or irreversible action; may require approval. API summary: Delete Contact List Contact.delete_contact_noteMoves moneyPermanently delete a message. Financial or irreversible action; may require approval. API summary: Delete Contact Note.delete_contactsMoves moneyPermanently delete a contact. Financial or irreversible action; may require approval. API summary: Delete Contact Custom Field.delete_contacts_deleteMoves moneyPermanently delete a contact. Financial or irreversible action; may require approval. API summary: Delete Contact.delete_conversation_tagsMoves moneyPermanently delete a conversation tag. Financial or irreversible action; may require approval. API summary: Delete Conversation Tag.delete_custom_entitiesMoves moneyPermanently delete a custom entity. Financial or irreversible action; may require approval. API summary: Delete Custom Entity.delete_custom_entity_definitionsMoves moneyPermanently delete a custom entity definition. Financial or irreversible action; may require approval. API summary: Delete Custom Entity Definition.delete_custom_fieldsMoves moneyPermanently delete a custom field. Financial or irreversible action; may require approval. API summary: Delete Custom Field.delete_dealMoves moneyPermanently delete a deal. Financial or irreversible action; may require approval. API summary: Delete Deal.delete_deal_custom_fieldMoves moneyPermanently delete a deal. Financial or irreversible action; may require approval. API summary: Delete Deal Custom Field.delete_dealsMoves moneyPermanently delete a deal. Financial or irreversible action; may require approval. API summary: Delete Deal.delete_employeesMoves moneyPermanently delete a employee. Financial or irreversible action; may require approval. API summary: Delete Employee.delete_messagesMoves moneyPermanently delete a message. Financial or irreversible action; may require approval. API summary: Delete Message.delete_subscriptionsMoves moneyPermanently delete a subscription. Financial or irreversible action; may require approval. API summary: Delete Marketing Subscription.delete_tagsMoves moneyPermanently delete a tag. Financial or irreversible action; may require approval. API summary: Delete Tag.delete_templatesMoves moneyPermanently delete a template. Financial or irreversible action; may require approval. API summary: Delete Template.delete_webhooksMoves moneyPermanently delete a webhook. Financial or irreversible action; may require approval. API summary: Delete Webhook.list_appointment_custom_fieldsList appointment custom fields. Optional filters: appointment id, custom field id, created at, updated at, organisation id or value. Results are paginated.list_appointmentsList appointments, filtered with PostgREST operators such as `contact_id`, `assignee_id` or `start_time` (e.g. gte.2026-01-01).list_channelsList your messaging channels (WhatsApp, SMS, email and so on) with their IDs. The channel ID is the `from` value when sending.list_commentsList messages. Optional filters: id, created at, organisation id, updated at, conversation id or message id. Results are paginated. API summary: List Comments.list_contact_detailsSearch contacts by id, created at, updated at, organisation id, full name or fts. Use this to find existing contacts before creating a new contact. Results are paginated. API summary: List Contact Details.list_contact_list_membersList which contacts are on which lists, e.g. filter `contact_list_id` = eq.<list id>.list_contact_listsList contact lists, optionally filtered by `name` (e.g. ilike.*vip*). Use to find a list ID.list_contact_notesList internal notes on contacts, e.g. filter `contact_id` = eq.<contact id>.list_contactsList contacts. Optional filters: contact id, custom field id, created at, updated at, organisation id or value. Results are paginated. API summary: List Contact Custom Fields.list_conversation_tagsList conversation tags. Optional filters: created at, updated at, organisation id, tag id, conversation id or select. Results are paginated.list_conversationsList inbox conversations, filtered with PostgREST operators such as `status`, `contact_id`, `assignee_id` or `unread` (e.g. eq.true). Sort with `order`.list_custom_entitiesList custom entities. Optional filters: id, created at, updated at, organisation id, custom entity definition id or contact id. Results are paginated. API summary: List Custom Entitys.list_deal_detailsSearch deals by id, created at, updated at, organisation id, contact id or name. Use this to find existing deals before creating a new deal. Results are paginated. API summary: List Deal Details.list_deal_statusesList deal pipeline statuses with their keys.list_deal_typesList deal types with their keys.list_dealsList deals. Optional filters: deal id, custom field id, created at, updated at, organisation id or value. Results are paginated. API summary: List Deal Custom Fields.list_employeesList the employees (team members) in your workspace. Use to find an assignee ID.list_eventsList events. Optional filters: id, created at, updated at, conversation id, organisation id or type. Results are paginated.list_importsList imports. Optional filters: id, created at, updated at, organisation id, type or payload. Results are paginated.list_journey_versionsList journey versions. Optional filters: id, journey id, organisation id, published, version or select. Results are paginated.list_message_actionsSearch messages by id, created at, updated at, organisation id, conversation id or message id. Use this to find existing messages before creating a new message. Results are paginated. API summary: List Message Actions.list_messagesList messages, e.g. filter `conversation_id` = eq.<conversation id>; each has content, direction (`is_inbound`) and status.list_provider_template_approvalsList provider template approvals. Optional filters: provider id, template id, organisation id, created at, updated at or status. Results are paginated.list_recipientsList recipients. Optional filters: id, created at, updated at, organisation id, conversation id or message id. Results are paginated.list_segmentsList contact segments with their IDs, used as broadcast audiences.list_subscriptionsList subscriptions. Optional filters: contact id, marketing channel id, organisation id, created at, updated at or status. Results are paginated. API summary: List Marketing Subscriptions.list_tagsList tags that can be put on contacts and conversations.list_templatesList message templates (e.g. WhatsApp templates), filtered by `name` or `language`. Use to find a template ID for sending.search_addressesSearch addresses by id, created at, updated at, organisation id, name or external id. Use this to find existing addresses before creating a new address. Results are paginated. API summary: List Locations.search_appointment_detailsSearch appointment details by id, created at, updated at, organisation id, name or description. Use this to find existing appointment details before creating a new appointment detail. Results are paginated. API summary: List Appointment Details.search_appointment_statusesSearch appointment statuses by id, created at, updated at, organisation id, appointment type id or name. Use this to find existing appointment statuses before creating a new appointment status. Results are paginated. API summary: List Appointment Status.search_appointment_typesSearch appointment types by id, created at, updated at, organisation id, name or emoji. Use this to find existing appointment types before creating a new appointment type. Results are paginated. API summary: List Appointment Types.search_calendarsSearch calendars by id, created at, updated at, organisation id, name or type. Use this to find existing calendars before creating a new calendar. Results are paginated. API summary: List Calendars.search_campaignsSearch campaigns by id, created at, updated at, organisation id, name or select. Use this to find existing campaigns before creating a new campaign. Results are paginated. API summary: List Campaigns.search_contactsSearch contacts. Filters use PostgREST operators, e.g. `full_name` = ilike.*anna*, `email` = [email protected]; `fts` searches by handle. Use `limit`/`offset` to page. Returns contact IDs for other tools.search_custom_entity_definitionsSearch custom entity definitions by id, created at, updated at, organisation id, name or schema. Use this to find existing custom entity definitions before creating a new custom entity definition. Results are paginated. API summary: List Custom Entity Definitions.search_custom_fieldsSearch custom fields by id, created at, updated at, organisation id, name or description. Use this to find existing custom fields before creating a new custom field. Results are paginated. API summary: List Custom Fields.search_dealsList deals, filtered with PostgREST operators such as `contact_id`, `status_key`, `assignee_id` or `name` (e.g. ilike.*renewal*).search_journey_nodesSearch journey nodes by id, journey version id, organisation id, type, event type or extra context schema. Use this to find existing journey nodes before creating a new journey node. Results are paginated. API summary: List Journey Nodes.search_journeysSearch journeys by id, name, organisation id, status, latest published version id or select. Use this to find existing journeys before creating a new journey. Results are paginated. API summary: List Journeys.search_marketing_channelsSearch marketing channels by id, created at, updated at, organisation id, name or select. Use this to find existing marketing channels before creating a new marketing channel. Results are paginated. API summary: List Marketing Channels.search_providersSearch providers by id, organisation id, created at, updated at, external id or name. Use this to find existing providers before creating a new provider. Results are paginated. API summary: List Providers.search_review_channelsSearch review channels by id, created at, updated at, organisation id, name or type. Use this to find existing review channels before creating a new review channel. Results are paginated. API summary: List Review Channels.search_webhooksSearch webhooks by id, created at, updated at, organisation id, name or source. Use this to find existing webhooks before creating a new webhook. Results are paginated. API summary: List Webhooks.send_broadcastVisible to othersSend a template broadcast from a channel (`from`) using `template_id` to `to_segments` or `to_recipients`, optionally scheduled with `send_after`. Messages go out to every recipient; use `require_marketing_opt_in` to respect opt-ins.send_messageVisible to othersSend a message from a channel (`from` = channel ID) to recipients (`to`) or into a conversation (`conversation_id`), with `text` or `html`, or a `template_id` with `placeholder_values`. The message is delivered to the recipient (WhatsApp, SMS, email and so on).send_sapemarsy_messageDeletesSend a sapemarsy. Destructive action; may require approval. API summary: Receive Webhook from SAP Emarsys.submit_contactVisible to othersMerge a contact. Has effects visible outside this system. API summary: Merge Contacts.update_addressesVisible to othersUpdate an existing address. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Location.update_appointment_custom_fieldsVisible to othersUpdate an existing appointment custom field. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Appointment Custom Field.update_appointment_typesVisible to othersUpdate an existing appointment type. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Appointment Type.update_calendarsVisible to othersUpdate an existing calendar. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Calendar.update_contactVisible to othersUpdate contacts matching the filter: always pass `id` as eq.<contact id> so only that contact changes, and put new values in the body_ fields (e.g. `body_full_name`, `body_email`).update_contact_detailsVisible to othersUpdate an existing contact. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Contact Details.update_contact_listVisible to othersUpdate an existing contact. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Contact List.update_contactsVisible to othersUpdate an existing contact. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Contact Custom Field.update_conversationVisible to othersUpdate conversations matching the filter: always pass `id` as eq.<conversation id>, and set new values in `body_status`, `body_assignee_id` or `body_inbox_id`.update_conversation_tagsVisible to othersUpdate an existing conversation tag. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Conversation Tag.update_custom_entitiesVisible to othersUpdate an existing custom entity. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Custom Entity.update_custom_entity_definitionsVisible to othersUpdate an existing custom entity definition. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Custom Entity Definition.update_custom_fieldsVisible to othersUpdate an existing custom field. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Custom Field.update_dealVisible to othersUpdate deals matching the filter: always pass `id` as eq.<deal id>, and set new values in body_ fields such as `body_status_key`, `body_value` or `body_name`.update_deal_custom_fieldVisible to othersUpdate an existing deal. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Deal Custom Field.update_deal_detailsVisible to othersUpdate an existing deal. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Deal Details.update_employeesVisible to othersUpdate an existing employee. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Employee.update_messagesVisible to othersUpdate an existing message. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Contact Note.update_subscriptionsVisible to othersUpdate an existing subscription. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Marketing Subscription.update_tagsVisible to othersUpdate an existing tag. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update Tag.update_webhooksMoves moneyUpdate an existing webhook. Only the fields you pass are changed. Financial or irreversible action; may require approval. API summary: Update Webhook.
Set up in three steps
- 1
Pick the app
Create a free HeyMyApps account and choose Mateo from the app list.
- 2
Paste your key
Paste an API key for your hellomateo workspace. The hellomateo docs do not say where the key is created, so if you cannot find it in the app, ask hellomateo support or your account manager for one.
- 3
Add the link to your AI
You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:
- Click your name, then Settings › Connectors › Add custom connector.
- Paste your link as the Remote MCP server URL.
- Switch it on from the + menu in a chat.
Questions
What can the AI do in Mateo?
The AI can search contacts, deals, conversations, messages, appointments, notes, lists, segments, tags, templates, channels and employees. It can create and update contacts and deals, create contact lists and add contacts to them, add internal notes, update conversations, send messages and send template broadcasts.
Does the AI see my Mateo API key?
No. Your Mateo API key is encrypted at rest and never shown to the AI. After you save it, it is not shown again, not even to you. The AI only sees the results of the tools it calls.
Can I control what the AI is allowed to do?
Yes. You choose which tools are switched on, so you can start with lookups only. Sending a message or a broadcast reaches real customers, and those tools can require your approval before they run. Every tool call is logged.
Does it work with ChatGPT?
Yes. In ChatGPT, open Settings › Apps & Connectors › Advanced, turn on Developer mode and add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.
What does it cost?
HeyMyApps has a free plan, and you do not need a credit card to start. Paid plans bill per completed task. You also need your own Mateo account.
Where do I get a Mateo API key?
The hellomateo docs do not say where in the app the key is created. If you cannot find it, ask hellomateo support or your account manager for an API key for your workspace, then paste it into HeyMyApps.
Let your AI work in Mateo today.
Start free. Your key stays encrypted, and you decide what the AI may do.
Connect Mateo freeHeyMyApps is not affiliated with Mateo. Product names are trademarks of their owners.






