Pāriet uz saturu

Pamācības

Savienojumi

Jūsu AI asistents (Claude, ChatGPT) un balss aģents zvana laikā spēj nolasīt Google Calendar un Apple Calendar un pēc jūsu apstiprinājuma izlabot esošu notikumu - bet volai paša dzinēja balss aģents turklāt tieši zvana laikā noskaidro brīvu laiku un uzreiz ieraksta tikšanos. Apple gadījumā jāsaglabā necaurredzamie ID un jāuzmanās ar atkārtotām sērijām.

Ko tas spēj un ko nespēj

  • Izvada pieslēgtos kalendārus un to notikumus.
  • Izlabo esoša notikuma nosaukumu, sākumu vai beigas.
  • Balss aģents uz volai paša dzinēja zvana laikā noskaidro brīvu laiku un uzreiz ieraksta tikšanos.
  • Atrod brīvus laikus un izveido tikšanos arī ārpus zvana, izmantojot REST un MCP.

Nespēj

  • Neizdzēš nevienu notikumu.
  • Nemeklē brīvus laikus starp vairākiem dalībniekiem.

Google konta pieslēgšana

Google kontu pieslēdzat portālā sadaļā Savienojumi (portāla izvēlnē tas ir vienums „Savienojumi un API“). Tiklīdz konts ir pieslēgts, tā pati API atslēga gan caur REST, gan caur MCP redz to pašu - papildu pierakstīšanās nav vajadzīga.

Kontu varat atvienot portālā vai ar REST DELETE /v1/integrations/{id}. REST integrāciju atvieno nekavējoties un bez papildu apstiprinājuma lauka, tāpēc izsauciet to tikai pēc lietotāja skaidra apstiprinājuma. MCP atvienošanas rīka nav.

Apple Calendar

Pieslēdzas ar konkrētai lietotnei paredzētu paroli (nevis ar parasto Apple konta paroli) portālā sadaļā Dati un integrācijas. Pieslēgt var arī ar REST POST /v1/integrations un {provider: "apple-calendar", username, appPassword, calendarUrl?}; MCP pieteikšanās datus nepieņem un kontu izmanto tikai pēc pieslēgšanas.

list_calendar_events un REST GET /v1/integrations/{id}/events atbalsta Apple Calendar. Atgriezto necaurredzamo externalId nododiet nemainītu kā eventId uz get_calendar_event un labojumiem; tas nav iCalendar UID. Rinda ar recurring: true apzīmē visu atkārtoto sēriju, un tās labošana maina sērijas pamatu, nevis vienu atkārtojumu; atsevišķie izņēmumi tiek saglabāti.

calendarId jābūt vienai no adresēm, ko atgriež list_calendars - jebko citu API noraida ar kļūdu 400 calendar_invalid_calendar.

Laiki zvana laikā

Balss aģents uz volai paša dzinēja var tieši tālruņa sarunas laikā noskaidrot brīvu laiku un uzreiz ierakstīt tikšanos - tas nav AI asistents tērzētavā, bet zvans, ko vada pats balss aģents. Ieslēdzat to aģenta redaktora cilnē Kalendārs: izvēlaties savienojumu, kalendāru un pieejamības noteikumus (logus pa nedēļas dienām, tikšanās garumu, rezervi starp laikiem, minimālo iepriekšējā pieteikuma laiku, meklēšanas horizontu).

  • Darbojas tikai aģentam uz volai paša balss dzinēja - aģentam uz ElevenLabs iestatījums tiek saglabāts un gaida automātisko dzinēja pārslēgšanu.
  • Aģents nekad neizsaka, kas kalendārā ir ierakstīts - tikai to, vai konkrētais laiks ir brīvs.
  • Zvanītāja tālrunis notikumā tiek ierakstīts tikai tad, ja aģents to zina; slēpts numurs nozīmē notikumu bez tālruņa.
  • To pašu brīvo laiku meklēšanu un tikšanās ierakstīšanu var veikt arī ārpus zvana ar REST (POST .../availability, POST .../events) un MCP (find_free_slots, create_calendar_event).

Fakturoid un ABRA Flexi

Šī lapa aptver tikai kalendārus. Fakturoid un ABRA Flexi pieslēdzas tajā pašā vietā (list_integrations/GET /v1/integrations, portāla sadaļa Dati un integrācijas), bet rēķinu nolasīšanai un to izmantošanai atgādinājumu uzdevumos ir sava pamācība Rēķini.

Darbību secība aģentam

Notikuma labošana vienmēr ir seši soļi šādā secībā:

  • 1. list_integrations - pieslēgtie kalendāri un to integrationId.
  • 2. list_calendars - dotā savienojuma kalendāri un to calendarId.
  • 3. list_calendar_events, pēc tam get_calendar_event ar atgriezto externalId kā eventId - ielādē notikumu un tā pašreizējo sourceRevision.
  • 4. propose_calendar_update - sagatavo izmaiņu priekšlikumu, vēl neko neraksta.
  • 5. Lietotāja apstiprinājums - aģents parāda sākotnējās vērtības un priekšlikumu, un tikai tad turpina.
  • 6. confirm_calendar_update ar confirm: true - tikai šis solis ieraksta izmaiņu Google/Apple.

REST ekvivalenti: GET /v1/integrations, GET /v1/integrations/{id}/calendars, GET /v1/integrations/{id}/events, GET /v1/integrations/{id}/events/{eventId}, pēc tam POST /v1/integrations/{id}/events/{eventId}/propose ar {calendarId, sourceRevision, patch} un pēc apstiprinājuma PATCH /v1/integrations/{id}/events/{eventId} ar tām pašām vērtībām un confirm: true.

Kļūdas

  • calendar_stale_revision - Pa to laiku notikums mainīts citur - ielādējiet to vēlreiz (get_calendar_event) un ļaujiet lietotājam apstiprināt jauno priekšlikumu.
  • calendar_oauth_failed - Google noraidīja pieteikšanos - savienojums portālā jāveido no jauna.
  • calendar_unauthorized - Savienojums vairs nav derīgs (piekļuve atsaukta, tokens beidzies) - pieslēdziet kontu vēlreiz.
  • calendar_confirmation_required - Ieraksts bez confirm: true - apstipriniet priekšlikumu tikai pēc lietotāja apstiprinājuma.
  • calendar_verification_failed - Ieraksts izdevās, bet svaigi nolasītais neatbilst nosūtītajām izmaiņām - pārbaudiet stāvokli manuāli, nelabojiet akli vēlreiz.

Pilnu tabulu ar visiem kodiem atradīsiet sadaļā Kalendāri REST API atsaucē un MCP kļūdās.

Drošība

Piekļuves žetonus Google vai Apple kontam REST API un MCP nekad neatgriež, un mēs tos glabājam šifrētus. Apple appPassword sūtiet caur REST tikai tad, ja lietotājs to jau droši saglabājis vides mainīgajā vai viņa nosauktā failā - nekad neprasiet to sarunā un neatkārtojiet atpakaļ. Integrāciju atvienojiet portālā vai ar REST DELETE /v1/integrations/{id} pēc lietotāja skaidra apstiprinājuma; MCP atvienošanu nepiedāvā.