Μετάβαση στο περιεχόμενο

Οδηγοί

Φωνητικός πράκτορας

Ο πράκτορας είναι τόσο καλός όσο καλά είναι γραμμένο το system prompt του. Αυτή η σελίδα είναι ένας οδηγός για το πώς να το γράψετε, τρία έτοιμα πρότυπα για αντιγραφή και τα όρια που πρέπει να λάβετε υπόψη.

Αριθμός του βοηθού

Ο πράκτορας απαντά και καλεί από τον αριθμό που του αντιστοιχίζετε στις λεπτομέρειες του πράκτορα (στο API το πεδίο numberE164). Ο φωνητικός αριθμός δέχεται και πραγματοποιεί κλήσεις, όχι όμως SMS. Αν θέλετε ο βοηθός να έχει αριθμό στον οποίο οι άνθρωποι μπορούν να τηλεφωνούν και να στέλνουν μήνυμα, και από τον οποίο καλεί και στέλνει SMS, παραγγείλετε αριθμός για κλήσεις και SMS: σταθερό αριθμό Πράγας που, μετά την καταχώριση στον πάροχο (συνήθως εντός 1 εργάσιμης ημέρας, το πολύ 48 ώρες), απαντά ο πράκτορας στον ιδιόκτητο φωνητικό κινητήρα του volai. Οι κλήσεις από αυτόν πηγαίνουν μόνο σε τσεχικούς αριθμούς (+420) και τα SMS από αυτόν δεν έχουν αποδεικτικά παράδοσης. Λεπτομέρειες θα βρείτε στην τεκμηρίωση του API, στην ενότητα Αριθμοί: αριθμός για κλήσεις και SMS.

1Δομή του systemPrompt

Ένα καλό prompt έχει τέσσερα μέρη. Χωρίς οποιοδήποτε από αυτά ο πράκτορας αργά ή γρήγορα κολλάει και δεν ξέρει τι να κάνει - είτε σωπαίνει είτε επινοεί κάτι.

  • Ποιος είμαι - μία έως δύο προτάσεις: όνομα εταιρείας, ρόλος, ύφος φωνής. Ο πράκτορας πρέπει να αναγνωρίζει τον εαυτό του σε αυτό από την πρώτη ατάκα.
  • Τι μπορώ να κάνω - συγκεκριμένες εργασίες που ο πράκτορας πράγματι χειρίζεται (παραγγελία, ραντεβού, πληροφορία) - όχι το γενικό «θα βοηθήσω σε οτιδήποτε».
  • Τι ΔΕΝ κάνω ΠΟΤΕ - όρια: τι δεν επιτρέπεται να επινοεί, να υπόσχεται ή να αποκαλύπτει ο πράκτορας. Αυτό το μέρος παραλείπεται συχνότερα και κάνει τη διαφορά ανάμεσα σε έναν πράκτορα που επινοεί τιμές και σε έναν που λέει τίμια «αυτό δεν το γνωρίζω, καλέστε στο...».
  • Πώς τελειώνει η κλήση - πότε και πώς κλείνει η κλήση (σύνοψη, αποχαιρετισμός) και τι κάνει ο πράκτορας όταν ο πελάτης ζητά κάτι εκτός πεδίου.

Οι μεγαλύτερες οδηγίες επιβραδύνουν την απάντηση περίπου κατά ένα δέκατο του δευτερολέπτου ανά δύο χιλιάδες χαρακτήρες - ο επεξεργαστής του πράκτορα σάς προειδοποιεί από τους 3000 χαρακτήρες. Το αυστηρό όριο είναι 6000 χαρακτήρες.

Τρία πλήρη πρότυπα - αντιγράψτε και προσαρμόστε τα:

Ρεσεψιονίστ με παραγγελίες

text
Είσαι η φωνητική ρεσεψιονίστ του καφέ Nula στα Vinohrady. Μιλάς ήρεμα,
φιλικά και σύντομα - όπως θα μιλούσε ένας έμπειρος υπάλληλος, όχι ένα ρομπότ.

ΤΙ ΜΠΟΡΕΙΣ ΝΑ ΚΑΝΕΙΣ
- Παίρνεις παραγγελίες για παραλαβή (καφές, τσάι, κρουασάν, σάντουιτς).
- Λες το τρέχον ωράριο: Δευτέρα έως Παρασκευή 8:00-18:00, Σαββατοκύριακο
  9:00-15:00.
- Στο τέλος της παραγγελίας την επαναλαμβάνεις ολόκληρη και επιβεβαιώνεις
  την ώρα παραλαβής (το νωρίτερο σε 15 λεπτά από τώρα).

ΤΙ ΔΕΝ ΚΑΝΕΙΣ ΠΟΤΕ
- Δεν επινοείς τιμές ή προϊόντα που δεν υπάρχουν στον κατάλογο - πες ότι
  την ακριβή τιμή θα την επιβεβαιώσει το προσωπικό στο κατάστημα.
- Δεν υπόσχεσαι διανομή, το καφέ δεν κάνει διανομή.
- Δεν προσποιείσαι ποτέ ότι είσαι άνθρωπος όταν ο πελάτης σε ρωτήσει
  ευθέως - πες ότι είσαι ο φωνητικός βοηθός του καφέ.

ΠΩΣ ΝΑ ΤΕΛΕΙΩΣΕΙΣ ΤΗΝ ΚΛΗΣΗ
Σύνοψισε την παραγγελία και την ώρα παραλαβής, ευχήσου καλή ημέρα και
τερμάτισε την κλήση. Αν ο πελάτης θέλει κάτι που δεν μπορείς να λύσεις
(παράπονο, catering), πες του να καλέσει ξανά μέσα στο ωράριο και να μιλήσει
απευθείας με τον ιδιοκτήτη.

Έρευνα ικανοποίησης

text
Καλείς εκ μέρους του e-shop Botanika για μια σύντομη έρευνα ικανοποίησης
μετά από πρόσφατη παραγγελία. Είσαι ευγενική, πας κατευθείαν στο θέμα και δεν
τραβάς την κλήση άσκοπα.

ΤΙ ΜΠΟΡΕΙΣ ΝΑ ΚΑΝΕΙΣ
- Ρωτάς αν ο πελάτης έχει ένα λεπτό για τρεις σύντομες ερωτήσεις.
- Ερώτηση 1: Πώς θα βαθμολογούσε την ικανοποίησή του από την παραγγελία σε
  κλίμακα 1-5.
- Ερώτηση 2: Έφτασε το δέμα εγκαίρως;
- Ερώτηση 3: Υπάρχει κάτι που θα μπορούσαμε να βελτιώσουμε;
- Θυμάσαι τις απαντήσεις και στο τέλος της κλήσης τις συνοψίζεις σύντομα.

ΤΙ ΔΕΝ ΚΑΝΕΙΣ ΠΟΤΕ
- Δεν πιέζεις τον πελάτη όταν αρνηθεί ή πει ότι δεν έχει χρόνο - αποχαιρετάς
  αμέσως ευγενικά.
- Δεν χειρίζεσαι παράπονα ή επιστροφές προϊόντων - αυτά ανήκουν στη γραμμή
  εξυπηρέτησης πελατών, τον αριθμό της οποίας υπαγορεύεις στον πελάτη αν τον
  ζητήσει.
- Δεν προσφέρεις εκπτώσεις ή κουπόνια, δεν έχεις εξουσιοδότηση γι' αυτό.

ΠΩΣ ΝΑ ΤΕΛΕΙΩΣΕΙΣ ΤΗΝ ΚΛΗΣΗ
Ευχαρίστησε για τον χρόνο και τα σχόλια, ευχήσου καλή ημέρα. Αν ο πελάτης
πει οποιαδήποτε στιγμή ότι δεν θέλει να συνεχίσει, τερμάτισε αμέσως και
ευγενικά την κλήση χωρίς άλλες ερωτήσεις.

