For AI assistants
A page to give to your AI assistant, if you want to use AgendaCRM from the chat.
How it works
AgendaCRM’s data lives on the person’s device, not on a server you can query. You compose a link; the person opens it and finds the form already filled in, which they save with a tap. In your reply, give the link and write “Open the link and confirm”. The parameter names are in Italian: write them exactly as shown.
An appointment
https://offlineagendacrm.it/app/?nuovo=appuntamento&chi=NAME&quando=YYYY-MM-DD&ora=HH:MM&cosa=TEXT
| chi | name of the client or of the business |
|---|---|
| quando | 2026-09-15 or 15/09/2026; relative days (“Friday”) must be converted to a date |
| ora | 10:00 or 10 |
| cosa | service or short description |
| operatore | who on the staff does it, if the person said so (“with Martina”): the name, optional |
Example: “book an appointment on 15 September with Maddalena Rossi at ten, consultation” →
https://offlineagendacrm.it/app/?nuovo=appuntamento&chi=Maddalena%20Rossi&quando=2026-09-15&ora=10:00&cosa=Consultation
A client
https://offlineagendacrm.it/app/?nuovo=cliente&nome=NAME&telefono=NUMBER&email=EMAIL¬e=TEXT
| nome | first and last name |
|---|---|
| telefono | with the country code too |
| optional | |
| compleanno | 15/09/1980, optional |
| avviso | the line to remember at every visit: “pays on delivery”, “doorbell broken” |
| note | the rest |
A task
Something to do for the staff, possibly recurring. Only the owner can open it.
https://offlineagendacrm.it/app/?nuovo=task&titolo=TEXT&quando=YYYY-MM-DD&ora=HH:MM&ripeti=una&operatore=NAME
| titolo | what needs doing, in a few words |
|---|---|
| quando | from when; without it, from today |
| ora | only if one was given: with a time the task goes into the diary |
| ripeti | una, giorno, settimana, mese, anno |
| operatore | which member of staff; without it, unassigned |
| cliente | the linked client, with the telefono if you know it |
| nota | the rest |
Example: “remind me every Monday to order the coffee, Mario takes care of it” →
https://offlineagendacrm.it/app/?nuovo=task&titolo=Order%20the%20coffee&quando=2026-10-19&ripeti=settimana&operatore=Mario
Many tasks and appointments together
One link opens a preview: the person checks the list and taps “Create”. Tasks already open with the same title, and appointments with a problem, start unticked: “Busy”, “Closed”, “Away”, “Off hours”. At most 100 rows per type. Only the owner can open it.
With a rule, when the person talks about their clients (“anyone who hasn’t been in for two months”). The app picks the clients from its archive, on the device: you don’t see the names and don’t need to ask for them.
https://offlineagendacrm.it/app/?nuovo=serie®ola=assenti&giorni=60&titolo=Follow%20up&algiorno=5&operatore=Martina,Mario
| assenti | last visit more than giorni ago (default 60) |
|---|---|
| una-visita | came only once, more than giorni ago (30) |
| disdetti | cancelled or no-show in the last giorni (30) |
| servizio | the last service contains servizio (“colour”), more than giorni ago |
| compleanno | birthday in mese (1-12; default the current one) |
| scadenze | a client deadline (inspection, policy…) in the next giorni (30) |
The first four skip anyone who already has an upcoming appointment.
| titolo | title of each task; without it, “Follow up” (or “Birthday wishes”) |
|---|---|
| dal | first day, YYYY-MM-DD; without it, today |
| algiorno | how many per day; closing days are skipped |
| operatore | staff names separated by commas: the tasks are shared out in turn |
| nota | the same for all |
With a list, when the person gives you one or dictates it. The list goes after the #: the browser doesn’t send it to any server. One row per client, task or appointment, fields separated by |:
https://offlineagendacrm.it/app/?nuovo=serie#app=Maddalena|2026-10-19|10:00|Consultation|Martina&task=Clean%20the%20shop%20window||2026-10-19&cliente=Giulia%20Verdi|3471234567
| cliente | name|phone|note|day|time|type; if the client is already in the archive, it links itself |
|---|---|
| task | title|note|day|time|type, for a task with no client |
| app | client|day|time|service|staff member|phone|type|duration; day (YYYY-MM-DD) and time are required |
A row with its own day stays on that day; the others are spread out from dal, algiorno per day. type is the name of one of the business’s types (“Consultation”, “Job”).
A rule and a list can be used in the same link. From the preview the person can copy the list with “Copy for AI” and paste it back to you, for example to have you write the messages.
A booking with a business
Businesses that use AgendaCRM can have a public page: https://offlineagendacrm.it/prenota/NAME. A link with the choice already made:
https://offlineagendacrm.it/prenota/NAME?servizio=SERVICE&giorno=YYYY-MM-DD&ora=HH:MM&persona=ID
| servizio | name as it appears on the page, or identifier |
|---|---|
| giorno | 2026-10-09 |
| ora | 10:00 |
| persona | optional; without it, goes to the first free person |
The person fills in name and phone number and submits from the page; the business then confirms. Free times can be read with the MCP tool orari_liberi; without MCP, give the link to the page with no parameters.
MCP server
https://servizi.offlineagendacrm.it/mcp
No sign-in and no keys. Card: /.well-known/mcp/server-card.json.
| prepara_appuntamento | app link with the appointment filled in |
|---|---|
| prepara_cliente | app link with the client record filled in |
| prepara_task | app link with the task filled in |
| prepara_serie_task | link to the preview of a series of tasks, from a rule or a list |
| orari_liberi | services, people and free times of a booking page |
| prepara_prenotazione | link to the booking page with the choice made, if the time is free |
With MCP the day is passed as it was said (“Friday”, “tomorrow”): the server works out the date, on Italian time.
Rules
- URL-encoded values: a space becomes
%20. - Leave out a field you don’t know: no invented phone numbers, dates or addresses.
- The links only create new things: they don’t edit or delete records, and they don’t confirm bookings.
- Nothing is saved until the person taps “Save” or “Create”: don’t say it’s done.
- Booking pages are public; businesses’ data can’t be reached from here.