Open in
Agentin vaiheet ja siirrot
Jaa agentti vaiheisiin, joilla on omat ohjeet, työkalut ja kerätyt arvot, ja siirrä puheluita agenttien välillä kesken puhelun.
Yksi kehote antaa mallille koko tehtävän kerralla. Vaiheet antavat sille yhden puhelun vaiheen kerrallaan: jokaisella vaiheella on omat ohjeensa, omat työkalunsa, valinnainen sanasta sanaan puhuttava repliikki ja arvot, jotka sen on kerättävä ennen etenemistä. Luovutusten avulla toinen organisaatiosi agentti voi ottaa puhelun haltuunsa kesken puhelun niin, että keskusteluloki säilyy eikä soittajan tarvitse toistaa itseään.
Jokainen agentti alkaa yhtenä kehotteena. Mikään siinä ei muutu, ennen kuin lisäät vaiheita tai luovutuksia.
Vaiheet vai yksi kehote?
| Käytä vaiheita, kun | Pidä yksi kehote, kun |
|---|---|
| Puhelussa on järjestyksessä toteutettavia vaiheita: varmista, sitten varaa. | Keskustelu on avoin: usein kysytyt kysymykset, vastaanotto, yleinen tuki. |
| Arvo on tallennettava ennen kuin agentti etenee. | Mitään ei tarvitse kerätä määrätyssä järjestyksessä. |
| Säännöstä ei saa koskaan poiketa, kuten "alle 18-vuotiaat soittajat ohjataan huoltajalle". | Mallin harkinta riittää jokaisessa haarassa. |
| Haku on suoritettava tietyssä kohdassa puhelua. | Työkaluja voidaan kutsua aina, kun soittaja pyytää. |
| Osa puhelusta kuuluu toiselle agentille, jolla on oma kehotteensa ja äänensä. | Yksi persoona hoitaa kaiken. |
Vaiheet eivät ole käsikirjoitettu puhelinvalikko. Vaiheen sisällä malli käy keskustelua samalla tavalla kuin yhden kehotteen kanssa. Vaihe määrittää, mitä se käsittelee, mitä työkaluja se voi käyttää ja mitä se tarvitsee ennen kuin siitä voi poistua.
Miten vaiheittainen agentti rakennetaan
Kun agentilla on vaiheita, sen prompt sisältää yhteiset ohjeet: persoonan ja
säännöt, jotka koskevat jokaista vaihetta. Jokainen vaihe lisää omat ohjeensa
niiden päälle. Jokaisella vuorolla malli näkee yhteiset ohjeet, nykyisen vaiheen
nimen ja ohjeet sekä tähän mennessä kerätyt arvot.
Vaihda rakentajassa agentti asetuksesta Yksi kehote asetukseen Vaiheet. Saat jokaiselle vaiheelle kortin, jossa näkyvät sen nimi, ohjeet, puhuttava repliikki, työkalut, kerätyt arvot ja siirtymät, luovutusten valitsimen sekä vaiheiden vain luku -tilassa olevan vuokaavion. Kun vaihdat takaisin yhteen kehotteeseen, saat litistetyn kehotteen, joka yhdistää yhteiset ohjeet ja kaikki vaiheet.
API:ssa steps ja handoffs ovat
agentin kenttiä. Kuten kaikki agentin kentät, PATCH
tallentaa ne luonnokseen; POST /v1/agents/{agent_id}/deploy julkaisee ne.
Lähettämällä "steps": null vaihdat agentin takaisin yhteen kehotteeseen.
Testipuhelut ja Keskustele käyttävät luonnosta.
Vaihekentät
| Kenttä | Merkitys |
|---|---|
id | Pakollinen. Pieniä kirjaimia, numeroita ja alaviivoja, alkaa kirjaimella, enintään 40 merkkiä. Yksilöllinen agentin sisällä. |
name | Pakollinen näyttönimi, 1–80 merkkiä. |
instructions | Pakollinen, enintään 20 000 merkkiä. Tukee {{var}} puhelumuuttujia, kuten prompt. |
say | Valinnainen sanasta sanaan puhuttava repliikki, kun vaiheeseen siirrytään, enintään 1 000 merkkiä. Tukee {{var}}. |
tools | null antaa vaiheelle kaikki agenttiin liitetyt työkalut. Luettelo rajoittaa vaiheen nimettyihin työkaluihin. Sisäänrakennetut toiminnot, kuten end_call ja transfer_call, noudattavat agentin asetuksia jokaisessa vaiheessa. |
collect | Enintään 20 arvoa, jotka vaihe kerää. Jokaisella on name, type, description ja required (oletusarvo true). |
on_enter_tool | Valinnainen työkalun nimi, jota kutsutaan automaattisesti vaiheeseen siirryttäessä. Katso Webhook-vaiheet. |
transitions | Järjestetty luettelo paikoista, joihin vaihe voi seuraavaksi siirtyä. Katso Siirtymät. |
global_when | Valinnainen. Tekee vaiheesta saavutettavan mistä tahansa vaiheesta. Katso Globaalit vaiheet. |
voice | Valinnainen äänen tunniste tälle vaiheelle. Ohitetaan, kun agentti käyttää mukautettua äänimääritystä. |
Kaavio itsessään on {"start_step": "<step id>", "steps": [...]}. Puhelu
alkaa kohdasta start_step.
Siirtymät
Jokaisella siirtymällä on to, vaiheen tunnus, ja täsmälleen yksi seuraavista:
when: luonnollista kieltä, ja malli päättää. Agentilla on sisäänrakennettugo_to_step-työkalu, joka listaa vaiheet, joihin se voi siirtyä, ja jokainenwhenkertoo syyn sen valitsemiseen.condition: sääntö kerätyille arvoille, ja koodi päättää. Malli ei voi ohittaa sitä tai puhua itseään sen ympäri."always": true: siirry eteenpäin ilman tarkistusta. Koodi päättää ensin: heti kun vaihe avataan tai kun sen vaaditut arvot on kerätty, ensimmäinen vastaavacondition- taialways-siirtymä voittaa, ennen kuin malli voi valitawhen-siirtymän. Sijoita siisalwaysehtojen jälkeen niiden varavaihtoehdoksi tai yksin ketjuttamaan vaihe suoraan seuraavaan. Vaihe, jossa onalways, ei koskaan odotawhen-valintaa.
condition on {"value": <collected name or dotted path>, "op": <op>, "target": <literal>}:
op | Tosi, kun arvo |
|---|---|
eq, ne | on yhtä suuri kuin tai eri kuin target |
lt, lte, gt, gte | on pienempi kuin, enintään, suurempi kuin tai vähintään target |
in, not_in | on tai ei ole yksi target-luettelon arvoista |
exists, missing | on tai ei ole kerätty (ei target-arvoa) |
eq, ne, in ja not_in vertaavat tekstiä kirjainkoosta välittämättä
välilyöntien poistamisen jälkeen. Numeroita verrataan numeroina ja päivämääriä
YYYY-MM-DD-merkkijonoina. Arvo, jota ei koskaan kerätty, tekee jokaisesta
operaattorista epätoden paitsi missing-operaattorista.
Kirjoita when ja global_when ehtona, kuten "Soittaja haluaa varata
ajan", älä sanottavana asiana. Agentti näkee ne sisäisinä reititysmuistiinpanoina,
ja sitä ohjeistetaan olemaan koskaan lukematta niitä ääneen tai mainitsematta,
että se vaihtaa vaihetta.
Kun malli kutsuu go_to_step:
- Jokaisen vaiheen
required-arvon on oltava saatavilla. Jos jokin puuttuu, mallille kerrotaan, mikä niistä puuttuu, ja se pyytää sitä soittajalta. - Arvot tallennetaan.
condition- jaalways-siirtymät tarkistetaan järjestyksessä. Ensimmäinen vastaavuus voittaa.- Muussa tapauksessa agentti siirtyy mallin valitsemaan vaiheeseen.
- Jos mikään ei täsmää eikä malli nimennyt vaihetta, agentti pysyy nykyisessä vaiheessa.
Siirtyminen globaaliin vaiheeseen on poikkeus: soittaja vaihtoi aihetta, joten siirtyminen tehdään, vaikka nykyisestä vaiheesta puuttuisi vielä vaadittuja arvoja, ja ennen kuin kyseisen vaiheen ehdot tarkistetaan.
condition- ja always-siirtymät tarkistetaan myös aina, kun vaihe avataan,
joten koodin päättämien vaiheiden sarja suoritetaan yhdellä kertaa. Ketju pysähtyy:
- vaiheeseen, jossa se on jo käynyt tämän suorituksen aikana;
- 8 siirtymän jälkeen;
- vaiheeseen, jossa on vielä kerättäviä vaadittuja arvoja, ellei vaiheessa ole
on_enter_tool-työkalua (webhook-vaihe reitittää aina tuloksensa perusteella).
Vain sen vaiheen say-rivi, johon ketju pysähtyy, puhutaan ääneen.
Vaihe ilman siirtymiä on päätevaihe. Agentti päättää siinä ja lopettaa tai siirtää puhelun tavallisilla sisäänrakennetuilla toiminnoillaan.
Arvojen kerääminen
Listaa vaiheen tarvitsemat tiedot kohdassa collect. Malli välittää arvot
kutsuessaan go_to_step, ja ne pysyvät saatavilla puhelun loppuun asti.
type | Sisältää |
|---|---|
string | Mitä tahansa tekstiä |
number | Numeron |
boolean | true tai false |
date | Päivämäärän muodossa YYYY-MM-DD |
Kerätyt arvot ovat puhelun sisältöä. Ne näkyvät puhelussa litteroinnin vieressä ja noudattavat samoja säilytys-, poisto- ja peittosääntöjä. Kun agentin puhelutallennus on poistettu käytöstä, kerättyjä arvoja ei tallenneta eikä lähetetä webhookeihin; vaiheen aikajana säilyy silti. Katso Missä näet sen puhelussa.
Sano-rivit
say puhutaan täsmälleen kirjoitetussa muodossa, kun agentti siirtyy vaiheeseen. Malli jatkaa sitten uudessa vaiheessa samassa vastauksessa tietäen, että rivi juuri sanottiin, joten se ei toista sitä. Käytä say-kenttää tervehdyksiin, pakollisiin ilmoituksiin ja kiinteään sanamuotoon ja jätä vastauksen muu osa mallin tehtäväksi.
Aloitusvaiheen say on agentin aloitusrepliikki, kun se puhuu ensin, mahdollisen suostumusilmoituksen jälkeen. Kun soittaja puhuu ensin, se aloittaa agentin ensimmäisen vastauksen henkilölle, ei koskaan IVR:lle tai vastaajatervehdykselle.
Vaiheen say-riviä ei puhuta uudelleen, kun puhelu palaa siihen __previous__-siirtymän tai takaisinluovutuksen kautta. Kirjoita se sellaisena kuin sen pitäisi kuulostaa: kirjoita auki kaikki, minkä puheääni voisi lukea väärin. Sano-rivit tukevat {{var}}-puhelumuuttujia, mutta eivät kerättyjä arvoja.
Webhook-vaiheet
Aseta on_enter_tool johonkin agentin työkaluista, niin se suoritetaan heti vaiheeseen siirryttäessä ilman mallin odottamista. Sen argumentit ovat kerätyt arvot, joiden nimet vastaavat työkalun parametrien nimiä. Tulos tallennetaan kerättyyn arvoon nimeltä <tool>_result, katkaistuna 4 kilotavuun, ja vaiheen condition- ja always-siirtymät tarkistetaan heti, joten haku voi reitittää puhelun oman tuloksensa perusteella.
Tallennetulla arvolla on kaksi kenttää:
| Kenttä | Sisältää |
|---|---|
status | HTTP-tilakoodi, jonka päätepisteesi palautti. |
response | Vastauksen runko. |
Reititä runkokentän perusteella käyttämällä lookup_account_result.response.<field> ja tilakoodin perusteella käyttämällä lookup_account_result.status.
Haku suoritetaan enintään 8 sekunnin ajan tai työkalun oman aikakatkaisun ajan, jos se on lyhyempi. Jos se kestää yli 3 sekuntia, agentti sanoo lyhyen repliikin, jotta soittaja ei jää hiljaisuuteen. Jos päätepisteesi palauttaa tilakoodin 400 tai suuremman tai ei vastaa ajoissa, agentti kertoo soittajalle, ettei se voinut tarkistaa asiaa juuri nyt, ja jatkaa sillä, mitä se voi tehdä.
Globaalit vaiheet
Vaihe, jossa on global_when, voidaan saavuttaa mistä tahansa vaiheesta aina, kun kyseinen kuvaus pätee. Malli päättää tästä kuten when-ehdon kohdalla. Käytä sitä aiheisiin, jotka soittaja voi ottaa esiin missä vaiheessa tahansa: laskutuskysymyksiin, pyyntöön puhua ihmiselle tai valitukseen.
Globaalin vaiheen siirtymä, jossa on "to": "__previous__", palauttaa puhelun vaiheeseen, joka oli aktiivinen ennen sitä, jotta soittaja jatkaa siitä, mihin jäi. Vaihe jatkuu: sen on_enter_tool ei suoritu uudelleen, sen say-riviä ei toisteta, ja agentti jatkaa sitä aloittamatta alusta.
Siirrot
handoffs luettelee organisaatiosi muut agentit, jotka voivat ottaa puhelun hoitaakseen:
[{"agent_id": 413, "when": "The caller asks about billing or a refund"}]Agentti saa sisäänrakennetun hand_off-työkalun näiden agenttien ja syiden kanssa. Kuten siirtymissäkin, jokainen when on sisäinen reititysmerkintä, jota ei koskaan lueta ääneen.
Kun agentti siirtää puhelun, se kertoo soittajalle yhdellä lyhyellä lauseella, minne puhelu ohjataan, esimerkiksi "Totta kai, yhdistän sinut laskutustiimillemme", omalla äänellään. Sen jälkeen kohdeagentin kehote, vaiheet, työkalut ja ääni ottavat vastuun, ja puhelu jatkuu samalla transkriptiolla. Uusi agentti esittelee itsensä lyhyesti ja vastaa soittajan viimeisimpään pyyntöön; se ei ilmoita siirrosta. Kohdeagentin tietopohja on käytettävissä siitä eteenpäin.
Kun puhelu saavuttaa agentin ensimmäistä kertaa, se alkaa kyseisen agentin start_step-vaiheesta: vaiheen on_enter_tool suoritetaan ja sen say puhutaan ääneen. Kun puhelu siirretään takaisin agentille, jossa se on jo käynyt, agentti jatkaa siitä vaiheesta, jossa se oli, suorittamatta on_enter_tool-työkalua, toistamatta say-tekstiään tai esittelemättä itseään uudelleen. Kerätyt arvot jaetaan kaikkien puhelussa olevien agenttien kesken.
- Kohdeagentin on kuuluttava samaan organisaatioon, eikä agentti voi siirtää puhelua itselleen.
- Kaikki puhelutason asetukset pysyvät puheluun vastanneella agentilla: tuote, kielet, kuka puhuu ensin, vastaaja, suostumusilmoitus ja kaikki muut puheluasetukset.
- Kohdeagentit voivat siirtää puhelun edelleen ja takaisin. Yksi puhelu voi saavuttaa enintään 8 agenttia.
- Testipuhelu suorittaa testaamasi agentin luonnosversion. Agentit, joille se siirtää puhelun, suorittavat julkaistuja versioitaan.
- Jos kahdella agentilla on samanniminen työkalu eri määritelmillä, puhelussa säilytetään vain yksi, ja puheluun vastanneen agentin työkalu voittaa aina. Rakentaja varoittaa sinua tallentaessasi.
- Agentilla voi olla siirtoja ilman vaiheita. Sen koko kehotetta käytetään sellaisenaan.
go_to_step ja hand_off on varattu vaiheita tai siirtoja käyttäville agenteille, joten omat työkalusi eivät voi käyttää näitä nimiä.
Missä näet tämän puhelussa
Avaa puhelu kohdassa Puheluhistoria. Transkription vieressä oleva vaiheiden aikajana näyttää jokaisen vaiheen, johon puhelu siirtyi, ja syyn siihen. Kerätyt arvot luetellaan sen yhteydessä.
Puheluobjekti ja puhelun valmistumisen webhook (telephony.complete / web.complete) sisältävät samat tiedot kentissä steps_trace ja collected_values. Molemmat puuttuvat puheluista, joissa ei ole vaiheita.
"steps_trace": [
{"t_ms": 0, "agent": "a412", "step": "greet", "via": "start"},
{"t_ms": 51230, "agent": "a412", "step": "verify", "via": "model"},
{"t_ms": 98410, "agent": "a412", "step": "minor", "via": "condition"}
],
"collected_values": {"full_name": "Dana Reyes", "dob": "2010-04-02", "age": 15}agent on a, jota seuraa agentin tunnus. via kertoo, mikä siirsi puhelua:
via | Merkitys |
|---|---|
start | Puhelu alkoi tässä vaiheessa. |
model | Malli valitsi vaiheen käyttämällä go_to_step-toimintoa, when- tai global_when-ehtoa. |
condition | condition- tai always-siirtymä täsmäsi. |
on_enter | Siirtymä täsmäsi webhook-vaiheen tuloksen perusteella. |
handoff | Toinen agentti otti vastuun. |
Missä vaiheet suoritetaan
Vaiheet suoritetaan natiivisti tuotteissa Spark, Bolt ja kaikissa Storm-tuotteissa saapuvissa, lähtevissä ja kampanjapuheluissa, testipuheluissa sekä verkko- ja widget-puheluissa.
Kaikkialla muualla agentti toimii edelleen, mutta ilman rakennetta: se suorittaa tasoitetun kehotteen, joka yhdistää jaetut ohjeet ja kaikki vaiheet järjestyksessä. Tämä kattaa:
- kokeelliset Bolt-tuotteet;
- Realtime-istunnot, mukaan lukien tallennetun agentin istunnot;
- dynaamisen puhelukokoonpanon webhookin palauttamat inline-kokoonpanot. Webhook, joka palauttaa
agent_id-tunnuksen, käyttää kyseisen agentin vaiheita.
Rajoitukset
| Rajoitus | Arvo |
|---|---|
| Vaiheita agenttia kohden | 100 |
| Kerättyjä arvoja vaihetta kohden | 20 |
| Siirtokohteita agenttia kohden | 8 |
| Yhdessä puhelussa tavoitettavia agentteja | 8 |
steps-JSONin koko | 200 KB |
Vaiheen instructions | 20 000 merkkiä |
say-rivi | 1 000 merkkiä |
Tallennettu on_enter_tool-tulos | 4 KB |
Tallennus, joka rikkoo sääntöä, palauttaa virheen 400 ja virheellisen kentän polun, kuten
steps.steps[2].transitions[0].to. Kohdissa tools ja
on_enter_tool olevien työkalujen on oltava agenttiin liitettyjä työkaluja.
Vaihekohtaisia kieliä, mallin ohittavia skriptattuja vaiheita ja say-rivien sisällä kerättyjä arvoja ei tueta.
Tuodut agentit
Tuominen Retellistä, Blandista, Vapista tai ElevenLabsista tuo monikehotteiset agentit, virrat, polut ja työnkulut vaiheina sekä joukkueet ja agenttisiirrot siirtoina tuotujen agenttien välillä. Tarkistussivu näyttää molemmat ennen tuontia.
Esimerkki: hammashoidon esitietojen keruu
Kolme vaihetta järjestyksessä: tervehdys, potilaan tietojen kerääminen, ajanvaraus.
{
"prompt": "You are Ava, the front desk assistant at Acme Dental. Be warm and brief. Ask one question at a time.",
"steps": {
"start_step": "greet",
"steps": [
{
"id": "greet",
"name": "Greeting",
"instructions": "Greet the caller and ask how you can help.",
"say": "Thanks for calling Acme Dental, this is Ava. How can I help you today?",
"tools": null,
"collect": [],
"transitions": [
{"to": "details", "when": "The caller wants to book an appointment"}
]
},
{
"id": "details",
"name": "Patient details",
"instructions": "Ask for the caller's full name, date of birth and the reason for the visit. Read the date of birth back and ask the caller to confirm it.",
"tools": null,
"collect": [
{"name": "full_name", "type": "string", "description": "Caller's full name", "required": true},
{"name": "dob", "type": "date", "description": "Date of birth", "required": true},
{"name": "reason", "type": "string", "description": "Reason for the visit", "required": true},
{"name": "new_patient", "type": "boolean", "description": "First visit to the practice", "required": false}
],
"transitions": [
{"to": "book", "when": "The caller has confirmed their details"}
]
},
{
"id": "book",
"name": "Book",
"instructions": "Offer the two earliest open slots from book_slot and book the one the caller picks. Confirm the date and time, then say goodbye and end the call.",
"tools": ["book_slot"],
"collect": [],
"transitions": []
}
]
}
}Ota käyttöön vaiheittain komennolla PATCH /v1/agents/{agent_id}, kokeile sitä Puhu-toiminnolla ja julkaise sitten.
Vaihe details ei voi siirtää ajanvaraukseen ennen kuin nimi, syntymäaika
ja syy on kerätty; new_patient on valinnainen.
Esimerkki: ikärajoitettu haara
Malli voi keskustella kenen tahansa kanssa, mutta koodi päättää, kenelle varataan aika. Kerää ikä ja reititä sen perusteella ennen kuin mallin oma valinta huomioidaan.
{
"id": "verify",
"name": "Verify age",
"instructions": "Ask for the caller's age.",
"tools": null,
"collect": [
{"name": "age", "type": "number", "description": "Caller's age in years", "required": true}
],
"transitions": [
{"to": "guardian", "condition": {"value": "age", "op": "lt", "target": 18}},
{"to": "book", "when": "The caller has given their age"}
]
}Soittaja, joka sanoo viisitoista, siirtyy vaiheeseen guardian riippumatta siitä, mitä malli päättää.
Kaikki muut siirtyvät vaiheeseen book. Molemmat ovat tavallisia vaiheita muualla kaaviossa.
Esimerkki: tilin hakemisen webhook-vaihe
Soittaja antaa tilinumeron, haku suoritetaan seuraavaan vaiheeseen siirryttäessä,
ja sen tulos valitsee reitin. Vaiheet not_found, collections ja support
on jätetty pois lyhyyden vuoksi.
[
{
"id": "identify",
"name": "Identify",
"instructions": "Ask for the caller's account number and read it back digit by digit.",
"tools": null,
"collect": [
{"name": "account_number", "type": "string", "description": "Account number", "required": true}
],
"transitions": [
{"to": "lookup", "when": "The caller has confirmed their account number"}
]
},
{
"id": "lookup",
"name": "Look up account",
"instructions": "Tell the caller what you found on their account and ask how you can help.",
"tools": ["lookup_account"],
"collect": [],
"on_enter_tool": "lookup_account",
"transitions": [
{"to": "not_found", "condition": {"value": "lookup_account_result.response.found", "op": "eq", "target": false}},
{"to": "collections", "condition": {"value": "lookup_account_result.response.account_status", "op": "in", "target": ["past_due", "suspended"]}},
{"to": "support", "when": "The caller needs help with an active account"}
]
}
]lookup_account vastaanottaa account_number-arvon, koska sen parametrilla on
sama nimi. Jos vastausrungossa on "found": false, puhelu siirtyy vaiheeseen
not_found. Jos account_status on past_due tai suspended, puhelu siirtyy
vaiheeseen collections. Aktiivinen tili jää vaiheeseen lookup, jossa malli
auttaa ja siirtyy sitten vaiheeseen support. Jos haluat ohjata epäonnistuneen
haun omaan vaiheeseensa, lisää ensin ehtoja tilalle: virhevastaus tallentaa
tilakoodinsa, joten
{"value": "lookup_account_result.status", "op": "gte", "target": 400}
tunnistaa sen, ja aikakatkaisu tai vastaamattomuus tallentaa arvon "error",
joten
{"value": "lookup_account_result.status", "op": "eq", "target": "error"}
tunnistaa sen.
Esimerkki: vastaanotosta laskutukseen
Kaksi agenttia. Vastaanotto (agentti 412) vastaa kaikkiin puheluihin ja
siirtää laskutuskysymykset laskutusagentille (agentti 413), jolla on oma
kehote, työkalut ja ääni.
Vastaanotossa:
{
"handoffs": [
{"agent_id": 413, "when": "The caller asks about a bill, a payment or a refund"}
]
}Laskutusagentissa, jotta se voi siirtää soittajan takaisin:
{
"handoffs": [
{"agent_id": 412, "when": "The billing question is resolved and the caller needs something else"}
]
}Vastaanotto sanoo lyhyen lauseen, kuten "Yhdistän sinut laskutustiimiimme", ja laskutusagentti esittelee itsensä ja jatkaa keskustelua siitä, mihin vastaanotto sen jätti. Kun laskutus siirtää puhelun takaisin, vastaanotto jatkaa siitä, mihin se jäi, tervehtimättä soittajaa uudelleen. Puhelun tuote, kielet, suostumusilmoitus ja muut puheluasetukset säilyvät vastaanotolla, koska se vastasi puheluun.
Jos laskutus tarvitsee vain omat ohjeensa eikä omaa agenttia, käytä sen sijaan vastaanotossa globaalia vaihetta. Kun kysymykseen on vastattu, puhelu palaa siihen vaiheeseen, jossa soittaja oli:
{
"id": "billing",
"name": "Billing questions",
"instructions": "Answer questions about bills and payments. Offer to send a payment link by email.",
"tools": null,
"collect": [],
"transitions": [
{"to": "__previous__", "when": "The billing question is answered"}
],
"global_when": "The caller asks about a bill or payment at any point"
}Seuraavat vaiheet
Kirjoita yhteiset ohjeet ja vaiheohjeet, jotka toimivat puhelussa.
Luo työkalut, joita vaiheesi ja webhook-vaiheesi kutsuvat.
Suorita samat skenaariot jokaisessa haarassa ennen käyttöönottoa.
Kaikki agentin kentät, luonnokset ja käyttöönotto.