Θυρωρείο / γραμματεία

text
Είσαι το φωνητικό θυρωρείο της εταιρείας Nordwex σε ένα κτίριο γραφείων
στο Pankrác. Σε αυτόν τον αριθμό δηλώνονται κούριερ, επισκέπτες και προμηθευτές.

ΤΙ ΜΠΟΡΕΙΣ ΝΑ ΚΑΝΕΙΣ
- Μαθαίνεις ποιος καλεί και για ποιον σκοπό (κούριερ με δέμα, επισκέπτης για
  συνάντηση, προμηθευτής).
- Στον επισκέπτη ζητάς το όνομα και με ποιον έχει συνάντηση, του λες να
  δηλωθεί στη ρεσεψιόν στο ισόγειο και να περιμένει μέχρι να έρθει κάποιος
  να τον παραλάβει.
- Στον κούριερ λες να αφήσει το δέμα στη ρεσεψιόν και να γράψει εκεί το όνομα
  της εταιρείας και του παραλήπτη.
- Παίρνεις ένα σύντομο μήνυμα όταν ο καλούμενος δεν είναι διαθέσιμος.

ΤΙ ΔΕΝ ΚΑΝΕΙΣ ΠΟΤΕ
- Δεν δίνεις αριθμούς από τα προσωπικά κινητά των υπαλλήλων - προσφέρεις
  προώθηση στη ρεσεψιόν ή μήνυμα.
- Δεν αφήνεις κανέναν να ανέβει "μόνος του" - όλοι οι επισκέπτες περνούν από
  τη ρεσεψιόν.
- Δεν δίνεις πληροφορίες για το ποιος βρίσκεται στο κτίριο και πότε - πες ότι
  πρέπει να το επαληθεύσει στη ρεσεψιόν.

ΠΩΣ ΝΑ ΤΕΛΕΙΩΣΕΙΣ ΤΗΝ ΚΛΗΣΗ
Επανάλαβε τι συμφωνήθηκε (μήνυμα, αναμονή στη ρεσεψιόν, προώθηση), ευχήσου
καλή ημέρα και τερμάτισε την κλήση.

2Πρότυπα ανά κλάδο

Δεν θέλετε να γράψετε prompt από το μηδέν; Στον ιστότοπο υπάρχουν έτοιμα πρότυπα για έξι κλάδους (οδοντιατρείο, συνεργείο, εστιατόριο, e-shop, μεσιτικό γραφείο, τεχνίτες) - έτοιμο system prompt, δείγμα διαλόγου και παράδειγμα του κόστους μιας τέτοιας ρεσεψιονίστ. Αντιγράψτε και προσαρμόστε, όπως και τα πρότυπα παραπάνω.

Επισκόπηση προτύπων ανά κλάδο

3firstMessage

firstMessage είναι η πρώτη πρόταση που θα ακούσει ο πελάτης - στην εισερχόμενη κλήση αμέσως μετά την απάντηση, στην εξερχόμενη αμέσως μόλις σηκώσει ο καλούμενος το τηλέφωνο.

  • Σύντομη, προφορική γλώσσα - όπως θα το έλεγε ένας άνθρωπος, όχι όπως θα το έγραφε σε e-mail.
  • Πείτε αμέσως ποιος ή τι καλεί/απαντά - ο πελάτης πρέπει μέσα σε τρία δευτερόλεπτα να ξέρει με ποιον μιλά.
  • Τελειώστε με ανοιχτή ερώτηση («πώς μπορώ να βοηθήσω», «έχετε μια στιγμή») - όχι με μακρύ μονόλογο.
  • Διαβάστε το φωναχτά - ό,τι φαίνεται καλό γραπτά μπορεί να ακούγεται άχαρο όταν λέγεται.
  • Στις εξερχόμενες κλήσεις συστηθείτε αμέσως στην αρχή μαζί με τον λόγο της κλήσης - οι άνθρωποι δεν σηκώνουν ευχαρίστως άγνωστους αριθμούς.

4Εργαλεία

Ένα εργαλείο είναι μια διεύθυνση του API σας που ο πράκτορας καλεί στη μέση της κλήσης και χρησιμοποιεί αμέσως την απάντηση στον λόγο του. Χωρίς εργαλείο ο πράκτορας μπορεί μόνο να μιλά· με εργαλείο μπορεί να επαληθεύσει μια παραγγελία, να βρει ελεύθερο ραντεβού ή να καταχωρίσει κράτηση.

Τα εργαλεία δημιουργούνται στην πύλη στο /agent/nastroje (ή μέσω POST /v1/tools) και στη συνέχεια ενεργοποιούνται στον πράκτορα με το πλαίσιο επιλογής στις λεπτομέρειές του (στο API το πεδίο toolIds). Το εργαλείο ανήκει στον λογαριασμό, όχι στον πράκτορα - το ίδιο εργαλείο μπορούν έτσι να χρησιμοποιούν περισσότεροι πράκτορες. Ορίζετε σε αυτό τέσσερα πράγματα:

  • Όνομα - ευανάγνωστο («Επαλήθευση παραγγελίας»). Το όνομα για το μοντέλο προκύπτει από αυτό αυτόματα (overit_objednavku) και εμφανίζεται κάτω από το πεδίο.
  • Πότε πρέπει να το χρησιμοποιεί ο πράκτορας - το μόνο βάσει του οποίου το μοντέλο αποφασίζει να καλέσει το εργαλείο. Γράψτε το ως οδηγία: «Χρησιμοποίησέ το όταν ο καλών ρωτά πού βρίσκεται η παραγγελία του.»
  • Διεύθυνση και μέθοδο - μόνο https, δημόσια προσβάσιμη. Το GET στέλνει τις παραμέτρους στο query, το POST στο σώμα JSON. Επιπλέον κεφαλίδες, συνήθως Authorization.
  • Παραμέτρους - για καθεμία ορίζετε από πού προέρχεται η τιμή: την εξάγει το μοντέλο από την κλήση, συμπληρώνεται ο αριθμός του καλούντος ή ο καλούμενος αριθμός, ή είναι σταθερή τιμή.

Έτσι μοιάζει το αίτημα που φτάνει στο endpoint σας κατά τη διάρκεια της κλήσης:

http
POST https://api.tinefarmogi.gr/paraggelies
Content-Type: application/json
Authorization: Bearer to_kleidi_sas

{
  "arithmos_paraggelias": "A-42",
  "tilefono": "+306912345678"
}

Και έτσι η απάντηση με την οποία ο πράκτορας μπορεί να δουλέψει - ένα σύντομο JSON από το οποίο βγαίνει μία πρόταση:

json
{
  "katastasi": "apostalthike",
  "paradosi": "avrio to proi"
}

Δοκιμάστε το εργαλείο πριν το αποθηκεύσετε

Η φόρμα έχει το κουμπί Δοκιμή: στέλνει στη διεύθυνση που δώσατε ένα πραγματικό αίτημα με δείγματα τιμών και δείχνει την κατάσταση, τον χρόνο απόκρισης και την αρχή της απάντησης. Τίποτα δεν αποθηκεύεται. Αξίζει τον κόπο - ένα endpoint που απαντά αργά ο καλών το ακούει ως σιωπή στην κλήση.

Όρια: το πολύ 10 εργαλεία ανά λογαριασμό, 10 παράμετροι και 5 κεφαλίδες ανά εργαλείο, χρονικό όριο απάντησης από 5 έως 30 δευτερόλεπτα (προεπιλογή 20) - τόσο ακριβώς περιμένει ο πράκτορας την απάντηση και στο μεταξύ λέει μια φράση γεφύρωσης, ώστε ο καλών να μην ακούει σιωπή. Τις τιμές των κεφαλίδων σάς τις δείχνουμε πίσω μόνο συγκαλυμμένες (Bear***) - το πλήρες κείμενο δεν μπορεί να διαβαστεί από τον λογαριασμό.

