Documentación del complemento
CabuTally para ChatGPT y Claude
Organiza eventos en grupo, divide cuentas al céntimo y lleva quién debe a quién, desde un chat con Claude o ChatGPT. Dos herramientas funcionan sin cuenta; el resto actúa sobre tus propios eventos de CabuTally.
- URL del servidor
https://mcp.cabutally.com/mcp- Transporte
- Streamable HTTP
- Inicio de sesión
- OAuth 2.1, solo para las herramientas de cuenta
Empezar
- Claude: Configuración → Conectores → Añadir conector personalizado, y pega la URL del servidor. Cuando aparezca en el directorio de conectores de Claude, podrás añadirlo desde allí.
- ChatGPT: Busca CabuTally en el directorio de complementos de ChatGPT cuando esté publicado.
Cualquier cliente MCP que admita servidores remotos por Streamable HTTP con OAuth puede usar la misma URL.
Qué puede hacer
Sin cuenta
- «Organiza un finde en Ibiza con Luis y Marta, unos 900 €.» Recibes una tarjeta con un enlace que abre CabuTally con el evento ya rellenado. No se crea nada hasta que pulsas Crear en la app.
- «Cenamos por 84, Ana pagó 50 y yo 34, somos cuatro.» Recibes quién paga a quién, con el menor número de pagos, al céntimo.
Con tu cuenta de CabuTally
- Añade gastos sobre la marcha, o pegando un chat del grupo, un tique o un extracto. Si pegas algo o añades más de tres a la vez, revisas cada línea antes de añadir nada, y si una parece ya apuntada, te lo dice antes.
- Pregunta cómo va todo: quién te debe, cómo va el presupuesto, qué ha cambiado desde ayer.
- Registra pagos y lo que se pone en el bote, y prepara un recordatorio amable para enviarlo tú.
- Crea un evento con su gente y su lista de tareas, y ve tachándolas.
Inicio de sesión y permisos
El servidor se conecta sin iniciar sesión. La primera vez que usas una herramienta de cuenta, el asistente te pide iniciar sesión en CabuTally (OAuth 2.1 con PKCE). Necesitas una cuenta de CabuTally con correo electrónico; tus amigos siguen sin necesitarla.
Actúa en tu nombre y solo ve lo que ves tú en la app, incluidos los nombres e importes de los demás miembros. Añade gastos, pagos, personas y tareas, y cada cosa que añade queda marcada como añadida mediante un asistente.
Nunca borra nada, ni cambia un gasto o un pago: un error se corrige en la app, donde lo ve tu grupo. Lo único que cambia de lo ya existente es apuntarse a una tarea o marcarla. Ninguna herramienta es destructiva, y Claude y ChatGPT te preguntan antes de usar una que escribe, salvo que le hayas dado permiso para no preguntar.
Datos y privacidad
El servidor no guarda datos de tus eventos. Lo único que guarda es el permiso de inicio de sesión (los tokens como hash, la sesión cifrada). Sus registros dicen qué herramienta se usó y cómo acabó cada llamada, nunca sus argumentos.
Lo que lee una herramienta llega al proveedor del asistente, que has elegido tú, según sus condiciones.
Los detalles están en la Política de Privacidad.
Rechazos y límites
Una llamada que no se puede hacer se rechaza con un motivo breve y un código, como (no_debt) o (possible_duplicate), y no escribe nada, para que el asistente te pregunte qué querías decir. Un lote que se detiene a medias dice qué filas se añadieron.
Las herramientas de cuenta tienen límites por usuario, tan altos que una persona nunca llega a ellos. Una llamada por encima se rechaza con (rate_limited).
Desconectar
En la app, abre Perfil → Asistentes → Desconectar asistentes. Todos los asistentes que conectaste pierden el acceso en menos de una hora. También puedes quitar CabuTally desde los ajustes del propio asistente.
Referencia de herramientas
Las 17 herramientas, tal como las publica el servidor. Esta lista se genera desde el servidor en cada compilación del sitio (la última, el 2026-11-02).
Los nombres y las descripciones están en inglés, el idioma en que el servidor se las describe al asistente.
Sin cuenta
plan_event Plan a group event
- Solo lectura
- Sin cuenta
Use when the user is organising a trip, dinner, party or any group outing with other people and shared costs or a group budget ("organise a weekend in Ibiza with Luis and Marta, €900 between us", "organizar un viaje", "organiser un week-end entre amis"), even alongside an itinerary. Not for an itinerary alone, with no group money to track. Returns a link that opens CabuTally with the event filled in; nothing is created until the user taps Create. No account needed. With the account connected, create_event makes the event directly.
Parámetros (4)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name | string | Sí | The event name, e.g. "Ibiza weekend" |
people | string[] | No | The OTHER people going, by first name. Never the user: the app asks for their name. |
budget | number | No | The total budget for the whole group, if one was given |
currency | string | No | ISO code; leave out if unknown |
split_bill Split a bill
- Solo lectura
- Sin cuenta
Use when the user wants to split a one-off bill that is not in a CabuTally event ("we spent 84 on dinner, Ana paid 50", "cenamos por 84, Ana pagó 50 y yo 34", "on a payé 84, qui doit combien à qui"). Works out who pays whom, exact to the cent, with the fewest payments, in equal shares. Also returns a link to keep it as a shared CabuTally event. For an event the user already has, add_expenses records the cost and get_event shows the balances. Not for recurring costs like rent.
Parámetros (8)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
currency | string | No | |
payments | object[] | Sí | |
payments[].paidBy | string | Sí | Who paid |
payments[].amount | number | Sí | How much they paid, in currency units (12.50). Read it as the user writes numbers: in Spanish "1.200" is 1200 |
payments[].sharedBy | string[] | No | Who shares this payment; leave out when everyone does |
everyone | string[] | No | Everyone in the split, including people who paid nothing |
me | string | No | The name used for the user in payments, if they are in the split |
eventName | string | No | What it was, e.g. "Dinner at Casa Pepe" |
Con cuenta: lectura
list_my_events List my events
- Solo lectura
- Con cuenta
Use when the user asks about their own CabuTally events ("my trips", "which events am I in?", "mis eventos", "mes événements"). Lists the 50 most recently active events their account is in, each with its eventId (which every other event tool takes), whether the user is square in it, and a link, plus the name saved on the user's account (create_event needs a name). Needs the user to connect their CabuTally account.
Sin parámetros.
get_event Get an event
- Solo lectura
- Con cuenta
Use when the user asks where one event stands for them ("where are we?", "who owes me?", "¿cuánto debo?", "¿cómo va el bote?", "qui me doit quoi ?", "où en est la cagnotte ?"): the people (isMe marks the user), what the user owes and is owed (only their own lines: not what two others owe each other), the budget and what was spent, the kitty and its collector, and every to-do. Does not list the expenses (list_expenses does) and gives no share link.
Parámetros (1)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
get_invite_link Get the invite link
- Solo lectura
- Con cuenta
Returns the event’s public join link, only when the user asks for it ("send me the link for the group", "pásame el enlace del evento", "envoie-moi le lien de l’événement"). Anyone who has it can join and write to the event without signing up. create_event already returns it for a new event. It is never a link to one person’s seat.
Parámetros (1)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
draft_reminder Draft a reminder
- Solo lectura
- Con cuenta
Use when the user wants to nudge someone who owes them money ("remind Marta she owes me", "recuérdale a Luis lo que me debe", "rappelle à Luis ce qu’il me doit"). Drafts the app’s friendly reminder for the user to copy and send themselves; it sends nothing and has no link. Only for someone who owes the user, never for what the user owes.
Parámetros (2)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
person | string | Sí | Who owes the user: a name as the user said it, or a guestId |
list_expenses List expenses
- Solo lectura
- Con cuenta
Use when the user asks what the group spent or wants to find expenses in one event: "what did we spend on food?", "what did Marta pay for?", "¿cuánto gastamos en la cena?", "gastos del sábado", "combien on a dépensé au resto ?", "les dépenses de samedi". Lists the expenses newest first, at most 50, with the count and total of everything that matched, how much of it was taken home, and with paidBy what that person paid themselves; filter by who paid, words, a category or dates. Its totals count whole expenses, so for what the group shared or each share, event_recap is the answer. It does not say who owes whom (get_event does) and does not add anything (add_expenses does).
Parámetros (7)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
paidBy | string | No | Only what this person paid (or helped pay): a name, "me", or a guestId |
word | string | No | Words to find in the description or note, as the app's search does: any case, any accents, every word must appear ("cena", "uber airport") |
category | string | No | A category by name: the built-in ones in English ("Food", "Transport", "Accommodation") or one the group made. A main category includes its subcategories |
from | string | No | First day, YYYY-MM-DD: the day it was spent |
to | string | No | Last day, YYYY-MM-DD, included |
includeNotes | boolean | No | true only when the user asks about the notes written on the expenses |
event_recap Event recap
- Solo lectura
- Con cuenta
Use when the user asks how an event went in money: "how much did the trip cost?", "what was my share?", "¿cuánto nos costó el viaje?", "resumen de gastos", "combien nous a coûté le voyage ?", "bilan des dépenses". Gives the shared total (private expenses and taken-home parts left out), the average per person (not anyone's share), the user's own paid and share, totals by category, and estimate against actual for each to-do that has both (get_event lists every to-do). It does not list single expenses (list_expenses does) or say who owes whom (get_event does).
Parámetros (1)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
recent_activity Recent activity
- Solo lectura
- Con cuenta
Use when the user asks what changed in an event: "what's new in the trip?", "who added what since yesterday?", "¿qué ha pasado en el grupo?", "novedades", "quoi de neuf dans le groupe ?". Lists up to 30 entries of the activity feed, newest first, from a time (the last 7 days by default): who added, paid, claimed or changed what. It does not total anything (event_recap and list_expenses do).
Parámetros (2)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
since | string | No | ISO time to start from; the last 7 days when left out |
preview_expenses Preview expenses
- Solo lectura
- Con cuenta
Use when there are more than three expenses to add, or the user pasted lines other people wrote (a group chat, however short), a receipt or a statement, before calling add_expenses: checks names, currency and totals exactly as add_expenses will, and returns one readable line per expense ("Petrol, 40.00 EUR, paid by Luis, shared by everyone"). Show the user those lines and stop: add_expenses comes only after they confirm, in a later reply. alreadyInEvent marks a row that looks like an expense the event already has: point it out and ask whether to add it. Writes nothing.
Parámetros (19)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
currency | string | No | Only when the user names a currency ("85€", "20 dólares"): its ISO code. Leave out for a bare amount, which is in the event's currency. A currency other than the event's is refused (currency_mismatch) and nothing is written: ask for the amount in the event's currency, never resend the same number without it |
rows | object[] | Sí | |
rows[].description | string | Sí | What it was, e.g. "Petrol" |
rows[].amount | number | Sí | The total, in the event currency (40 or 12.50). Read it as the user writes numbers: in Spanish "1.200" is 1200 and "12,50" is 12.50 |
rows[].paidBy | string or object[] | Sí | Who paid: one person, or several with how much each paid (their parts must add up to the total exactly). When the user does not say who, it is the user ("me"), as in the app |
rows[].paidBy[].person | string | Sí | A name as the user said it, "me" only when the user themselves is speaking of themselves, or a guestId from an earlier answer. In a pasted chat or a forwarded message, "me", "I" and "my" are whoever wrote that line: use their name. A name that matches nobody is refused with the event's people listed, one that matches several with the candidates, and nothing is written |
rows[].paidBy[].amount | number | Sí | How much this person paid, in the event currency (12.50) |
rows[].sharedBy | string[] | No | Who shares it, in equal parts; leave out when everyone in the event does. "I paid Ana's ticket" is just Ana; "everyone but Leo" lists the others (get_event has the people). Use shares or amounts instead for an uneven split |
rows[].shares | object[] | No | Instead of sharedBy, for portions ("Sam had two drinks, Maya and Leo one"): everyone who shares it, each with their portions |
rows[].shares[].person | string | Sí | A name as the user said it, "me" only when the user themselves is speaking of themselves, or a guestId from an earlier answer. In a pasted chat or a forwarded message, "me", "I" and "my" are whoever wrote that line: use their name. A name that matches nobody is refused with the event's people listed, one that matches several with the candidates, and nothing is written |
rows[].shares[].shares | integer | Sí | Whole portions, 1 to 99 |
rows[].amounts | object[] | No | Instead of sharedBy, when each person owes a set amount ("my menu was 18, Ana's 12"): everyone who shares it, each with what they owe; they must add up to the total exactly |
rows[].amounts[].person | string | Sí | A name as the user said it, "me" only when the user themselves is speaking of themselves, or a guestId from an earlier answer. In a pasted chat or a forwarded message, "me", "I" and "my" are whoever wrote that line: use their name. A name that matches nobody is refused with the event's people listed, one that matches several with the candidates, and nothing is written |
rows[].amounts[].amount | number | Sí | What this person owes of it, in the event currency |
rows[].private | boolean | No | true to show it only to the people it involves; only when the user asks |
rows[].category | string | No | A category name as the event has it, e.g. "Fuel"; leave out when unsure |
rows[].date | string | No | The day it was spent, YYYY-MM-DD, in the user's own calendar. Send it even for today when you know the date: left out, the day is when it was logged, in UTC, a day off late in the evening for many users |
rows[].note | string | No | A longer note, only when the user gives one |
Con cuenta: escritura
add_expenses Add expenses
- Escribe
- Con cuenta
Use when the user wants to add one or more expenses to a CabuTally event: "add 40 for petrol, Luis paid", "apunta 40 de gasolina, pagó Luis", "dividir gastos de la cena", "note 40 d’essence, Luis a payé", "partage le dîner", a pasted group chat, a receipt or a bank statement. Adds 1 to 20 expenses, each split in equal shares among the people sharing it (everyone by default). When people had different amounts, split one expense unevenly instead: shares for portions ("Ana had two drinks, Beto one": Ana 2, Beto 1), or amounts for what each owes ("my menu was 18, Ana's 12"), listing everyone who shares it. For more than three rows, or any lines other people wrote (a pasted chat, a forwarded message, even one or two lines), call preview_expenses first, show the user the lines and stop: call add_expenses only after they say yes, never in the same reply. Several payers must add up to the total. Refuses with possible_duplicate, writing nothing, when a row looks like an expense already in the event; ask the user, then drop the row or call again with again: true. It cannot set a leftover (a part someone takes home), tags or a linked to-do, and nothing here edits or deletes an expense: the user does that in the app, from the event link. Money handed to a person is record_payment and money into the common pot is record_group_fund_contribution, not an expense; when it is unclear which ("I gave Alex 20 for the trip"), ask before writing.
Parámetros (20)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
currency | string | No | Only when the user names a currency ("85€", "20 dólares"): its ISO code. Leave out for a bare amount, which is in the event's currency. A currency other than the event's is refused (currency_mismatch) and nothing is written: ask for the amount in the event's currency, never resend the same number without it |
rows | object[] | Sí | |
rows[].description | string | Sí | What it was, e.g. "Petrol" |
rows[].amount | number | Sí | The total, in the event currency (40 or 12.50). Read it as the user writes numbers: in Spanish "1.200" is 1200 and "12,50" is 12.50 |
rows[].paidBy | string or object[] | Sí | Who paid: one person, or several with how much each paid (their parts must add up to the total exactly). When the user does not say who, it is the user ("me"), as in the app |
rows[].paidBy[].person | string | Sí | A name as the user said it, "me" only when the user themselves is speaking of themselves, or a guestId from an earlier answer. In a pasted chat or a forwarded message, "me", "I" and "my" are whoever wrote that line: use their name. A name that matches nobody is refused with the event's people listed, one that matches several with the candidates, and nothing is written |
rows[].paidBy[].amount | number | Sí | How much this person paid, in the event currency (12.50) |
rows[].sharedBy | string[] | No | Who shares it, in equal parts; leave out when everyone in the event does. "I paid Ana's ticket" is just Ana; "everyone but Leo" lists the others (get_event has the people). Use shares or amounts instead for an uneven split |
rows[].shares | object[] | No | Instead of sharedBy, for portions ("Sam had two drinks, Maya and Leo one"): everyone who shares it, each with their portions |
rows[].shares[].person | string | Sí | A name as the user said it, "me" only when the user themselves is speaking of themselves, or a guestId from an earlier answer. In a pasted chat or a forwarded message, "me", "I" and "my" are whoever wrote that line: use their name. A name that matches nobody is refused with the event's people listed, one that matches several with the candidates, and nothing is written |
rows[].shares[].shares | integer | Sí | Whole portions, 1 to 99 |
rows[].amounts | object[] | No | Instead of sharedBy, when each person owes a set amount ("my menu was 18, Ana's 12"): everyone who shares it, each with what they owe; they must add up to the total exactly |
rows[].amounts[].person | string | Sí | A name as the user said it, "me" only when the user themselves is speaking of themselves, or a guestId from an earlier answer. In a pasted chat or a forwarded message, "me", "I" and "my" are whoever wrote that line: use their name. A name that matches nobody is refused with the event's people listed, one that matches several with the candidates, and nothing is written |
rows[].amounts[].amount | number | Sí | What this person owes of it, in the event currency |
rows[].private | boolean | No | true to show it only to the people it involves; only when the user asks |
rows[].category | string | No | A category name as the event has it, e.g. "Fuel"; leave out when unsure |
rows[].date | string | No | The day it was spent, YYYY-MM-DD, in the user's own calendar. Send it even for today when you know the date: left out, the day is when it was logged, in UTC, a day off late in the evening for many users |
rows[].note | string | No | A longer note, only when the user gives one |
again | boolean | No | true only when the user confirms they want it added although it looks like something already there: a second copy of what was just added, or a possible_duplicate |
record_payment Record a payment
- Escribe
- Con cuenta
Use when money changed hands between two people in a CabuTally event: "Marta paid me back 20", "I gave Luis 15 in cash", "ya le pagué a Luis", "j’ai remboursé Luis". One side is the user, or both are placeholders. It records money already handed over outside CabuTally; it never sends or moves money. Settles the debt line when there is one. When the payer owes the receiver nothing it refuses first (no_debt), since it would record cash handed over that the receiver now owes back. To settle up, get_event first shows who owes whom. When you don't know who owes whom, call it anyway: a no_debt refusal says which way the debt runs and writes nothing. A payment cannot be edited or deleted here: the user does that in the app. Not for a debt still owed ("I owe Ana 20"): that is an expense Ana paid, so ask what it was for. Not for a shared cost (add_expenses) or money into the kitty (record_group_fund_contribution); when it is unclear which ("I gave Alex 20 for the trip"), ask before writing.
Parámetros (7)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
from | string | Sí | Who handed the money over: a name, "me", or a guestId |
to | string | Sí | Who received it: a name, "me", or a guestId |
amount | number | Sí | How much, in the event currency |
currency | string | No | Only when the user names a currency ("85€", "20 dólares"): its ISO code. Leave out for a bare amount, which is in the event's currency. A currency other than the event's is refused (currency_mismatch) and nothing is written: ask for the amount in the event's currency, never resend the same number without it |
note | string | No | A short note, only when the user gives one. As in the app, it is kept only when the payment is recorded as cash rather than settling a debt |
again | boolean | No | true only when the user confirms it: a payment from someone who owes the receiver nothing (no_debt), a second copy of what was just added, or a possible_duplicate |
record_group_fund_contribution Record money put into the group fund (kitty)
- Escribe
- Con cuenta
Use when someone put money into the event's group fund (the kitty or common pot, "hacer un bote"): "I put 20 in the kitty", "he puesto 20 en el bote", or the collector noting someone's share. It goes to the current collector (get_event shows who). Only when the user says it went into the kitty or pot: "Nora put 30 in" alone could be a payment or a shared cost, so ask first. Not for paying a person back (record_payment) or a shared cost (add_expenses); when it is unclear which, ask before writing.
Parámetros (6)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
from | string | No | Who put the money in; leave out for the user. Only the collector records it for someone else |
amount | number | Sí | How much, in the event currency |
currency | string | No | Only when the user names a currency ("85€", "20 dólares"): its ISO code. Leave out for a bare amount, which is in the event's currency. A currency other than the event's is refused (currency_mismatch) and nothing is written: ask for the amount in the event's currency, never resend the same number without it |
note | string | No | A short note, only when the user gives one |
again | boolean | No | true only when the user confirms they want it added although it looks like something already there: a second copy of what was just added, or a possible_duplicate |
create_event Create an event
- Escribe
- Con cuenta
Use when the user wants a CabuTally event made now in their account for a trip, dinner, party or any group outing ("create the Ibiza trip with Luis and Marta", "crear un evento para la cena", "crée un événement pour le dîner"). Makes the event with the user in it, the other people as placeholders, an optional budget and an optional to-do list with estimates, and returns the link to share with the group and the link to open it. Unlike plan_event, it creates the event. Not for an event that already exists: add_people and add_todos add to one.
Parámetros (9)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name | string | Sí | The event name, e.g. "Ibiza weekend" |
currency | string | Sí | ISO code of the currency the group spends in |
displayName | string | No | The user's own name in this event, as the group will see it. Leave out only when list_my_events shows a savedName; otherwise ask the user first. Never take it from the chat's account, an email or an earlier event |
people | string[] | No | The OTHER people going, by first name, added as placeholders. Never the user |
budget | number | No | The total budget for the whole group, if one was given |
todos | object[] | No | Things to sort out for it ("drinks", "book the boat"), with an estimate if known |
todos[].name | string | Sí | What to sort out, e.g. "Drinks" or "Book the boat" |
todos[].estimate | number | No | What it should cost, in the event currency (12.50) |
again | boolean | No | true only when the user confirms they want a second event like the one just created |
add_people Add people to an event
- Escribe
- Con cuenta
Use when the user wants more people in one of their CabuTally events ("add Bea and Tom to the trip", "añade a Bea al viaje", "ajoute Bea au voyage"). Adds each as a placeholder the person can later join as from the shared link. Not for creating an event: create_event takes its people.
Parámetros (3)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
names | string[] | Sí | The new people's first names, never the user |
again | boolean | No | true only when the user confirms they want someone with the same name as a person already in the event, or a second copy of someone just added |
add_todos Add to-dos to an event
- Escribe
- Con cuenta
Use when the user wants things to sort out added to one of their CabuTally events: turning what the group has to buy, book or bring into its to-do list ("add drinks, ice and the boat to the list", "Luis brings the drinks", "apunta las bebidas", "ajoute les boissons à la liste"). Each to-do can have an estimate and the people on it. Not for marking a to-do done or claiming an existing one: that is update_todo. Not for money already spent: that is add_expenses.
Parámetros (7)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
todos | object[] | Sí | |
todos[].name | string | Sí | What to sort out, e.g. "Drinks" or "Book the boat" |
todos[].estimate | number | No | What it should cost, in the event currency (12.50) |
todos[].claimedBy | string[] | No | Who is on it: names, "me", or guestIds |
currency | string | No | Only when the user names a currency ("85€", "20 dólares"): its ISO code. Leave out for a bare amount, which is in the event's currency. A currency other than the event's is refused (currency_mismatch) and nothing is written: ask for the amount in the event's currency, never resend the same number without it |
again | boolean | No | true only when the user confirms they want it added although it looks like something already there: a second copy of what was just added, or a possible_duplicate |
update_todo Update a to-do
- Escribe
- Con cuenta
Use when someone takes on, drops or finishes a to-do in one of their CabuTally events ("I'll bring the drinks", "drinks are sorted", "Luis is doing the boat", "yo llevo las bebidas"). claim puts a person on it, release takes them off, done and undone tick it. Not for adding a new to-do: that is add_todos.
Parámetros (4)
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
eventId | uuid | Sí | The event, as list_my_events returns it (eventId). When the user names none and more than one could fit, ask which |
todo | string | Sí | The to-do, by its name as the user said it, or a todoId from an earlier answer |
action | "claim" | "release" | "done" | "undone" | Sí | claim: put the person on it; release: take them off; done: tick it; undone: untick it |
person | string | No | For claim and release: who, by name, "me" or guestId. Defaults to the user |
Ayuda
Escribe a atencion@azurblade.com, en español, inglés o francés. Más en lapágina de ayuda.