Vodiči
Povezivanja
Vaš AI asistent (Claude, ChatGPT) i glasovni agent u pozivu mogu pročitati Google Kalendar i Apple Calendar te nakon vašeg odobrenja izmijeniti postojeći događaj - a glasovni agent na vlastitom pogonu volai uz to u pozivu izravno utvrđuje slobodan termin i sastanak odmah upisuje. Kod Applea treba sačuvati neprozirne ID-ove i paziti na ponavljajuće serije.
Što može, a što ne
- Ispisuje povezane kalendare i njihove događaje.
- Mijenja naziv, početak ili kraj postojećeg događaja.
- Glasovni agent na vlastitom pogonu volai u pozivu utvrđuje slobodan termin i odmah upisuje sastanak.
- Pronalazi slobodne termine i otvara sastanak i izvan poziva preko REST-a i MCP-a.
Ne može
- Ne briše nijedan događaj.
- Ne traži slobodne termine među više sudionika.
Povezivanje Google računa
Google račun povezujete u portalu u odjeljku Povezivanja (u izborniku portala stavka Povezivanja i API). Čim je račun povezan, isti API ključ preko REST-a i MCP-a vidi isto - bez dodatne druge prijave.
Račun možete odspojiti u portalu ili preko REST-a DELETE /v1/integrations/{id}. REST odspaja integraciju odmah i bez dodatnog polja za potvrdu, zato ga pozivajte tek nakon izričitog odobrenja korisnika. MCP alat za odspajanje nema.
Apple Calendar
Povezuje se lozinkom za pojedinu aplikaciju (ne uobičajenom lozinkom za Apple račun) u portalu u odjeljku Podaci i integracije. Povezivanje može i REST POST /v1/integrations s {provider: "apple-calendar", username, appPassword, calendarUrl?}; MCP ne prima podatke za prijavu i račun koristi tek nakon povezivanja.
list_calendar_events i REST GET /v1/integrations/{id}/events podržavaju Apple Calendar. Vraćeni neprozirni externalId prosljeđujte nepromijenjen kao eventId u get_calendar_event i izmjene; to nije iCalendar UID. Redak s recurring: true predstavlja cijelu ponavljajuću seriju, a njezina izmjena mijenja osnovu serije, ne jedno pojavljivanje; pojedinačne iznimke ostaju sačuvane.
calendarId mora biti jedna od adresa koje vrati list_calendars - sve drugo API odbija pogreškom 400 calendar_invalid_calendar.
Termini u pozivu
Glasovni agent na vlastitom pogonu volai može izravno u telefonskom razgovoru utvrditi slobodan termin i odmah upisati sastanak - ne radi se o AI asistentu u chatu, nego o pozivu koji vodi sam glasovni agent. Uključuje se u editoru agenta na kartici Kalendar: odaberete povezivanje, kalendar i pravila dostupnosti (prozore po danu u tjednu, trajanje sastanka, razmak između termina, minimalni predvremenik, horizont traženja).
- Radi samo kod agenta na vlastitom glasovnom pogonu volai - kod agenta na ElevenLabsu postavka se sprema i čeka automatsko prebacivanje pogona.
- Agent nikada ne kaže što je u kalendaru upisano - samo je li traženo vrijeme slobodno.
- Telefon pozivatelja upisuje se u događaj samo ako ga agent zna; skriveni broj znači događaj bez telefona.
- Isto traženje slobodnih termina i upis sastanka moguće je i izvan poziva preko REST-a (
POST .../availability,POST .../events) i MCP-a (find_free_slots,create_calendar_event).
Fakturoid i ABRA Flexi
Ova stranica pokriva samo kalendare. Fakturoid i ABRA Flexi povezuju se na istom mjestu (list_integrations/GET /v1/integrations, odjeljak Podaci i integracije u portalu), ali čitanje računa i njihovo korištenje u podsjetničkim Zadacima ima vlastiti vodič Računi.
Postupak za agenta
Izmjena događaja uvijek ima šest koraka, ovim redoslijedom:
- 1.
list_integrations- povezani kalendari i njihov integrationId. - 2.
list_calendars- kalendari dotičnog povezivanja i njihov calendarId. - 3.
list_calendar_events, zatimget_calendar_events vraćenim externalId kao eventId - učitava događaj i njegov aktualni sourceRevision. - 4.
propose_calendar_update- priprema prijedlog izmjene, za sada ništa ne upisuje. - 5. Odobrenje korisnika - agent pokaže izvorne vrijednosti i prijedlog, tek tada nastavlja.
- 6.
confirm_calendar_updatesconfirm: true- tek ovaj korak upisuje izmjenu u Google/Apple.
REST ekvivalenti: GET /v1/integrations, GET /v1/integrations/{id}/calendars, GET /v1/integrations/{id}/events, GET /v1/integrations/{id}/events/{eventId}, zatim POST /v1/integrations/{id}/events/{eventId}/propose s {calendarId, sourceRevision, patch} i nakon odobrenja PATCH /v1/integrations/{id}/events/{eventId} s istim vrijednostima i confirm: true.
Pogreške
calendar_stale_revision- Događaj se u međuvremenu promijenio drugdje - ponovno ga učitajte (get_calendar_event) i neka korisnik odobri novi prijedlog.calendar_oauth_failed- Google je odbio prijavu - povezivanje treba ponovno napraviti u portalu.calendar_unauthorized- Povezivanje više ne vrijedi (opozvan pristup, istekao token) - ponovno povežite račun.calendar_confirmation_required- Upis bezconfirm: true- prijedlog potvrdite tek nakon odobrenja korisnika.calendar_verification_failed- Upis je prošao, ali svježe učitavanje ne odgovara poslanoj izmjeni - provjerite stanje ručno, ne uređujte ponovno naslijepo.
Potpunu tablicu sa svim kodovima pronaći ćete u odjeljku Kalendari u referenci REST API-ja i u pogreškama MCP-a.
Sigurnost
Pristupne tokene za Google ili Apple račun REST API ni MCP nikada ne vraćaju, a pohranjujemo ih šifrirano. Apple appPassword šaljite preko REST-a samo ako ga je korisnik već sigurno spremio u varijablu okruženja ili datoteku koju je sam imenovao - nikada ga ne tražite u razgovoru niti ga ponavljajte. Integraciju odspajate u portalu ili preko REST-a DELETE /v1/integrations/{id} nakon izričitog odobrenja korisnika; MCP odspajanje ne nudi.
Povezano
MCP server
Connect Claude Code, Codex CLI, Codex desktop, Cursor and other AI editors.
REST API
Complete reference for every endpoint: numbers, calls, SMS, mobile numbers for SMS, agents and their drafts, tools, recordings, webhooks, do-not-call list, relay, account, tasks, credit, documents, calendars and integrations.
Voice agent
System prompt, tools, handoff to a human, recordings and structured call data.
Invoices
Fakturoid and ABRA Flexi: reading issued invoices as payment evidence and reminder calls through Tasks.