Πύλη συναίνεσης σε εργαλείο που κάτι αποστέλλει

Σε εργαλείο με παρενέργεια (στέλνει SMS, δημιουργεί αίτημα) ενεργοποιήστε με το πεδίο requireConfirmation: true την πύλη συναίνεσης (POST και PATCH /v1/tools, στο MCP create_tool και update_tool). Ο ιδιόκτητος φωνητικός κινητήρας του volai εκτελεί τότε το εργαλείο μόνο όταν η τελευταία ατάκα του καλούντος λέει ξεκάθαρα ναι. Σε ασαφή απάντηση («Εμπρός», «Ναι;», «Ναι, αλλά αργότερα») το εργαλείο δεν εκτελείται, ο πράκτορας λαμβάνει οδηγία να ρωτήσει ξανά και ο τερματισμός της κλήσης στον ίδιο γύρο αναβάλλεται. Η προεπιλογή είναι απενεργοποιημένο.

Ισχύει μόνο για πράκτορα στον ιδιόκτητο κινητήρα στα τσεχικά ή σλοβακικά: ο κινητήρας γνωρίζει τις λέξεις συναίνεσης μόνο σε αυτές τις δύο γλώσσες (σε en, de και pl θα μπλόκαρε ακόμη και ένα σαφές «Yes»), οπότε το πεδίο αγνοείται σε πράκτορα άλλης γλώσσας και το ElevenLabs δεν το χρησιμοποιεί. Το εργαλείο ανήκει στον λογαριασμό και το μοιράζονται περισσότεροι πράκτορες, γι' αυτό η αποθήκευσή του δεν απορρίπτεται λόγω γλώσσας. Η πύλη διαβάζει μόνο την τελευταία ατάκα και δεν γνωρίζει την ερώτηση του πράκτορα: πιάνει την ασαφή συναίνεση, όχι κάθε «Ναι» που ειπώθηκε ως απάντηση σε άλλη ερώτηση. Η αλλαγή του εργαλείου φτάνει σε πράκτορα που ήδη τρέχει στον κινητήρα μόνο με την επόμενη αποθήκευση ή δημοσίευσή του - η επεξεργασία του εργαλείου δεν ξαναγράφει μόνη της τους πράκτορες. Σε τρέχουσα καμπάνια εξαρτάται από τον τρόπο: η εκ νέου δημοσίευση δοκιμασμένου προσχεδίου χωρίς αλλαγές διατηρεί τη σήμανση «δοκιμασμένο», η εργασία συνεχίζει, αλλά πλέον με πύλη που η δοκιμή δεν κάλυψε· η άμεση αποθήκευση του πράκτορα (PATCH /v1/agents/{id}) ακυρώνει τη σήμανση και η εργασία σταματά με κωδικό agent_version_changed. Προγραμματίστε λοιπόν την ενεργοποίηση της πύλης εκτός τρέχουσας καμπάνιας και δοκιμάστε την καμπάνια ξανά μετά.

Στην πύλη ενεργοποιείτε την πύλη συναίνεσης με τον διακόπτη Απαίτηση σαφούς συναίνεσης του καλούντος στον επεξεργαστή του εργαλείου (/agent/nastroje). Ισχύουν τα ίδια όσα περιγράφονται παραπάνω· σε πράκτορα που ήδη τρέχει στον κινητήρα η αλλαγή φτάνει με το κουμπί Δημοσίευση στις λεπτομέρειές του.

5Προώθηση σε άνθρωπο

Ο πράκτορας μπορεί να περάσει την κλήση στον αριθμό σας όταν ο καλών ζητήσει άνθρωπο ή συναντήσει κάτι που ο πράκτορας δεν μπορεί να λύσει. Ενεργοποιείται στις λεπτομέρειες του πράκτορα (στο API το πεδίο transferTo), τη συνθήκη τη γράφετε ως οδηγία προς το μοντέλο στο transferCondition. Χωρίς αυτήν βάζουμε μια προεπιλεγμένη πρόταση.

Στον ιδιόκτητο φωνητικό κινητήρα του volai

Στον ιδιόκτητο φωνητικό κινητήρα του volai η προώθηση γίνεται με γέφυρα: ο πράκτορας λέει ότι σας συνδέει, ο καλών ακούει το κουδούνισμα και ο άνθρωπος στον αριθμό σας βλέπει τον αριθμό του πράκτορα. Μόλις σηκώσετε, ο πράκτορας σωπαίνει και η κλήση συνεχίζεται μεταξύ σας μέσω του volai. Αν κάποιος από εσάς κλείσει, η κλήση τελειώνει και για τους δύο. Αν δεν σηκώσετε μέσα σε 25 δευτερόλεπτα, ο πράκτορας ζητά συγγνώμη από τον καλούντα, προσφέρει να αφήσει μήνυμα και συνεχίζει.

Δύο πράγματα που πρέπει να γνωρίζετε εκ των προτέρων

Τη σύνοψη της κλήσης δεν τη μεταφέρουμε στον άνθρωπο. Ο καλών θα ακούσει ότι τον προωθούμε, αλλά ο χειριστής στην άλλη πλευρά σηκώνει κατευθείαν τον καλούντα - δεν υπάρχει «warm transfer» όπου ο πράκτορας θα συνόψιζε πρώτα περί τίνος πρόκειται, μέσω του τηλεφωνικού δικτύου δεν μπορούμε να το κάνουμε. Λάβετε το υπόψη στις οδηγίες: ο πράκτορας να πει στον καλούντα ότι θα χρειαστεί να επαναλάβει το θέμα.

Η προώθηση είναι κανονική εξερχόμενη κλήση και έτσι χρεώνεται: 0,92 kr/min από την απάντηση μέχρι το κλείσιμο, χωρίς προσαύξηση πράκτορα (ο πράκτορας δεν βρίσκεται πια σε αυτό το σκέλος). Στο ιστορικό κλήσεων την αναγνωρίζετε από τον τύπο transfer και στις λεπτομέρειες της αρχικής κλήσης θα βρείτε την κάρτα Προώθηση με σύνδεσμο προς αυτό το σκέλος. Το εισερχόμενο σκέλος συνεχίζει και χρεώνεται ξεχωριστά.

Τυπική πλατφόρμα (ElevenLabs)

Στην τυπική πλατφόρμα (ElevenLabs) η προώθηση δεν λειτουργεί - ο πάροχος δεν ολοκληρώνει την προώθηση SIP. Μετά την ενεργοποίηση της προώθησης το volai προσπαθεί αμέσως μετά την αποθήκευση να μεταφέρει τον πράκτορα στον ιδιόκτητο φωνητικό κινητήρα. Η προσπάθεια μπορεί να είναι σε παύση, ο κινητήρας μη διαθέσιμος ή η εναλλαγή να αποτύχει· γι' αυτό επαληθεύστε με το πεδίο provider που επιστρέφεται ότι ο πράκτορας πράγματι τρέχει στον κινητήρα. Όσο παραμένει στο ElevenLabs, η προώθηση δεν λειτουργεί. Με επιτυχή εναλλαγή μπορεί να αλλάξει η φωνή του πράκτορα, η προεπιλεγμένη φωνή του κινητήρα είναι η Milena.

Προώθηση σε δικό σας αριθμό volai δεν γίνεται - η κλήση θα επέστρεφε στον εαυτό της μέχρι να εξαντληθεί το υπόλοιπο. Οι γραμμές premium (90x) απαγορεύονται για τον ίδιο λόγο.

Ο πράκτορας που χρησιμοποιεί αριθμός για κλήσεις και SMS προωθεί μόνο σε τσεχικούς αριθμούς (+420): οι κλήσεις από αυτόν τον αριθμό πηγαίνουν μόνο σε τσεχικούς αριθμούς, γι' αυτό ένας αριθμός προώθησης εκτός +420 δεν αποθηκεύεται σε τέτοιον πράκτορα και το API επιστρέφει destination_not_allowed.

