Οδηγοί
Συνδέσεις
Ο βοηθός AI σας (Claude, ChatGPT) και ο φωνητικός πράκτορας στην κλήση μπορούν να διαβάσουν το Google Calendar και το Apple Calendar και, μετά την έγκρισή σας, να ενημερώσουν ένα υπάρχον συμβάν - ενώ ο φωνητικός πράκτορας στη δική μηχανή του volai μπορεί επιπλέον να βρει ελεύθερη ώρα και να καταχωρίσει αμέσως το ραντεβού μέσα στην ίδια την κλήση. Στο Apple πρέπει να διατηρείτε τα αδιαφανή αναγνωριστικά και να προσέχετε τις επαναλαμβανόμενες σειρές.
Τι μπορεί και τι δεν μπορεί να κάνει
- Εμφανίζει τη λίστα των συνδεδεμένων ημερολογίων και των συμβάντων τους.
- Αλλάζει τον τίτλο, την έναρξη ή τη λήξη ενός υπάρχοντος συμβάντος.
- Ο φωνητικός πράκτορας στη δική μηχανή του volai βρίσκει στην κλήση ελεύθερη ώρα και καταχωρίζει αμέσως το ραντεβού.
- Βρίσκει ελεύθερες ώρες και δημιουργεί ραντεβού και εκτός κλήσης, μέσω REST και MCP.
Δεν μπορεί
- Δεν διαγράφει κανένα συμβάν.
- Δεν αναζητά ελεύθερες ώρες ανάμεσα σε περισσότερους συμμετέχοντες.
Σύνδεση λογαριασμού Google
Τον λογαριασμό Google τον συνδέετε στην πύλη, στην ενότητα Συνδέσεις (στο αγγλικό μενού της πύλης το στοιχείο «Integrations»). Μόλις συνδεθεί ο λογαριασμός, το ίδιο κλειδί API βλέπει τα ίδια δεδομένα μέσω REST και MCP - χωρίς δεύτερη σύνδεση.
Τον λογαριασμό μπορείτε να τον αποσυνδέσετε στην πύλη ή μέσω REST DELETE /v1/integrations/{id}. Το REST αποσυνδέει την ενσωμάτωση αμέσως και χωρίς επιπλέον πεδίο επιβεβαίωσης, γι' αυτό καλέστε το μόνο μετά από ρητή έγκριση του χρήστη. Το MCP δεν διαθέτει εργαλείο αποσύνδεσης.
Apple Calendar
Συνδέεται με κωδικό για συγκεκριμένη εφαρμογή (όχι με τον συνήθη κωδικό του λογαριασμού Apple) στην πύλη, στην ενότητα Δεδομένα και ενσωματώσεις. Τη σύνδεση μπορεί να κάνει και το REST POST /v1/integrations με {provider: "apple-calendar", username, appPassword, calendarUrl?}· το MCP δεν δέχεται διαπιστευτήρια και χρησιμοποιεί τον λογαριασμό μόνο αφού συνδεθεί.
Το list_calendar_events και το REST GET /v1/integrations/{id}/events υποστηρίζουν το Apple Calendar. Το αδιαφανές externalId που επιστρέφεται περάστε το αμετάβλητο ως eventId στο get_calendar_event και στις ενημερώσεις· δεν είναι UID του iCalendar. Γραμμή με recurring: true αντιπροσωπεύει ολόκληρη την επαναλαμβανόμενη σειρά και η ενημέρωσή της αλλάζει τη βάση της σειράς, όχι ένα μεμονωμένο περιστατικό· οι μεμονωμένες εξαιρέσεις διατηρούνται.
Το calendarId πρέπει να είναι μία από τις διευθύνσεις που επιστρέφει το list_calendars - οτιδήποτε άλλο το API το απορρίπτει με σφάλμα 400 calendar_invalid_calendar.
Ραντεβού μέσα στην κλήση
Ο φωνητικός πράκτορας στη δική μηχανή του volai μπορεί μέσα στην ίδια την τηλεφωνική κλήση να βρει ελεύθερη ώρα και να καταχωρίσει αμέσως το ραντεβού - δεν πρόκειται για βοηθό AI σε συνομιλία, αλλά για κλήση που διεξάγει ο ίδιος ο φωνητικός πράκτορας. Ενεργοποιείται στον επεξεργαστή του πράκτορα, στην καρτέλα Ημερολόγιο: επιλέγετε τη σύνδεση, το ημερολόγιο και τους κανόνες διαθεσιμότητας (παράθυρα ανά ημέρα της εβδομάδας, διάρκεια ραντεβού, περιθώριο μεταξύ ραντεβού, ελάχιστη προειδοποίηση, ορίζοντας αναζήτησης).
- Λειτουργεί μόνο σε πράκτορα στη δική μηχανή φωνής του volai - σε πράκτορα στο ElevenLabs η ρύθμιση αποθηκεύεται και περιμένει την αυτόματη αλλαγή μηχανής.
- Ο πράκτορας δεν λέει ποτέ τι είναι καταχωρισμένο στο ημερολόγιο - μόνο αν μια συγκεκριμένη ώρα είναι ελεύθερη.
- Το τηλέφωνο του καλούντος γράφεται στο συμβάν μόνο όταν το γνωρίζει ο πράκτορας· κρυφός αριθμός σημαίνει συμβάν χωρίς τηλέφωνο.
- Η ίδια αναζήτηση ελεύθερων ωρών και η καταχώριση ραντεβού γίνονται και εκτός κλήσης μέσω REST (
POST .../availability,POST .../events) και MCP (find_free_slots,create_calendar_event).
Fakturoid και ABRA Flexi
Αυτή η σελίδα καλύπτει μόνο τα ημερολόγια. Το Fakturoid και το ABRA Flexi συνδέονται στο ίδιο σημείο (list_integrations/GET /v1/integrations, ενότητα Δεδομένα και ενσωματώσεις στην πύλη), αλλά η ανάγνωση τιμολογίων και η χρήση τους στις Εργασίες υπενθύμισης έχουν δικό τους οδηγό, Τιμολόγια.
Διαδικασία για πράκτορα
Η ενημέρωση ενός συμβάντος έχει πάντα έξι βήματα, με αυτή τη σειρά:
- 1.
list_integrations- τα συνδεδεμένα ημερολόγια και το integrationId τους. - 2.
list_calendars- τα ημερολόγια της συγκεκριμένης σύνδεσης και το calendarId τους. - 3.
list_calendar_events, έπειταget_calendar_eventμε το externalId που επιστράφηκε ως eventId - διαβάζει το συμβάν και το τρέχον sourceRevision του. - 4.
propose_calendar_update- ετοιμάζει πρόταση αλλαγής, δεν γράφει ακόμη τίποτα. - 5. Έγκριση από τον χρήστη - ο πράκτορας δείχνει τις αρχικές τιμές και την πρόταση και μόνο τότε συνεχίζει.
- 6.
confirm_calendar_updateμεconfirm: true- μόνο αυτό το βήμα γράφει την αλλαγή στο Google/Apple.
Ισοδύναμα REST: GET /v1/integrations, GET /v1/integrations/{id}/calendars, GET /v1/integrations/{id}/events, GET /v1/integrations/{id}/events/{eventId}, έπειτα POST /v1/integrations/{id}/events/{eventId}/propose με {calendarId, sourceRevision, patch} και μετά την έγκριση PATCH /v1/integrations/{id}/events/{eventId} με τις ίδιες τιμές και confirm: true.
Σφάλματα
calendar_stale_revision- Το συμβάν άλλαξε στο μεταξύ αλλού - διαβάστε το ξανά (get_calendar_event) και αφήστε τον χρήστη να εγκρίνει τη νέα πρόταση.calendar_oauth_failed- Το Google απέρριψε τη σύνδεση - η σύνδεση πρέπει να γίνει ξανά στην πύλη.calendar_unauthorized- Η σύνδεση έπαψε να ισχύει (ανακληθείσα πρόσβαση, ληγμένο διακριτικό) - συνδέστε ξανά τον λογαριασμό.calendar_confirmation_required- Εγγραφή χωρίςconfirm: true- επιβεβαιώστε την πρόταση μόνο μετά την έγκριση του χρήστη.calendar_verification_failed- Η εγγραφή έγινε, αλλά η νέα ανάγνωση δεν ταιριάζει με την αλλαγή που στάλθηκε - ελέγξτε την κατάσταση χειροκίνητα, μην ξαναεπεξεργαστείτε στα τυφλά.
Τον πλήρη πίνακα με όλους τους κωδικούς θα βρείτε στην ενότητα Ημερολόγια στην αναφορά του REST API και στα σφάλματα MCP.
Ασφάλεια
Τα διακριτικά πρόσβασης σε λογαριασμό Google ή Apple δεν επιστρέφονται ποτέ από το REST API ή το MCP και αποθηκεύονται κρυπτογραφημένα. Το appPassword του Apple στείλτε το μέσω REST μόνο αν ο χρήστης το έχει ήδη αποθηκεύσει με ασφάλεια σε μεταβλητή περιβάλλοντος ή σε αρχείο που ονόμασε ο ίδιος - μην το ζητάτε ποτέ σε συνομιλία και μην το επαναλαμβάνετε. Την ενσωμάτωση την αποσυνδέετε στην πύλη ή μέσω REST DELETE /v1/integrations/{id} μετά από ρητή έγκριση του χρήστη· το MCP δεν προσφέρει αποσύνδεση.
Σχετικά
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.