Assistant

How Mate works in Customermates Cloud: what runs immediately, what asks for approval, how credits are reserved and charged per plan, and how it drives the UI.

Customermates Cloud includes Mate, a hosted in-app assistant. This page documents the panel for people and for AI agents that drive the UI. Self-hosted deployments have no hosted assistant; they connect external AI clients through the MCP server with your own provider instead.

How do I open Mate?

Open Mate with Ask Mate in the sidebar (#nav-assistant); it toggles with Cmd/Ctrl+J from anywhere in the app. Escape closes the panel unless a tour or highlight is showing. Ask it questions about your workspace or the product, tell it to change data, have it operate the interface, or let it walk you through the app. It answers in your interface language and reads the product documentation in that language where a translation exists.

The panel is closed on your first visit and remembers whether you left it open or closed, per user and per workspace, across refreshes. Submitting a question or clicking a suggested prompt opens it. The only automatic open happens once on demo hosts. Demo embeds can force the initial presentation with the exact query parameter agentChat=open or agentChat=closed on the page URL; that parameter applies to the current page only and never overwrites your saved choice. In the public demo Mate opens but does not answer: sending a message shows a notice that this is not available in demo mode, so start a free trial to use it.

While Mate works, Stop replaces Send; a message sent meanwhile waits as Up next. Each person can have at most 3 Mate requests running at once, chats and routine runs together; a routine run then waits for a free slot, and a message that starts a new chat at the limit is refused with Mate could not process your message.

Link: no page; Ask Mate in the sidebar opens the panel anywhere in the app. Mate: #nav-assistant is not a highlight target, so Mate names Ask Mate.

What can Mate do without asking, what asks first, and which actions need my approval?

Ordinary CRM work runs as soon as you ask, and the AI assistant does it without asking you first: creating and updating records, notes, record links, and Knowledge Base pages; saving and discarding message drafts; sending emails and chat messages; inbox triage including moving email threads and changing a thread's state to unread, open, closed or spam; workspace settings other than record type names; custom fields; creating and updating saved views, widgets, and webhooks; changing a team member's role or status; generating account-connection links; social invitations and Sales Navigator list changes on a connected account; and routines (listing, creating, updating, pausing, running now). Mate says what it is about to change and reports exactly what changed. A routine Mate creates is saved as a draft unless you explicitly asked for it to be active; the runtime rejects a routine call that does not state this choice. To connect a messaging account, you open the generated link and complete its QR code or sign-in flow yourself; creating the link does not connect the account.

Only actions that cannot be taken back, that leave your workspace, or that rename record types for everyone stop for your approval, every single time:

Always asksTool and actionWhy
Deleting recordsdelete_recordsHard delete, cannot be undone
Deleting a Knowledge Base pagemanage_wiki_pages with deletePermanently removes the document
Deleting a saved viewmanage_data_views with deleteRemoves the saved view
Deleting a custom fieldmanage_custom_columns with deleteDestroys the column and every stored value
Deleting a widgetmanage_widgets with deleteRemoves the dashboard widget
Deleting or resending a webhookmanage_webhooks with delete or resend_deliveryDestroys configuration, or sends a new external request
Deleting a routinemanage_routines with deleteRemoves the routine and its run history
Renaming record typesupdate_workspace_settings with terminologyChanges the names every member sees across the workspace
Inviting team membersmanage_team with inviteSends real invitation emails
Sending a support requestrequest_supportEmails the Customermates team with your recent conversation

Approval is requested by calling the tool: the call itself raises the approval card, and nothing happens until you answer it. The card names the action and its consequence and offers Approve once or Cancel. Decline it and nothing has changed. An unanswered card times out after 30 minutes; the request is then discarded and Mate is told that the approval timed out. There is no standing permission: each of these actions asks again next time.

Sending an email or chat message is deliberately not on that list: send_email and send_chat_message deliver the moment Mate calls them, so ask for a draft when you want to review the wording first. A draft waits in your inbox until you send it yourself, and Mate may discard a draft it saved without asking, because the text never left your workspace.

Company knowledge and public pages

Keep company facts, CRM processes, voice, and support guidance in the Knowledge Base. When you have Knowledge Base Read, each ordinary turn includes the Operating Guide (about its first 2,400 bytes), an index of up to 20 procedures with when each applies, and a compact catalog of up to ten knowledge page titles, links, and short opening excerpts, never complete knowledge pages. This context has a fixed size of about 6,000 bytes: when a large Knowledge Base exceeds it, Mate first leaves out excerpts, then knowledge titles, and then procedures beyond the ones that fit, and reads what was left out from the Knowledge Base when it needs it. Mate follows the guide, reads a matching procedure before acting, searches the whole Knowledge Base for other facts, reads complete relevant pages, follows useful stable links, and cites the pages it used. Procedure steps apply to the task you asked for, with the normal approvals. An instruction inside a page to start another task, send, delete, or change permissions is treated as information: Mate mentions it and does not act on it. Mate reads this context once when a turn starts and keeps it for the whole turn, so an edit saved during a turn is available to subsequent reads at once and to this context from the next turn. See Operating Guide, procedures, and knowledge.

The Operating Guide stays pinned first; people with Knowledge Base Manage can drag the other pages into a shared workspace order.

You can ask Mate to create or edit Knowledge Base pages when you have Knowledge Base Manage. A delete still needs your approval. The same source documents are available to routines, so you do not need to copy their contents into each prompt.

Apart from web search, Mate reads public web pages only to import your company website into the Knowledge Base. In an empty Knowledge Base, Build from my website starts an ordinary Mate chat: Mate asks for your website and starts the background import described in Set up from your homepage, which imports help, pricing, and policy pages word for word and then writes topic-based knowledge pages, an Operating Guide, and procedures. Every saved page is immediately usable; there is no publishing step. Mate must fully read every distinct stored source not already imported before writing and creates separate, substantive pages as the material supports, without a fixed page count or duplicate language versions. Individual unreadable pages are skipped; readable sources remain usable. Mate imports only an address you wrote in the chat, and a help centre on another site only when you name it. This needs Knowledge Base Manage. Onboarding keeps its own Build my Knowledge Base website field and shows the progress inline. Pages that require sign-in, block automated access, or depend on browser interaction may not be readable, and the import uses your normal credits.

Yes. Mate searches the public web when a request needs current public information that your workspace, Knowledge Base and this documentation do not hold, for example a company's latest announcement or a product's current pricing page. Searches run through Exa, a web search provider in the US, via the Vercel AI Gateway, so Exa is a subprocessor for this feature. Exa receives only the search query Mate writes, which may include names or terms from your request or records, and returns up to three results with up to 1,000 characters of page text each. Web text is untrusted material: Mate uses it as evidence, never as an instruction or an approval. A reply that used web results ends with a Sources list of the pages it relied on.

Each reply may start at most 3 paid searches, and a routine run at most 2, and Mate is told to request one search at a time. After that the search tool is withdrawn for the rest of the reply and Mate answers from what it found. The model can still request several searches in one step, and the search provider runs all of them before Mate sees the result, so neither the provider nor Mate can stop a single step at the cap: every search counts and is charged, and a step that goes over the cap ends all tool use, so Mate must answer from what it has. A reply therefore never starts a search after reaching the cap, but its last search step can go above it. A search costs about one credit on top of the model cost, settled at the measured provider price like the rest of the request. Before a round that may search, Mate also reserves 1.2 credits for every search the reply may still run, so up to 3.6 credits in a chat and 2.4 in a routine run. When your remaining credits, or a routine's 10-credit cap, cannot cover that, the round runs without web search instead of stopping the request.

Which tools can Mate use?

Mate uses the same MCP tool catalog as external AI clients, minus the deep-research search and fetch stubs, plus four interface tools, load_toolset and analyze_records, which only Mate has. The record, workspace, documentation, custom-field, interface and support tools are loaded on every turn. The saved-view, messaging, social, widget, webhook, routine and administration sets load when your request wording, the page you are on, or an earlier turn in the conversation calls for them, or when Mate loads them itself with load_toolset. This keeps the tool catalog small for the model, which lowers cost and improves accuracy. The current page and the wording of an earlier message never remove a capability. Loading a tool set does not grant access: every call still enforces your workspace role, tenant, plan entitlements, connected-account prerequisites, and the approvals under What can Mate do without asking, and what asks first?.

analyze_records answers questions that need arithmetic over many records, such as a median, a ranking, or a join across two record types. It runs up to ten reads of read-only workspace tools, never a tool that reaches LinkedIn or another outside provider, and collects every page of each list, up to 10,000 rows and 8 MB across all reads together, then passes the results to one JavaScript function that Mate writes. The function runs in an isolated sandbox with no network, clock, or tools, so it can only compute over what the reads returned. A read that would return only part of its rows is refused instead of analyzed. The tool changes nothing and needs no approval.

When Mate searches this documentation with search_docs or get_docs_page, or searches the Knowledge Base, both run the same search. It matches the words of the query in full text, including inflected forms in English, German, Spanish, French, and Italian, and at the same time matches by meaning: an embedding model run by Google through the Vercel AI Gateway turns the search query, and nothing else, into a vector that is compared with the indexed documentation and Knowledge Base sections, so a question worded differently from the page, or asked in another language, still finds it. A page containing a queried code or identifier comes first. A small classifier then re-ranks the best matching sections so the best answer comes first; later pages of the same Knowledge Base search reuse the order of its first page, even if the classifier or the match by meaning would answer differently by then, so paging within one conversation does not repeat or skip a result, and a new first page starts a fresh order. The server instance that served the first page keeps that order for up to five minutes; a later page served by another instance, or after five minutes, is ranked afresh and can differ. It is the Jev model, run by TypeSafe AI in the US through the Vercel AI Gateway with zero data retention requested, and it receives your latest message, the search query, and excerpts of the documentation and Knowledge Base sections being ranked, never CRM records. A misspelled word that matches no Knowledge Base page is corrected from the words of your Knowledge Base, and the Knowledge Base search runs with the corrected spelling. If the match by meaning takes longer than 1,100 ms, or the classifier fails or takes longer than 800 ms, that search keeps the order it has without them. When the match by meaning is available, a search that finds only some of its words and no section close in meaning returns no results, and so does one where the classifier finds that none of the best matching sections answers it; a queried code or identifier, or a search that finds almost all of its words, always returns its results. Each search by meaning uses a small fraction of a credit for the query embedding, charged to the person whose search started it, and only when a search uses it. Within one workspace, identical searches running at the same time share one embedding, so it can be charged to the person whose search started it even when only a colleague's identical search used it. An embedding that no search used because it arrived after the 1,100 ms wait is paid by Customermates, not by the workspace. See credits. Without credits and on self-hosted instances the search is full text only, with the same typo correction. External MCP clients get the same search without the re-ranking.

How does Mate operate the interface, and can it click buttons for me?

Mate does not click buttons for you; it opens pages and points at controls.

Mate has four interface tools: list_ui_targets finds stable target ids, navigate opens an app area by target id or one record's detail page by entity and record id, highlight_element points at a control, and start_tour composes a guided walkthrough. It does not click controls, type into forms, or submit anything. Saved views are the exception to direct interface configuration: manage_data_views can change filters, search, sorting, grouping, display mode, and page size on supported list pages, plus activity filters and sorting on record timelines. Mate never opens the record drawer: an existing record opens on its detail page, and to add a record it highlights the Add control and you fill in the form. For other interface settings, it names any panel you need to open and then highlights the relevant control; a control inside a panel, such as the board layout inside Appearance, is shown only after that panel's button, either highlighted on its own or as the earlier step of a tour. A board groups records by a field; on a list with nothing to group by, Mate explains that prerequisite instead.

When you ask Mate to change data or a saved view, it calls the matching tool directly and tells you what changed. When you would rather enter or refine something yourself, Mate points at the right control and you open it, type, select, and save. Your own unsaved edits are never overwritten.

The composer's Add context menu (the + button) attaches exact app context to a request. On list pages it offers the current view and a new view, plus the record of an open drawer; on record detail pages it offers the record open on the page. On any page, searching the menu can attach a contact, organization, deal, service, or task by name. Every selection appears as a compact, removable chip beside the message. Record chips show only the record name; view chips keep their localized view label. The chip stores the canonical record id or view target separately from this display text, so translations and duplicate record names cannot redirect the request; history keeps the text that appeared when the context was selected. Context stays with a queued message, a retry, and chat history. Ask Mate actions in view, filter, appearance, and activity panels use the same mechanism: they open chat with the right chip and editable starter text, but send nothing until you submit the message.

Some settings have no tool, so Mate opens the page, points at the control where it is a highlight target, and you make the change there: the plan and billing on My Company › Subscription, role permissions on My Company › Roles (Mate can only move a member to another role, with manage_team), which deal field is the stage field on My Company › Settings, API keys on My Profile › API & Connectors, and your theme, display language and formatting locale on My Profile › Settings.

The targets are the sidebar entries, including every sub-page of My Profile and My Company; the toolbars of the five record lists, Routines, and the Members, Roles, Webhooks, Audit Logs and Recent Deliveries pages (Add, search and filter where the page has them, display options with the table and board layouts, and the import and export menu on the record lists); Add widget on the Dashboard; Add on My Profile › API & Connectors; and Connect channel on My Profile › Channels. Search, Documentation and Feedback in the sidebar can be highlighted but not navigated to, and Add and Ask Mate at the top of the sidebar are not targets. Sub-pages of My Profile and My Company can be highlighted only while that group is expanded in the sidebar.

Settings controls are targets too: Save and Reset on My Profile › Settings and My Company › Settings and in the member, webhook, role, widget and routine dialogs (open the dialog first: Mate points at its Add control where there is one, and for a dialog that opens from a row or card, such as a member's, it names that row or card and asks you to click it; Reset appears only after a change, and on My Profile › Settings Save does too; neither is shown to a role that cannot manage that form, and in a routine only to its owner); every field on My Profile › Settings, and Resend verification email while your email is unverified; Currency, Deal stage field, the stage probabilities, Total pipeline, Weighted pipeline, the Data model section and its five selects on My Company › Settings; the plan cards, Manage with Lemon Squeezy and Refresh on My Company › Subscription, where your role and the subscription state show them; in Invite User the Share link and Send emails tabs, the Invitation link, its copy button, the address input and Send invitations; the Chart and Activity timeline cards on step 1 of Add widget, which lead to Create widget; every field of the User and Webhook dialogs, and Delete in the webhook and role dialogs; in the API key dialog Standard API key, Name, Expires in, Save and a saved key's Delete; Resend in a delivery's Event Details; and in a channel's dialog the Details, Email and Folders tabs, Visibility, Add a signature, Save email settings, Resync, Reactivate and Disconnect. The fields of the role, widget and routine dialogs, and every other dialog control not listed here, are not targets, so Mate names them instead of pointing at them.

Guided tours

Ask for a tour of anything: a single page, a workflow, or the whole app. Mate composes each tour on the spot from what you asked, navigates between pages as the tour progresses, and explains each stop in your language. Close the overlay and the tour ends.

A tour has 2 to 20 stops, moved through with Back and Next, finished with Done on the last stop, or ended early with the X icon in the top corner of the tour card (announced as Skip to screen readers) or the Escape key; it can stop only at the highlight targets listed under How does Mate operate the interface? and skips a stop whose control is not on the page.

Getting started on an empty workspace

Ask Mate to set up your workspace and it uses the same tool catalog it has for any other request: terminology, settings, custom fields, linked records, team access, connected-account links, webhooks, saved views, and dashboard widgets. It asks only for decisions that materially change the result; otherwise it proceeds from the goal and constraints you gave. It lists what it made, so you can adjust anything or ask it to delete records again, which asks for your approval like every delete.

Longer requests continue automatically through a bounded sequence of steps. Mate keeps the original request, carries forward a compact digest of completed work including the key numbers from earlier tool results, and re-reads workspace state when it needs details that were compacted. Longer setup and audit tasks therefore finish without a manual "continue" in the normal case, within hard cost, context, output, error, and runtime limits. If a limit is reached, completed changes remain in place, the activity list shows what ran, and the next request re-reads the workspace before continuing.

How many credits does each plan include?

How many hosted AI credits you get per month depends on the plan: each active user gets a monthly allowance, and one credit corresponds to one US cent of measured provider cost. The allowances per plan:

PlanPrice per seat and monthHosted AI credits per active user and monthRoutines per user
Starter€122001
Pro€295005
Business€691,200unlimited
EnterpriseOn requestAs contractedunlimited

The free trial runs for 7 days with Pro features and 500 credits per active user. The allowance period starts at the moment the workspace was created and repeats monthly on that day and time in UTC (on the last day of a shorter month), whatever date your subscription is billed on; paid allowances reset monthly, and unused credits do not roll over. Only members whose status is Active count as seats and receive credits; on a paid plan, a seat activated mid-period gets an exact prorated share. External MCP clients bill their model use through your own AI provider. Server-side semantic retrieval can consume hosted AI credits, including when called through MCP; the shared-query charging rule below also applies. Routines spend the credits of the routine's owner.

Credits are granted only while the trial runs or while the subscription status is Active; with any other status the allowance is 0 and Ask Mate disappears from the sidebar. Mate cannot read or change the plan, the subscription status or billing, because no tool covers them; it can open My Company › Subscription (#nav-company-subscription, Cloud only). Who can change the plan, and how, is described in My Company.

Link: the Subscription page, /company/subscription. Mate: navigate and highlight_element with nav-company-subscription; on the page, company-subscription-plan-picker highlights the plan cards, company-subscription-manage Manage with Lemon Squeezy and company-subscription-refresh Refresh, each only where your role and the subscription state show it.

How is a request charged, and what happens when the credits run out?

The ring next to Send in the composer (#agent-usage) fills with the share of the monthly allowance used; hover or click it to see the remaining credits, the plan and reset date, and what the last request used. It is hidden when your allowance is 0. Each request is charged exactly its measured provider cost, including the searches and ranking calls it made, with no rounding and no minimum charge: a request that costs the provider $0.0075 uses 0.75 credits. A simple question therefore usually costs less than one credit; a multi-step request that reads many records or runs several tools costs more, and a routine run is capped at 10 credits. The meter and run details show credits rounded to one decimal, so that request shows as 0.8 credits, and a charge below 0.05 credits shows as <0.1 rather than 0. Searching the documentation or the Knowledge Base by meaning is charged to the person whose search started the query embedding, a small fraction of a credit, when a search uses it; within one workspace that can be you even when only a colleague's identical search used it. Keeping the Knowledge Base's search index current is charged to the workspace rather than to whoever edited a page: it draws on the combined allowance of the workspace's active members, and each member's usage includes a share of it in proportion to their allowance, so a member with half of the combined allowance carries half of the indexing cost. Every request and every indexing step reserves its worst-case cost before it runs and is admitted only if it fits both the member's own allowance and what is left of the combined allowance, so the workspace never uses more than the combined allowance in a period; indexing pauses once the combined allowance is used up. The combined allowance counts only what its members and the indexing used: when a member is deactivated or loses AI credits, their allowance and their usage leave it together, so their earlier spending never blocks a colleague.

Before a request starts, Mate reserves a safety envelope for the model round it is about to run and for a few rounds ahead. With the default model the reservation is 5.6 credits per round and 11.2 credits in total, topped up round by round as the turn proceeds; a request cannot start when less than 5.6 credits remain, even though the meter may still show a small remainder. A round that may search the web also reserves the searches the reply may still run, as described under Can Mate search the web?. Reserved credits that the request did not use are released as soon as the provider usage is measured, so the meter can move down and then back up during a request. When the allowance is used up, new requests pause until the reset date and your history stays readable. The composer is then replaced by a notice with View plans, which opens My Company › Subscription; the same notice appears when the subscription grants no credits. When the notice says the hosted Assistant is temporarily unavailable, for example on an Enterprise workspace without a contracted allowance, its button is Contact us and opens an email to the Customermates team.

Link: the Subscription page, /company/subscription. Mate: navigate and highlight_element with nav-company-subscription, then company-subscription-plan-picker for the plan cards where they are shown; the credit ring and View plans in the composer are not highlight targets, so Mate names them.

Chat history

Chats are titled automatically. The history view lists active and archived chats, 25 at a time. Archiving hides a chat and can be undone. Deleting is only offered for archived chats, is refused while a turn is still running, and permanently removes the chat's messages and approvals; CRM records and billing entries remain.

Support

Tell Mate when something does not work out and it offers to email a support request. After your confirmation, the recent conversation is included in an email to the Customermates team. Mate confirms only after the email provider accepts the message. The team replies to the email address on your account, not in the chat. If sending fails, Mate does not claim that the team was notified.

Which ids does the panel have?

These ids belong to the assistant panel itself. They are DOM ids for external browser clients; Mate does not target its own panel.

ActionWhereAnchor idWhat happens
Open the assistantTop of sidebar#nav-assistantToggles the panel, same as Cmd/Ctrl+J
The panel itselfFloating card#agent-panel-dialogNon-modal dialog over the page
Write to MatePanel footer#agent-composerEnter sends, Shift+Enter breaks the line
Credit meterIn the composer, next to Send#agent-usageHover or click for remaining credits, plan and reset date
Suggested promptsFresh chat#agent-suggestionsPrefills the composer, does not send
Back from historyHistory view#agent-history-backReturns to the current chat
Archived chatsHistory view#agent-archive-summaryExpands the archived list
Load more chatsHistory view#agent-load-more-active / #agent-load-more-archivedNext page of chats

Availability

Every cloud plan includes the Mate entitlement; whether the assistant is live depends on the hosted environment's current configuration. It supports every interface language (English, German, Spanish, French, Italian); product documentation is retrieved in English or German and falls back to English for the other languages. Self-hosted deployments do not include the hosted assistant or routines; they connect external AI clients through the MCP server instead. An operator can switch the assistant off for a hosted environment, in which case the sidebar entry is absent.