6Τι να καταγράφεται από την κλήση

Αντί να διαβάζετε ολόκληρη την απομαγνητοφώνηση, μπορείτε να ορίσετε τι ακριβώς θέλετε από την κλήση - όνομα, αριθμό τεμαχίων, αν το θέμα είναι επείγον. Ο πράκτορας το συμπληρώνει μετά την κλήση και εσείς το λαμβάνετε ως JSON.

Κάθε πεδίο έχει κλειδί, τύπο και περιγραφή. Το πολύ δέκα πεδία ανά πράκτορα:

  • Κλειδί (key) - μικρά λατινικά γράμματα χωρίς τόνους, ψηφία και κάτω παύλες, έως 40 χαρακτήρες - πρέπει να ξεκινά με μικρό γράμμα. Με αυτό το όνομα θα βρείτε την τιμή στο αποτέλεσμα.
  • Τύπος (type) - string, number ή boolean.
  • Περιγραφή (description) - τι ακριβώς πρέπει να εξάγει το μοντέλο, 5 έως 500 χαρακτήρες. Γράψτε και τι να κάνει αν δεν ειπωθεί στην κλήση.
  • Επιλογές (enumValues) - προαιρετική απαρίθμηση, μόνο σε πεδίο κειμένου. Το μοντέλο τότε επιλέγει μόνο από τις προσφερόμενες τιμές, οπότε το αποτέλεσμα μπορεί να φιλτραριστεί αμέσως. Το πολύ 20 επιλογές, καθεμία έως 60 χαρακτήρες.
bash
curl -X PATCH "$VOLAI_URL/v1/agents/ag_kx91fa2b" \
  -H "Authorization: Bearer vk_TO_KLEIDI_SAS" \
  -H "Content-Type: application/json" \
  -d '{
    "dataFields": [
      {"key": "onoma", "type": "string", "description": "Το όνομα του καλούντος, όπως το είπε ο ίδιος. Αν δεν ειπώθηκε, άφησέ το κενό."},
      {"key": "arithmos_kafedon", "type": "number", "description": "Πόσους καφέδες παρήγγειλε ο καλών."},
      {"key": "epigon", "type": "string", "description": "Πόσο επείγον ήταν το θέμα.", "enumValues": ["xamilo", "kanoniko", "ypsilo"]}
    ]
  }'

Το αποτέλεσμα εμφανίζεται σε τρία σημεία: στις λεπτομέρειες της κλήσης στην πύλη ως κάρτα «Καταγεγραμμένα στοιχεία», στο πεδίο data της κλήσης (GET /v1/calls και GET /v1/calls/{id}) και στο σώμα του webhook call.completed.

json
{
  "call": {
    "id": "c_8f2ac1d4",
    "status": "completed",
    "hasRecording": true,
    "data": {
      "onoma": "Μαρία Παπαδοπούλου",
      "arithmos_kafedon": 2,
      "epigon": "kanoniko"
    }
  }
}

Η τιμή null σημαίνει «δεν ειπώθηκε στην κλήση» - το ίδιο ισχύει όταν το μοντέλο απαντά με κενό κείμενο. Αν δεν έχετε ορίσει πεδία στον πράκτορα, το κλειδί data δεν υπάρχει καθόλου στην απάντηση.

7Στόχος του πράκτορα και αξιολόγηση

Ο στόχος είναι μία πρόταση για το τι πρέπει να επιτύχει η κλήση - «να κλειστεί ραντεβού για επίσκεψη», «να διαπιστωθεί αν ο πελάτης ενδιαφέρεται για την προσφορά». Τον συμπληρώνετε στην πύλη στο πεδίο «Στόχος του πράκτορα» (κατά τη δημιουργία του πράκτορα και οποτεδήποτε αργότερα στην επεξεργασία του) ή μέσω REST API και MCP με το πεδίο goal στα POST/PATCH /v1/agents και create_agent/update_agent (το πολύ 300 χαρακτήρες).

Ο στόχος πηγαίνει στον πράκτορα ως κριτήριο αξιολόγησης της κλήσης: μετά το τέλος της κλήσης το μοντέλο διαβάζει πάνω σε αυτόν την απομαγνητοφώνηση και αποφασίζει αν ο στόχος επιτεύχθηκε, δεν επιτεύχθηκε ή δεν μπορεί να κριθεί από την κλήση. Το αποτέλεσμα το βλέπετε στην κλήση στην πύλη - στις λεπτομέρειες και στη λίστα κλήσεων - καθώς και στο e-mail μετά την κλήση, δίπλα στη σύνοψη.

Είναι εκτίμηση του μοντέλου, όχι γεγονός

Η αξιολόγηση διαβάζει μόνο την απομαγνητοφώνηση της κλήσης, όχι όσα συνέβησαν μετά (αν ο πελάτης πράγματι εμφανίστηκε στο ραντεβού). Μια τίμια επιφύλαξη: ο στόχος του πράκτορα (goal) μπορεί να οριστεί και να διαβαστεί μέσω REST API και MCP, αλλά το ΑΠΟΤΕΛΕΣΜΑ της αξιολόγησης μιας συγκεκριμένης κλήσης παραμένει μόνο στην πύλη και στο e-mail μετά την κλήση - τα GET /v1/calls και get_call δεν το επιστρέφουν. Η αξιολόγηση τρέχει επιπλέον μόνο σε πράκτορες στον νέο φωνητικό κινητήρα του volai - σε ποια πλατφόρμα τρέχει ο πράκτορας το λέει το πεδίο provider (GET /v1/agents, list_agents και οι λεπτομέρειες του πράκτορα στην πύλη)· την εναλλαγή την αναλαμβάνει το volai. Οι παλαιότεροι πράκτορες που μένουν στην αρχική πλατφόρμα θα αξιολογούνται μόνο μετά τη μεταφορά τους σε αυτόν τον κινητήρα.

Τι γνωρίζει ο πράκτορας (υλικό)

Εκτός από οδηγίες μπορείτε να δώσετε στον πράκτορα υλικό - ωράριο, τιμοκατάλογο, συχνές ερωτήσεις. Το συμπληρώνετε στην πύλη στο πεδίο «Τι γνωρίζει ο πράκτορας» (ενότητα Για προχωρημένους), μέσω API με το πεδίο knowledge στα POST/PATCH /v1/agents. Το κείμενο προστίθεται στο τέλος του prompt, χωράει έως 20000 χαρακτήρες και ένα PATCH με κενή τιμή το διαγράφει. Σε αντίθεση με το εργαλείο, το υλικό δεν αλλάζει κατά τη διάρκεια της κλήσης - ό,τι αλλάζει (κατάσταση παραγγελίας, ελεύθερα ραντεβού) ανήκει στο εργαλείο, όχι εδώ.

8E-mail μετά την κλήση

Μετά το τέλος της κλήσης με πράκτορα το volai σάς στέλνει e-mail με σύνοψη και σύνδεσμο προς τις λεπτομέρειες της κλήσης στην πύλη - την ίδια σύνοψη που βλέπετε και στο API στο πεδίο summary. Έρχεται για πράκτορες που τρέχουν στον ιδιόκτητο φωνητικό κινητήρα του volai (πεδίο provider: "engine")· πράκτορας στο ElevenLabs (provider: "elevenlabs") δεν το λαμβάνει προς το παρόν.

Τον διακόπτη «E-mail μετά από κάθε κλήση» θα βρείτε στη σελίδα Ρυθμίσεις - απενεργοποιώντας τον το σταματάτε για ολόκληρο τον λογαριασμό ταυτόχρονα. Σε έναν μεμονωμένο πράκτορα τον απενεργοποιείτε ξεχωριστά με το πλαίσιο επιλογής «Να λαμβάνω e-mail μετά από κάθε κλήση» στις λεπτομέρειές του (στο API το πεδίο notifyEmail: false). Ανά κλήση έρχεται το πολύ ένα e-mail και μια κλήση από την οποία δεν υπάρχει τίποτα να αναφερθεί (καμία σύνοψη, κανένα καταγεγραμμένο στοιχείο ή λόγος τερματισμού) δεν ενεργοποιεί e-mail.

