An AI assistant can read your Etrebil data and act for you: prepare a meeting from the CRM, tell you who is available on Thursday morning, summarise last night's security alerts. It works in your name, with your rights, never more.
Two doors open for this. MCP, for AI assistants. The REST API, for your own programs and integrations.
1. Two doors: MCP and API
MCP (Model Context Protocol) is an open standard that lets an AI assistant discover an application's tools, then call them. You ask a question in plain language; the assistant picks the tools, calls them and answers with your data.
The REST API is for developers: documented HTTP addresses that a script, a spreadsheet or another application calls directly, without AI.
- Online MCP: the web application publishes its tools at the
/mcp address of its site, for example https://crm.etrebil.com/mcp;
- MCP on the computer: Mail and Business installed on your computer publish theirs on
127.0.0.1, reachable from that computer only;
- API: each site that has one documents it at
/api/docs, with its OpenAPI document.
2. Connecting an AI assistant
Access is granted application by application, from the “Agent access” page of your Etrebil space:
- you choose the application, the organisation, the duration, and whether access is read-only or read and write;
- the page shows the token only once (it starts with
etreag_); the platform keeps only its fingerprint;
- it also gives the ready-made command for Claude Code and the configuration for another MCP client (Claude Desktop, Cursor…).
With Claude Code, the command looks like this:
claude mcp add --transport http etrebil-crm https://crm.etrebil.com/mcp --header "Authorization: Bearer etreag_…"
The transport is stateless “Streamable HTTP”: each request stands on its own. You can revoke an access at any time from the same page.
3. On your computer, without going through the Internet
Mail and Business installed on your computer have their own MCP server and API, listening only on the local address 127.0.0.1: Mail on port 17893, Business on port 17894. The assistant's questions and the answers stay on the machine, between the application and the assistant running there.
- the token is created in the application itself, in its API and MCP settings;
- Mail offers to connect Claude Code or Claude Desktop in one click, or gives the configuration for another client;
- a request coming from a web page is refused: only clients installed on the computer get through.
4. The REST API, for your programs
Each site that publishes an API serves its documentation at /api/docs and the OpenAPI document at /api/openapi/v1.json, enough to generate a client or try it in Postman. Only routes marked public appear there; administration and internal routes do not.
- Business also exposes its agent tools over REST:
GET /api/v1/outils lists them, /api/v1/outils/{nom} calls one, with the same agent token;
- the SOC exposes log search, alerts and cases at
/v1, and the intake of logs sent by its collectors;
- Documents and Polls expose document upload and search, events and polls;
- Etrebil Account exposes sign-in for the applications, token renewal, usage and the settings stored in the account.
5. What the agent can do, and what it cannot
- It sees what you see, in the chosen organisation: the tools go through the same services and the same rights as the screens, never straight to the database.
- It changes nothing without your consent. Without write permission, the tools that change data are not even shown to it; with it, permission is checked again on every call, and every change is signed with your name, marked “AI agent”.
- It loses access at the same time as you do: cancellation, seat removed or token revoked.
- Each call counts for a few units depending on the tool, deducted from quotas per session, per week and per month; a rate limit stops an agent stuck in a loop.
- The organisation's manager can forbid AI assistants on its data; existing accesses then stop working.
The AI assistant's provider receives the tools' answers, that is, extracts of your data: choose it knowingly. An AI can be wrong; review what it prepares before sending or confirming it.
6. Compatible applications
The applications that publish MCP tools or an API today, and what an agent can do there.
| Application |
Online MCP |
MCP on the computer |
REST API |
Business
AvailableCompanies and projects, formalities and legal deadlines, partners and shares, invoices, quotes, unpaid items, budgets, dashboards (including consolidated). | ✓ | ✓ | ✓ |
|---|
CRM
AvailableContacts, companies, opportunities and pipeline, history of exchanges, tasks, best practices and playbooks, DKIM-signed message sending. | ✓ | – | – |
|---|
Mail
AvailableOn your computer: accounts, folders, messages and attachments, search, drafts and sending, rules, contacts, calendar, tasks and notes. | – | ✓ | ✓ |
|---|
Property
AvailablePortfolio, buildings and units, unpaid rent, pending management actions, incidents and their follow-up. | ✓ | – | – |
|---|
Planning
In preparationResources, assignments, absences and rule alerts (overlaps, rest, durations). | ✓ | – | – |
|---|
Field Service
In preparationOn-site jobs at customers, technicians, scheduling, reports and invoicing preparation. | ✓ | – | – |
|---|
Manufacturing
In preparationItems, multi-level bills of materials, stock, manufacturing orders and receipts. | ✓ | – | – |
|---|
SOC
AvailableLog search, detection alerts, incident cases, collectors and rules. | ✓ | – | ✓ |
|---|
DataVirt
AvailableAgents installed on your premises, production sources and virtual databases, pending changes and pushing them. | ✓ | – | – |
|---|
Workflows
In preparationThe organisation's workflows, runs and their steps, monthly usage. | ✓ | – | – |
|---|
Documents
AvailableFrom a program: uploading documents, searching recognised text, tags, metadata. | – | – | ✓ |
|---|
Polls
AvailableFrom a program: reading an event, its iCalendar file and a poll by its share code. | – | – | ✓ |
|---|
An application “in preparation” is not yet open to subscribers: its access point will open at the same time.
7. Examples of use
What you can ask, what the agent does with it, and the tools it calls to do so.
Business
“Which legal deadlines fall this quarter for my companies?”
The computed calendar: approval and filing of accounts, tax return, capital payments…
cycle_vue_ensembleecheances
“How does this year's budget compare with actuals?”
The line-by-line gap between the plan and what has been booked.
lister_planscomparer_plan_au_reel
“Draft a quote for the client Dupont: three days of consulting.”
The quote is created; you review and confirm it in Business.
rechercherlister_articlescreer_devischanges data: write permission granted
CRM
“Prepare my meeting with the Martin company.”
The record, the latest exchanges and the open opportunities, summarised in a few lines.
rechercherfichehistorique
“Log my call with Ms Leroy and schedule a follow-up in a week.”
The exchange is logged in the history and the follow-up task is created, in your name.
consigner_echangeplanifier_tachechanges data: write permission granted
“Is our sending domain ready?”
The state of the DKIM key, SPF and DMARC, and the missing DNS records.
marketing_etat_domainesmarketing_dns_a_publier
Mail
“Summarise this morning's unread messages and draft a reply to the accountant's.”
A summary, and a reply left as a draft: it is only sent if you ask.
lister_messagesresumer_messagerepondre_brouillonchanges data: write permission granted
“Automatically file supplier Alpha's invoices into “Invoices”.”
A rule is created, then simulated on existing messages to show what it would have done.
creer_reglesimuler_regleschanges data: write permission granted
Property
“Which rents are unpaid, and for how many days?”
The unsettled instalments, per tenant, with the amount still due.
loyers_impayes
“Add to the boiler incident's log: the heating engineer comes on Thursday.”
The entry is added to the log, signed with your name.
incidentsajouter_suivi_incidentchanges data: write permission granted
Planning
“Who is available on Thursday from 8 am to noon?”
The people with no assignment or approved absence in that slot.
disponibilites
“Put Paul on that slot and tell me if a rule blocks it.”
A draft assignment, or a refusal explained by the rule; publishing remains a separate step.
creer_affectationalerteschanges data: write permission granted
Field Service
“Create a job at Dupont's and assign it to Léa tomorrow at 9 am.”
The job is created, then scheduled with the technician.
lister_clientscreer_interventionplanifier_interventionchanges data: write permission granted
“What should be invoiced for the job finished yesterday?”
The lines to invoice: labour, travel, parts.
lister_interventionspreparer_facturation
Manufacturing
“What is missing to launch order OF-2026-014?”
Per component: the requirement, what is available and the shortfall in today's stock.
penuries_ordre
“Which items are below their stock threshold?”
The list of items to restock.
stock
SOC
“How many failed logons on srv-01 since yesterday?”
The count, then the most frequent accounts and addresses if you ask.
langage_de_recherchecompter_evenementsvaleurs_frequentes
“Group this machine's open alerts into a case.”
A SOC-n case is opened, the alerts are attached to it, with a note explaining why.
lister_alertesouvrir_dossierannoter_dossierchanges data: write permission granted
DataVirt
“What did testing write into the Staging database, and what would a push do?”
The changes table by table, and a preview of the push, without writing anything to production.
lister_basesmodifications_en_attenteapercu_poussee
Workflows
“Why did the last run of the “Reminders” workflow fail?”
The steps played, their inputs and outputs, and the failing step.
lister_executionsexecution
Documents
“A scanner uploads the scanned papers every evening.”
Each file lands in Documents, with its recognised text, ready to be searched.
POST /api/documents/uploadGET /api/documents/search/ocrchanges data: write permission granted
Polls
“Your intranet shows the date chosen for an event.”
The event and its iCalendar file, to add to calendars.
GET /api/events/{id}GET /api/events/{id}/ical