9Ηχογραφήσεις

Οι κλήσεις του πράκτορα ηχογραφούνται και στην πύλη τις ακούτε κατευθείαν στις λεπτομέρειες της κλήσης - κάνοντας κλικ στην απομαγνητοφώνηση μετακινείστε στο σωστό σημείο της ηχογράφησης. Για λήψη ή αναπαραγωγή αλλού υπάρχει το GET /v1/calls/{id}/recording (το ίδιο κλειδί API) - τη μορφή καθορίζει η κεφαλίδα content-type της απάντησης: για πράκτορα στο ElevenLabs audio/mpeg (MP3), για πράκτορα στον κινητήρα του volai σήμερα audio/ogg. Αν η κλήση έχει ηχογράφηση, το λέει το πεδίο hasRecording.

  • Τις φυλάσσουμε 90 ημέρες από την κλήση, μετά διαγράφονται. Την απομαγνητοφώνηση και τη σύνοψη τις κρατάμε ξεχωριστά και δεν διαγράφονται μαζί με την ηχογράφηση. Μετά από ενενήντα ημέρες το endpoint επιστρέφει recording_expired.
  • Μπορεί να απενεργοποιηθεί σε κάθε πράκτορα ξεχωριστά - με διακόπτη στις λεπτομέρειές του, στο API με το πεδίο recordCalls: false. Ηχογράφηση δεν δημιουργείται στις κλήσεις που ξεκινούν από εκείνη τη στιγμή· μια κλήση που ήδη χτυπά ή βρίσκεται σε εξέλιξη ακολουθεί τη ρύθμιση της στιγμής που ξεκίνησε (η εξερχόμενη της στιγμής της κλήσης), άρα θα ηχογραφηθεί ακόμη.
  • Ηχογραφούνται μόνο οι κλήσεις του ενσωματωμένου πράκτορα. Η άμεση σύνδεση δύο αριθμών (bridge), το relay και η κλήση μέσω SIP δεν ηχογραφούνται.

Για την ενημέρωση του καλούντος ευθύνεστε εσείς

Η ηχογράφηση μιας κλήσης είναι επεξεργασία προσωπικών δεδομένων. Τον καλούντα ο πράκτορας δεν τον ενημερώνει μόνος του - αν θέλετε, ενεργοποιήστε στον πράκτορα την επιλογή «Να λέγεται στον καλούντα ότι η κλήση ηχογραφείται» (στο API recordingNotice: true) και το volai θα προσθέτει στην πρώτη πρόταση του πράκτορα μια σύντομη φράση ότι η κλήση ηχογραφείται. Εξίσου καλά μπορείτε να το γράψετε απευθείας στην πρώτη πρόταση. Για το ότι η ενημέρωση συμμορφώνεται με τη νομοθεσία που ισχύει για την περίπτωσή σας ευθύνεστε εσείς ως υπεύθυνος επεξεργασίας προσωπικών δεδομένων.

Κάθε σφάλμα του API φέρει cause (ποιος το διορθώνει) και action (τι να γίνει) - δείτε Μορφή σφαλμάτων στην αναφορά REST API.

10Όρια

  • Η κλήση διαρκεί το πολύ 10 λεπτά (600 δευτερόλεπτα), μετά την τερματίζει ο ίδιος ο πράκτορας.
  • Όταν ο καλών σωπαίνει 20 δευτερόλεπτα, ο πράκτορας το θεωρεί τέλος της κλήσης και κλείνει.
  • Η απόκριση του πράκτορα είναι περίπου 1 δευτερόλεπτο από τη στιγμή που τελειώνετε τη φράση σας - στην πραγματική λειτουργία κυμαίνεται ελαφρά ανάλογα με το φορτίο.

11Γλώσσες

Ο πράκτορας μπορεί να μιλά πέντε γλώσσες - τσεχικά (προεπιλογή), σλοβακικά, αγγλικά, γερμανικά και πολωνικά - τη γλώσσα την ορίζετε στις λεπτομέρειες του πράκτορα (πεδίο language στα POST/PATCH /v1/agents, create_agent/update_agent) - φωνή για κάθε γλώσσα ξεχωριστά (Cartesia) έχει μόνο ο ιδιόκτητος φωνητικός κινητήρας του volai (δείτε παρακάτω την ενότητα Φωνές), ο πράκτορας στο ElevenLabs μιλά στην επιλεγμένη γλώσσα με τη φωνή Anet.

12Δοκιμαστική κλήση

Το κουμπί «Καλέστε με για δοκιμή» στις λεπτομέρειες του πράκτορα στην πύλη ξεκινά μια πραγματική κλήση από τον πράκτορα προς τον αριθμό που θα δώσετε - ένας γρήγορος τρόπος να ελέγξετε πώς ακούγεται ο πράκτορας και πώς αντιδρά στο system prompt σας, χωρίς να χρειάζεται να καλέσετε χειροκίνητα τον αριθμό του.

Χρεώνεται όπως μια κανονική εξερχόμενη κλήση με πράκτορα, μαζί με την προσαύξηση πράκτορα (δείτε παρακάτω την ενότητα Τιμές) - χωρίς έκπτωση ή ειδική τιμή.

Ο πράκτορας στον ιδιόκτητο φωνητικό κινητήρα του volai χειρίζεται τη δοκιμαστική κλήση ακόμη και χωρίς δικό του τηλεφωνικό αριθμό - χρησιμοποιείται η κοινή γραμμή του volai, οπότε ο καλούμενος βλέπει στην οθόνη τον αριθμό του volai, όχι του πράκτορα. Ο πράκτορας στο ElevenLabs χωρίς δικό του αριθμό δεν μπορεί να ξεκινήσει δοκιμαστική κλήση μέχρι να του αντιστοιχίσετε αριθμό.

Το πολύ 3 προσπάθειες δοκιμαστικής κλήσης την ημέρα ανά λογαριασμό, συνολικά για όλους τους πράκτορες - μετράει κάθε προσπάθεια που πράγματι κλήθηκε, ακόμη και αν δεν την σήκωσε κανείς· μια προσπάθεια που απέτυχε πριν την κλήση (ανεπαρκές υπόλοιπο, κατειλημμένη γραμμή) δεν προσμετράται στο όριο. Οι κανονικές κλήσεις μέσω POST /v1/calls δεν έχουν αυτό το αυστηρότερο όριο.

13Φωνές

Η επιλογή παρόχου κατά τη δημιουργία έχει τρεις καταστάσεις: το useForOutboundTasks: true στο POST /v1/agents ή στο create_agent επιλέγει τον ιδιόκτητο φωνητικό κινητήρα του volai, το false ξεκινά στην τυπική πλατφόρμα (ElevenLabs) ακόμη και αν ταυτόχρονα ορίσετε προώθηση, και ένα πεδίο που παραλείπεται χρησιμοποιεί την τρέχουσα προεπιλογή της εγκατάστασης, η οποία εξαρτάται από την ενεργοποίηση του κινητήρα και τις επιτρεπόμενες γλώσσες. Μόνο το cs ή sk δεν εγγυάται τον κινητήρα· με απενεργοποιημένο προεπιλεγμένο κινητήρα ο πράκτορας δημιουργείται στο ElevenLabs. Όταν ένα ρητό false υπερισχύσει του προεπιλεγμένου κινητήρα της γλώσσας, η απάντηση δημιουργίας φέρει την προειδοποίηση elevenlabs_by_explicit_choice· πράκτορα μόνο για εισερχόμενες κλήσεις δημιουργήστε λοιπόν χωρίς το πεδίο. Όταν ενεργοποιήσετε transferTo σε πράκτορα στο ElevenLabs, το volai προσπαθεί μετά την αποθήκευση να τον μεταφέρει στον κινητήρα. Η προσπάθεια μπορεί να είναι σε παύση, μη διαθέσιμη ή να αποτύχει, γι' αυτό επαληθεύστε πάντα το αποτέλεσμα: στο REST με ένα επόμενο GET /v1/agents/{id}, στο MCP στον πράκτορα που επιστρέφεται. Ποια πλατφόρμα χρησιμοποιεί ο πράκτορας το λέει το πεδίο provider· όσο παραμένει στο ElevenLabs, η προώθηση δεν λειτουργεί. Με επιτυχία μπορεί να αλλάξει η φωνή. Την ίδια προσπάθεια ενεργοποιεί η αλλαγή του language σε πράκτορα στο ElevenLabs από γλώσσα στην οποία οι νέοι πράκτορες δημιουργούνται στο ElevenLabs (σήμερα en, de, pl) σε γλώσσα στην οποία δημιουργούνται στον κινητήρα (cs, sk)· ο πράκτορας τότε λαμβάνει την προεπιλεγμένη φωνή του κινητήρα για τη νέα γλώσσα (Milena, Katarina). Η αλλαγή ανάμεσα σε cs και sk δεν μετακινεί τίποτα. Διαφορετικά ανάμεσα στις πλατφόρμες εναλλάσσει το volai (υποστήριξη). Ο πράκτορας στο ElevenLabs δέχεται μόνο katty ή ακατέργαστο voice id του ElevenLabs· οι υπόλοιπες φωνές του καταλόγου λειτουργούν μόνο στον κινητήρα.

Το voiceId στα create_agent/update_agent (και το ομώνυμο πεδίο στα POST/PATCH /v1/agents) επιλέγει τη φωνή του πράκτορα. Η μη φιλτραρισμένη λίστα GET /v1/voices (MCP list_voices χωρίς το όρισμα provider) δεν δείχνει τη φωνή ElevenLabs katty - το REST την επιστρέφει μόνο με ?provider=elevenlabs, το MCP με το όρισμα provider: "elevenlabs". Οι φωνές Cartesia (Milena, Jan και φωνές άλλων γλωσσών) είναι για πράκτορες στον ιδιόκτητο κινητήρα του volai, η Katty για πράκτορες στο ElevenLabs (για το σε ποια πλατφόρμα τρέχει ο πράκτορας υπάρχει η σημείωση παραπάνω). Η παλαιότερη φωνή anet παραμένει μόνο σε πράκτορες που ήδη την έχουν - το ElevenLabs δεν την αναθέτει σε νέους πράκτορες από τις 12. 9. 2026 και το volai απορρίπτει τέτοιο αίτημα με εξήγηση. Κατά τη δημιουργία με ρητό useForOutboundTasks: true μια γνωστή φωνή που ο κινητήρας δεν υποστηρίζει, συμπεριλαμβανομένης της katty, αντικαθίσταται από την προεπιλεγμένη φωνή του κινητήρα για την επιλεγμένη γλώσσα· αν ο κινητήρας επιλεγεί μόνο από την προεπιλεγμένη ρύθμιση όταν το πεδίο παραλείπεται, η ίδια ασύμβατη φωνή απορρίπτεται. Ένα ακατέργαστο ID του ElevenLabs ο κινητήρας το απορρίπτει πάντα. Χωρίς voiceId ο πράκτορας λαμβάνει την προεπιλεγμένη φωνή του παρόχου του - στον κινητήρα τη Milena, στο ElevenLabs τη φωνή του προτύπου (Katty).

Ο κατάλογος προσφέρει για κάθε γλώσσα τουλάχιστον μία γυναικεία και μία ανδρική φωνή (στα τσεχικά σήμερα τέσσερις): cs: Milena, Jan, Tereza, Marek; sk: Katarina, Peter; en: Skylar, Daniel; de: Alina, Lukas; pl: Ewa, Kacper; nl: Ariel, Alexander; pt: Christine, Filipe; sl: Sarah, Daniel; ro: Mikidutza, Oliver; da: Isabella, Søren; et: Alice, Chris; lv: Matilda, George; bg: Yoana, Peter K; fi: Soili, Jussi; el: Crhysa, Iordanis; fr: Natasha, Max; it: Rossana, Marco; hu: Zsófia, Gábor; lt: Sarah, Daniel; sv: Sanna, Filip; hr: Ivana, Davor. Η πύλη προσφέρει μόνο φωνές της επιλεγμένης γλώσσας του πράκτορα - αλλάζουν μαζί (δείτε παραπάνω την ενότητα Γλώσσες).

Όλες οι φωνές του πίνακα ανήκουν στον ιδιόκτητο φωνητικό κινητήρα του volai. Σε πράκτορα στο ElevenLabs το API τις απορρίπτει με σφάλμα 400 - αυτός παίρνει από τον κατάλογο μόνο την katty (κρυμμένη στη μη φιλτραρισμένη λίστα) και ακατέργαστο voice id του ElevenLabs.

idΠεριγραφήΔείγμα
milenaMilena - The default volai voice - calm and natural, a good fit for most agents.
janJan - The male counterpart to Milena - matter-of-fact, easy-to-follow delivery.
terezaTereza - The second female voice - professional, well-structured delivery.
marekMarek - The second male voice - calm, resonant delivery for longer calls.
katarinaKatarina - Slovak female voice - calm, natural delivery.
peterPeter - Slovak male voice - matter-of-fact, easy-to-follow delivery.
skylarSkylar - English female voice - calm, friendly delivery.
danielDaniel - English male voice - matter-of-fact, confident delivery.
alinaAlina - German female voice - calm, warm delivery.
lukasLukas - German male voice - matter-of-fact, easy-to-follow delivery.
ewaEwa - Polish female voice - calm, natural delivery.
kacperKacper - Polish male voice - matter-of-fact, confident delivery.
arielAriel - Dutch female voice - natural conversational delivery.
alexanderAlexander - Dutch male voice - warm, natural delivery.
christineChristine - Portuguese female voice - relaxed conversational delivery.
filipeFilipe - Portuguese male voice - natural, expressive delivery.
mikidutzaMikidutza - Romanian female voice - clear, friendly delivery.
oliverOliver - Romanian male voice - matter-of-fact, clear delivery.
isabellaIsabella - Danish female voice - warm, calm delivery.
sorenSøren - Danish male voice - clear, confident delivery.
yoanaYoana - Bulgarian female voice - fresh, engaging delivery.
peterkPeter K - Bulgarian male voice - warm, smooth delivery.
soiliSoili - Finnish female voice - neutral, light delivery.
jussiJussi - Finnish male voice - strong, lively delivery.
crhysaCrhysa - Greek female voice - professional, lively delivery.
iordanisIordanis - Greek male voice - natural conversational delivery.
natashaNatasha - French female voice - soft, conversational delivery.
maxMax - French male voice - charismatic, friendly delivery.
rossanaRossana - Italian female voice - warm conversational delivery.
marcoMarco - Italian male voice - charismatic, friendly delivery.
zsofiaZsófia - Hungarian female voice - soft, inviting delivery.
gaborGábor - Hungarian male voice - warm, natural, confident delivery.
sannaSanna - Swedish female voice - direct, natural delivery.
filipFilip - Swedish male voice - energetic, expressive delivery.
ivana-hrIvana - Croatian female voice - lively, friendly delivery.
davorDavor - Croatian male voice - natural conversational delivery.
sarah-slSarah - Slovenian female voice - calm, confident delivery (multilingual voice, the model drives the pronunciation).
daniel-slDaniel - Slovenian male voice - steady, broadcaster-style delivery (multilingual voice, the model drives the pronunciation).
alice-etAlice - Estonian female voice - clear, engaging delivery (multilingual voice, the model drives the pronunciation).
chris-etChris - Estonian male voice - down-to-earth, charming delivery (multilingual voice, the model drives the pronunciation).
matilda-lvMatilda - Latvian female voice - knowledgeable, professional delivery (multilingual voice, the model drives the pronunciation).
george-lvGeorge - Latvian male voice - warm, captivating delivery (multilingual voice, the model drives the pronunciation).
sarah-ltSarah - Lithuanian female voice - calm, confident delivery (multilingual voice, the model drives the pronunciation).
daniel-ltDaniel - Lithuanian male voice - steady, broadcaster-style delivery (multilingual voice, the model drives the pronunciation).

Το voiceId δέχεται και ακατέργαστο ID του ElevenLabs, αλλά μόνο για πράκτορα στην τυπική πλατφόρμα (provider: "elevenlabs"). Για πράκτορα στον κινητήρα χρησιμοποιήστε το id μιας φωνής από τον κατάλογο. Μια άγνωστη τιμή ή τιμή ασύμβατη με τον πάροχο επιστρέφει σφάλμα που απαριθμεί τις έγκυρες επιλογές.

14Στατιστικά

Οι λεπτομέρειες του πράκτορα στην πύλη δείχνουν τον αριθμό των κλήσεων που απαντήθηκαν, τη μέση και τη μεγαλύτερη διάρκειά τους και τον αριθμό των τελευταίων 30 ημερών - δεν υπάρχει ξεχωριστό API γι' αυτό, τους αριθμούς μπορείτε να τους υπολογίσετε και μόνοι σας πάνω στην έξοδο του GET /v1/calls.

15Τιμές

Ο φωνητικός πράκτορας χρεώνεται επιπλέον της τιμής της κλήσης, ανά δευτερόλεπτο - χωρίς στρογγυλοποίηση σε ολόκληρα λεπτά. Οι τιμές δεν περιλαμβάνουν ΦΠΑ, όπως όλος ο τιμοκατάλογος.

ΚατεύθυνσηΚλήσηΠράκτοραςΣύνολο
Εξερχόμενη0,92 kr/min (≈ 0,04 EUR)2,50 kr/min (≈ 0,10 EUR)3,42 kr/min (≈ 0,14 EUR)
Εισερχόμενη0,50 kr/min (≈ 0,02 EUR)2,50 kr/min (≈ 0,10 EUR)3,00 kr/min (≈ 0,13 EUR)

Αναλυτικός τιμοκατάλογος με παραδείγματα υπάρχει στη σελίδα Τιμοκατάλογος.

Προτιμάτε το δικό σας ElevenLabs, Vapi ή άλλη πλατφόρμα; Χωρίς προσαύξηση πράκτορα γίνεται μέσω δικού σας πράκτορα - δείτε Δικός σας πράκτορας.

16Απομαγνητοφωνήσεις και webhook

Μετά το τέλος της κλήσης παραλαμβάνετε την απομαγνητοφώνηση και τη σύνοψη μέσω GET /v1/calls/{id} (πεδία transcript και summary) - ή σας τις στέλνει το ίδιο το volai στο URL σας ως συμβάν call.completed, μόλις είναι έτοιμες. Τη μορφή της απομαγνητοφώνησης, την επαλήθευση υπογραφής και τη συμπεριφορά σε σφάλμα θα βρείτε στη σελίδα Webhooks.

Δεν θέλετε να περιμένετε webhook ούτε να κάνετε polling στο API; Στην πύλη κάθε πράκτορας έχει στις λεπτομέρειές του και μια επισκόπηση των τελευταίων κλήσεων με απομαγνητοφώνηση έτοιμη για ανάγνωση.

17Φωνητικός κινητήρας volai

Μέρος των πρακτόρων σήμερα τρέχει στον ιδιόκτητο φωνητικό κινητήρα του volai αντί για το ElevenLabs. Η εναλλαγή αλλάζει τη δρομολόγηση της κλήσης και μεταφέρει μαζί της ολόκληρη τη ρύθμιση του πράκτορα - οδηγίες, πρώτη πρόταση, πεδία καταγραφής, στόχο της κλήσης, γνώση, εργαλεία και προώθηση σε άνθρωπο. Τι αλλάζει με την εναλλαγή και τι όχι:

  • Φωνές ο πράκτορας που είχε επιλεγμένη φωνή ElevenLabs (Katty ή την παλαιότερη Anet) λαμβάνει μετά την εναλλαγή την προεπιλεγμένη φωνή του κινητήρα για τη γλώσσα του - στα τσεχικά τη Milena. Ο κινητήρας δεν προσφέρει φωνή ElevenLabs ως κύρια φωνή του, το ElevenLabs μένει σε αυτόν μόνο ως εφεδρεία για διακοπή της Cartesia. Στις ρυθμίσεις του πράκτορα επιλέγετε στη συνέχεια οποιαδήποτε άλλη φωνή του καταλόγου για τη γλώσσα του πράκτορα, στα τσεχικά π.χ. τον Jan. Μια φωνή που ο πράκτορας έχει ήδη από τον κατάλογο του κινητήρα δεν αλλάζει με την εναλλαγή.
  • Απόκριση παραμένει ίδια όπως στο ElevenLabs - περίπου 1 δευτερόλεπτο από τη στιγμή που τελειώνετε τη φράση σας.
  • Ηχογραφήσεις χωρίς αλλαγή - φυλάσσονται πάλι 90 ημέρες και απενεργοποιούνται με τον ίδιο τρόπο στις λεπτομέρειες του πράκτορα.
  • Ειδοποίηση ηχογράφησης χωρίς αλλαγή - αν έχετε ενεργοποιήσει στον πράκτορα τη φράση ηχογράφησης (`recordingNotice`), το volai και εδώ προσθέτει στην πρώτη πρόταση του πράκτορα μια σύντομη φράση ότι η κλήση ηχογραφείται (δείτε παραπάνω την ενότητα Ηχογραφήσεις). Χωρίς αυτή την επιλογή, ή με απενεργοποιημένη ηχογράφηση, η φράση δεν προστίθεται καθόλου.
  • Δήλωση ότι μιλά AI χωρίς αλλαγή - την πρώτη πρόταση τη στέλνουμε στον πάροχο όπως την γράψατε. Δεν την επιβάλλουμε: όταν λείπει η δήλωση ότι ο καλών μιλά με ψηφιακό βοηθό, απλώς σας το επισημαίνουμε (ευρωπαϊκός AI Act, άρθρο 50), η αποθήκευση δεν σταματά. Η ευθύνη για τη δήλωση παραμένει σε εσάς και στους δύο παρόχους εξίσου.
  • Εργαλεία και προώθηση κλήσης μεταφέρονται με τον πράκτορα - η επιτυχής εναλλαγή στέλνει στον κινητήρα και τα εργαλεία του και την ορισμένη προώθηση σε άνθρωπο, δεν χρειάζεται να τα ορίσετε ξανά. Στον ιδιόκτητο φωνητικό κινητήρα του volai η προώθηση λειτουργεί με γέφυρα (όπως περιγράφει παραπάνω το κεφάλαιο Προώθηση σε άνθρωπο) - η γέφυρα είναι επαληθευμένη στην κανονική λειτουργία και η πύλη δείχνει σε πράκτορα στον κινητήρα την πλήρη φόρμα προώθησης. Σε πράκτορα στην τυπική πλατφόρμα (ElevenLabs) η ενεργοποίηση της προώθησης ξεκινά αμέσως μετά την αποθήκευση προσπάθεια μεταφοράς στον ιδιόκτητο κινητήρα· επαληθεύστε το αποτέλεσμα στο πεδίο `provider`, γιατί σε παύση, μη διαθεσιμότητα του κινητήρα ή σφάλμα μπορεί να μείνει στο ElevenLabs και εκεί η προώθηση δεν λειτουργεί. Με επιτυχή μεταφορά η φωνή του μπορεί να αλλάξει στην προεπιλεγμένη φωνή του κινητήρα. Η μαζική μετάβαση αριθμών ανά κύματα παραλείπει γι' αυτό τους πράκτορες με ορισμένη προώθηση.
  • Τηλεφωνητής στις εξερχόμενες κλήσεις μπορεί να αναγνωρίσει μόνο ο ιδιόκτητος φωνητικός κινητήρας του volai - μέσα σε λίγα δευτερόλεπτα μετά την απάντηση καταλαβαίνει τον τηλεφωνητή αντί για άνθρωπο και ανάλογα με τη ρύθμιση απλώς τον επισημαίνει, κλείνει, ή περιμένει τον τόνο και διαβάζει μήνυμα. Ρυθμίζεται στις λεπτομέρειες του πράκτορα (μόνο πράκτορας στον κινητήρα), στο API και στο MCP με το πεδίο `voicemail`. Η λίστα κλήσεων τότε δείχνει σε εξερχόμενη κλήση που απάντησε τηλεφωνητής «Απάντησε τηλεφωνητής» αντί για το συνηθισμένο αποτέλεσμα. Η τυπική πλατφόρμα (ElevenLabs) δεν έχει ανίχνευση.
  • Υπενθύμιση στη σιωπή την αναπαράγει μόνο ο ιδιόκτητος φωνητικός κινητήρας του volai - όταν ο καλών σωπαίνει για πολλή ώρα, ο πράκτορας ρωτά μία φορά αν είναι ακόμη εκεί. Η ρύθμιση (ενεργό/ανενεργό, αριθμός δευτερολέπτων 3 έως 25) αποθηκεύεται και στους δύο παρόχους - σε πράκτορα στην τυπική πλατφόρμα (ElevenLabs) το πεδίο στις λεπτομέρειες του πράκτορα είναι γκριζαρισμένο και η τιμή ακούγεται μόνο μετά την εναλλαγή στον κινητήρα. Το δικό σας κείμενο της πρόσκλησης (`silencePromptText`, έως 80 χαρακτήρες, αντί του προεπιλεγμένου "Είστε εκεί;") αποθηκεύεται με τον ίδιο τρόπο.
  • Προστασία της πρώτης πρότασης μπορεί μόνο ο ιδιόκτητος φωνητικός κινητήρας του volai και μόνο στις εξερχόμενες κλήσεις: όσο παίζει η πρώτη πρόταση (ορισμένος αριθμός δευτερολέπτων, 0 έως 20), η σύντομη αντίδραση εκείνου που σήκωσε ("Εμπρός;", "Ναι;") δεν τη διακόπτει. Μια ατάκα του καλούμενου χωρίς διακόπτη (στοπ, όχι, στιγμή, αρκετά, περιμένετε) απορρίπτεται στο προστατευμένο παράθυρο: δεν διακόπτει την πρόταση, δεν υπάρχει στην απομαγνητοφώνηση και ο πράκτορας δεν αντιδρά σε αυτήν, ενώ με διακόπτη η πρόταση διακόπτεται πάντα. Το πεδίο `firstMessageProtectSecs` χωρίς επιβεβλημένη προεπιλεγμένη τιμή αποθηκεύεται και στους δύο παρόχους - σε πράκτορα στην τυπική πλατφόρμα (ElevenLabs) είναι γκριζαρισμένο στις λεπτομέρειες του πράκτορα και ακούγεται μόνο μετά την εναλλαγή στον κινητήρα. Στην απομαγνητοφώνηση της κλήσης η ατάκα του πράκτορα που διέκοψε ο καλών φέρει τη σήμανση `interrupted`.
  • Γέλιο του πράκτορα μόνο ο ιδιόκτητος φωνητικός κινητήρας του volai μπορεί να αντιδράσει με γέλιο όταν γελάσετε ή αστειευτείτε εσείς ή ο καλών - και μόνο σε τσεχική φωνή Cartesia (Milena, Jan και άλλες του καταλόγου). Η τυπική πλατφόρμα (ElevenLabs) δεν μπορεί καθόλου να γελάσει, ακόμη και αν ορίσετε το πεδίο. Στις ρυθμίσεις του πράκτορα επιλέγετε Αυτόματα (ο κινητήρας απενεργοποιεί μόνος του το γέλιο σε ευαίσθητα θέματα, π.χ. χρέη, υγειονομική περίθαλψη, δημόσιες υπηρεσίες ή γραφεία κηδειών), Ενεργό (υπερισχύει αυτής της ανίχνευσης) ή Ανενεργό. Η αλλαγή ισχύει από την επόμενη κλήση.

18Ημερολόγιο και ραντεβού

Ο πράκτορας στον ιδιόκτητο φωνητικό κινητήρα του volai μπορεί μέσα στην κλήση να βρει ελεύθερο ραντεβού στο Google ή Apple ημερολόγιό σας και να καταχωρίσει αμέσως τη συνάντηση - λέει στον καλούντα αν η ώρα είναι ελεύθερη, προτείνει τα πλησιέστερα ελεύθερα ραντεβού και μετά την επιβεβαίωση του ονόματος καταχωρίζει τη συνάντηση. Ενεργοποιείται στον επεξεργαστή του πράκτορα στην καρτέλα Ημερολόγιο: επιλέγετε τη σύνδεση (Δεδομένα και ενσωματώσεις), το συγκεκριμένο ημερολόγιο και τους κανόνες διαθεσιμότητας.

  • Κανόνες διαθεσιμότητας παράθυρα ανά ημέρα της εβδομάδας (πότε ο πράκτορας προσφέρει ραντεβού), διάρκεια συνάντησης, περιθώριο ανάμεσα στα ραντεβού, ελάχιστη προειδοποίηση πριν από την ώρα και ορίζοντας για το πόσο μπροστά ψάχνει ο πράκτορας. Τις προεπιλεγμένες τιμές τις συμπληρώνει ο ίδιος ο επεξεργαστής, μπορούν όμως να προσαρμοστούν για κάθε πράκτορα ξεχωριστά.
  • Ενσωματωμένα εργαλεία το ημερολόγιο χρησιμοποιεί δύο ενσωματωμένα εργαλεία, check_availability και book_appointment - σε αντίθεση με τα δικά σας εργαλεία από το κεφάλαιο Εργαλεία παραπάνω δεν δημιουργούνται χειροκίνητα, ενεργοποιούνται μόνα τους μαζί με το ημερολόγιο και δεν προσμετρώνται στο όριο εργαλείων ανά λογαριασμό.
  • Μόνο ο ιδιόκτητος κινητήρας του volai λειτουργεί αποκλειστικά σε πράκτορα στον ιδιόκτητο φωνητικό κινητήρα του volai. Όταν ενεργοποιήσετε το ημερολόγιο σε πράκτορα στην τυπική πλατφόρμα (ElevenLabs), η ρύθμιση αποθηκεύεται και ο πράκτορας προσπαθεί αμέσως μετά την αποθήκευση να μεταβεί στον κινητήρα του volai - όπως και με την προώθηση σε άνθρωπο.
  • Τι λέει και τι δεν λέει ο πράκτορας ο πράκτορας δεν διαβάζει ποτέ ό,τι είναι γραμμένο στο ημερολόγιο - μόνο αν η συγκεκριμένη ώρα είναι ελεύθερη. Το τηλέφωνο του καλούντος γράφεται στο συμβάν μόνο όταν ο πράκτορας το γνωρίζει (κρυφός αριθμός σημαίνει συμβάν χωρίς τηλέφωνο).
  • Και εκτός κλήσης η ίδια αναζήτηση ελεύθερων ραντεβού και καταχώριση συνάντησης γίνεται και εκτός κλήσης μέσω REST (POST /v1/integrations/{id}/availability, POST /v1/integrations/{id}/events) και MCP (find_free_slots, create_calendar_event) - λεπτομέρειες στην ενότητα Ημερολόγια στην αναφορά REST API και στην αναφορά MCP.