---
title: "Sisäänrakennetut työkalut"
description: "Ohjeista ThunderPhone-agentteja lopettamaan puheluja, siirtämään soittajia, käyttämään näppäimistöjä, odottamaan pidossa, hakemaan tietoa, toistamaan ääniä, lähettämään sähköpostia ja laskemaan summia."
---

Sisäänrakennetut työkalut antavat agentin suorittaa tavallisia puhelutoimintoja ilman oman API:n yhdistämistä. Useimmat ovat käytettävissä automaattisesti; sähköposti, äänet, laskin ja tietohaun haku tulevat näkyviin vasta, kun määrität niihin liittyvän asetuksen tai lähteen. Kerro agentille kehotteessa, milloin kutakin toimintoa käytetään.

| Työkalu | Käytä tähän | Käyttöönotto | Tuetut puhelut |
| --- | --- | --- | --- |
| `end_call` | Päätä valmis keskustelu | Aina käytettävissä | Puhelin, selaimen Talk, widgetti, simulointi ja Realtime |
| `transfer_call` | Ohjaa puhelinsoittaja | Määritä reititys kehotteessa | Tavalliset puhelut; `call_events`-toimintoa käyttävä upotettu Realtime voi käyttää kylmää siirtoa. Tallennetun agentin Realtime ei sisällä sitä. |
| `send_keypad_input` | Paina näppäimiä puhelinvalikossa | Aina käytettävissä tavallisissa puheluissa | Puhelut; `call_events`-toimintoa käyttävä upotettu lähtevä Realtime. Tallennetun agentin Realtime ei sisällä sitä. |
| `no_response` | Jatka kuuntelua, kun automaattinen valikko puhuu tai soittaja pohtii ääneen; soittaja, joka pyytää agenttia odottamaan, saa vain vastauksen "Toki." | Aina käytettävissä | Kaikki puhelutyypit |
| `wait_on_hold` | Odota äänettömästi henkilön paluuta | Sisältyy lähteviin puheluihin | Lähtevät puhelut ja lähtevät upotetut Realtime-istunnot |
| `search_knowledge_base` | Vastaa liitetyistä lähteistä | Liitä tietolähteet agenttiin | Tallennetun agentin puhelut, joissa on liitettyä tietoa |
| `play_sound` | Toista määritetty ilmoitusääni | **Lisäasetukset → Työkaluääni** | Tallennetun agentin puhelut |
| `send_email` | Lähetä sähköposti yhdelle kiinteälle vastaanottajalle | **Lisäasetukset → Lähetä sähköposti** | Tallennetun agentin puhelut |
| `calculate` | Laske summat, maksut ja vaihtorahat täsmällisesti | **Lisäasetukset → Laskin** | Tallennetun agentin puhelut |

## `end_call`

Päättää nykyisen puhelun, kun kehote käskee mallia tekemään niin. Se on käytettävissä oletuksena eikä vaadi agenttiasetusta.

Kirjoita ehto ja tarvittava hyvästely kehotteeseen:

```text
When the caller confirms they need nothing else, say goodbye and end the call.
```

Mallin päättämässä puhelussa `end_reason: "ai_hangup"` -arvo on käytössä, myös silloin, kun puhelu päättyy
puhelun aikarajavaroituksen jälkeen. Puhelu päättyy arvolla `max_duration` vain, jos
aikaraja saavutetaan ensin, ja arvolla `balance_exhausted`, kun ennakkoon maksettu saldo loppuu.

## `transfer_call`

Siirtää puhelinsoittajan mallin antamaan kiinteään numeroon. Kylmä siirto tapahtuu välittömästi. Seulottu lämmin siirto soittaa kohteeseen yksityisesti ennen osapuolten yhdistämistä. Lämmin siirto edellyttää vahvistettua tuotua VoIP-numeroa, jolla voi soittaa lähteviä puheluita.

Lisää kohdenumero ja tarkka reititysehto kehotteeseen:

```text
If the caller asks for billing, transfer them to +15551234567.
```

Onnistuneen kylmän siirron `end_reason: "ai_transfer"`; valmiin lämpimän siirron `end_reason: "ai_warm_transfer"`. Epäonnistunut lämmin siirto palauttaa hallinnan agentille, joten puhelun myöhempi päättyminen määrittää sen päättymissyyn. Muissa kuin puhelinistunnoissa siirtopyyntö päättää istunnon.

Katso hallintapaneelin ja API:n määritykset, reititys, seulonta, virheiden käsittely, rajoitukset ja testaus kohdasta [Puheluiden siirtäminen](/fi/guides/call-transfers).

## `send_keypad_input`

Lähettää DTMF-numeroita `0`–`9`, `*` ja `#` puhelinlinjalle. Malli käyttää sitä IVR:n eli automaattisen valikon navigointiin; valikko pyytää soittajia painamaan näppäimiä. Se on käytettävissä oletuksena eikä vaadi agenttiasetusta.

Kerro mallille, missä valikoissa se saa navigoida ja mistä pyydetyt arvot tulevat. Älä pyydä sitä arvaamaan valikkovaihtoehtoja:

```text
Follow the phone menu for account status. Press a key only after the menu
states what that key does. Enter the account number supplied by the caller.
```

Alusta poistaa tukemattomat merkit ja lähettää kelvolliset numerot järjestyksessä. Jos kelvollisia numeroita ei jää tai puhelu ei voi lähettää näppäimistösyötettä, epäonnistuminen palautetaan agentille, jotta se voi toipua tilanteesta.

## `no_response`

Pitää agentin hiljaa, kun automaattinen järjestelmä puhuu yhä tai pyytää sitä jatkamaan kuuntelua, sekä kun soittaja ajattelee ääneen ("öö, katsotaanpa") tai kääntyy puhumaan jollekulle toiselle. Kun soittaja pyytää agenttia odottamaan, kun hän tekee jotain ("hetkinen", "anna kun tarkistan", "voitko odottaa hetken?") eikä anna sille muuta vastattavaa, agentti sanoo vain "Totta kai." (ei "Ota rauhassa") ja odottaa, että soittaja puhuu uudelleen. Agentin hiljaisuustarkistukset ovat silti käytössä, ja ne sanotaan aina ääneen, jos linja pysyy hiljaisena. Tätä ei käytetä oikean henkilön tervehdykseen, kysymykseen tai varsinaiseen pidossaolotusjonoon. Se on käytettävissä oletusarvoisesti, eikä sille ole agenttikohtaista asetusta.

Jos kehotteesi kertoo agentille, mitä sen tulee sanoa, kun soittaja pyytää hetken aikaa, kehote on ensisijainen.

Yleensä sisäänrakennettu kuvaus riittää. IVR-painotteisissa puheluissa vahvista raja kehotteessa:

```text
Stay silent while a phone menu is still speaking. Answer a live person as soon
as they address you.
```

Tämä toiminto ei päätä puhelua.

## `wait_on_hold`

Siirtää lähtevän puheagentin äänettömään pito-tilaan, kunnes oikea henkilö palaa.
Malli käyttää sitä vain, kun toinen osapuoli ilmoittaa nimenomaisesti, että agentti
asetetaan pitoon. Se on automaattisesti käytettävissä lähtevissä puheluissa, eikä
sille ole hallintapaneelissa asetusta.

```text
If a person explicitly puts you on hold, wait silently. When they return,
continue from the question you were discussing.
```

Älä kehota agenttia käyttämään sitä IVR:n ”odota hetki” -viestiin. Pito kestää
oletusarvoisesti enintään 15 minuuttia. Tavallisissa lähtevissä puheluissa `POST /v1/call`
hyväksyy positiivisen kokonaisluvun `max_hold_seconds`; upotettu Realtime rajoittaa
`max_hold_seconds`-arvon 10–900 sekuntiin. Jos henkilö
palaa, agentti jatkaa puhelua muuttamatta puhelun päättymissyytä. Jos raja
umpeutuu, alusta päättää puhelun arvolla `end_reason: "ai_hangup"`.

## `search_knowledge_base`

Hakee agenttiin liitetyistä asiakirjoista ja palauttaa olennaiset kohdat. Liitä
tietämyskanta tai yksittäisiä tietämysasiakirjoja, jotta toiminto otetaan käyttöön,
ja kerro sitten mallille, mitkä vastaukset on haettava näistä lähteistä:

```text
Search the knowledge base before answering policy questions. If the first
search is inconclusive, try once more with different key terms.
```

Jos haku epäonnistuu, tulos palautetaan agentille. Katso hallintapaneelin ja API:n
asetukset kohdasta [Tietämyskanta](/fi/guides/knowledge-base).

## `play_sound`

Toistaa agentille määritetyn ilmoitusäänen saman vuoron puheen jälkeen. Aseta
hallintapaneelissa **Lisäasetukset → Työkalun ääni** arvoon **Helinä**, **Kilinä**
tai **Piippaus** ja julkaise agentti. **Ei mitään** poistaa työkalun.

[Agents API](/api-reference/agents) -rajapinnassa määritä `play_sound_asset`-arvoksi
`"chime"`, `"ding"` tai `"beep"` ja julkaise sitten. Aseta arvoksi `""`, jos haluat
poistaa työkalun käytöstä.

```text
After confirming that an appointment was saved, say "You're all set" and play
the notification sound.
```

Toiston epäonnistuminen palautetaan agentille eikä päätä puhelua.

## `send_email`

Lähettää pelkkää tekstiä sisältävän sähköpostin yhdelle agentin omistajan
määrittämälle vastaanottajalle. Malli antaa aiheen ja viestin sisällön. Se ei
koskaan näe vastaanottajaparametria eikä voi valita tai muuttaa osoitetta.

Ota hallintapaneelissa käyttöön **Lisäasetukset → Lähetä sähköposti**, tallenna
vastaanottajan osoite ja julkaise sitten agentti. [Agents API](/api-reference/agents)
-rajapinnassa määritä sekä `send_email_enabled: true` että muu kuin tyhjä
`send_email_recipient` ja julkaise sitten. Määritä kehotteessa laukaisin ja
vaadittu sisältö:

```text
When the caller asks to leave a message, collect their name, callback number,
and message. Read the details back for confirmation, then email them.
```

Puhelu voi yrittää lähettää enintään kolme sähköpostia. Kunkin aiheen enimmäispituus
on 300 merkkiä ja kunkin viestin enimmäispituus 20 000 merkkiä. Puuttuvat asetukset,
virheellinen sisältö, puhelukohtainen raja ja toimitusvirheet palautetaan agentille.
Epäonnistunut toimitus kuluttaa silti yhden kolmesta yrityksestä.

Testaa hallitulla vastaanottajalla ennen laajaa käyttöönottoa. Selaimen Talk ja
simulaatiot lähettävät oikeita sähköposteja; kokeilutilaa ei ole.

## `calculate`

Laskee aritmeettisen lausekkeen tarkasti ja palauttaa tuloksen, joten agentti
ei laske hintoja päässään. Se on oletusarvoisesti pois käytöstä. Ota hallintapaneelissa
käyttöön **Lisäasetukset → Laskin** ja julkaise agentti. [Agents
API](/api-reference/agents) -rajapinnalla aseta `calculator_enabled: true` välivaiheeseen ja julkaise sitten.

Malli kirjoittaa lausekkeen, kuten `2*23.5 + 16.5 + 4`, ja kertoo tuloksen
soittajalle. Lausekkeissa voi käyttää lukuja, merkkejä `+`, `-`, `*`, `/` ja
sulkuja. Yksi kutsu voi sisältää enintään 10 puolipisteellä `;` erotettua
lauseketta, kuten välisumman ja kokonaissumman toimitusmaksun kanssa, yhteensä
enintään 500 merkkiä. Tulokset pyöristetään 10 desimaalin tarkkuuteen. Laskenta
käyttää tarkkaa desimaaliaritmetiikkaa, joten `0.1 + 0.2` palauttaa `0.3`.
Nollalla jakaminen ja mikä tahansa muu virhe lausekkeessa palautuvat agentille
korjattavana virheenä. Se suoritetaan ThunderPhone-palvelussa ja vastaa
välittömästi ilman täytesanontaa tai kirjoitusääntä.

Ota se käyttöön agenteille, jotka ilmoittavat tilausten loppusummia, maksuja tai
vaihtorahaa. Kehotetta ei tarvitse muuttaa.

## Yhteensopivuushuomautus

Asetus **Lisäasetukset → Keskeyttämättömät ilmoitukset** ja vanha
`speak_uninterruptible_enabled`-kenttä säilyvät yhteensopivuuden vuoksi, mutta
niiden käyttöönotolla ei ole vaikutusta. Jätä asetus pois käytöstä; mikään kehote
ei voi ottaa tätä työkalua käyttöön.

Käytä puhelun alussa vaadittavaan ilmoitukseen asetusta **Suostumusilmoitus**. Se
toistetaan sanatarkasti ennen tavallista keskustelua, eikä sitä voi keskeyttää.
Katso [Puheluiden tallennussuostumusta koskevat lait](/fi/guides/recording-consent-laws).

## Testaa ja seuraa sisäänrakennettuja työkaluja

Tarkista kehotteet, tietämyshaun toiminta, äänet ja sähköposti selaimen Talkilla
tai simulaatiolla. Nämä ympäristöt eivät voi toistaa puhelinverkon toimintaa.
Testaa näppäimistönavigointi ja pito lähtevässä puhelussa sekä täydellinen lämmin
siirto oikeassa puhelussa käyttämällä soveltuvaa tuotua VoIP-numeroa. Realtime-tuki
on rajoitettu yllä olevan taulukon mukaisesti.

## Puhelut, hinnoittelu ja webhookit

Sisäänrakennetuista toiminnoista ei veloiteta käyttökertakohtaista työkalumaksua. Tavalliset puhelu- ja palveluntarjoajamaksut
ovat edelleen voimassa; katso [Hinnoittelu](/fi/guides/pricing). Niiden puhelut ja tulokset voivat näkyä
valmiissa transkriptissä, mutta ne eivät lähetä `telephony.tool`- tai `web.tool`-tapahtumia.
Nämä tapahtumat ovat tarkoitettu [käyttäjän määrittämille funktioille](/fi/tools/overview). Vain onnistunut
puhelun lopetus tai siirto muuttaa puhelun `end_reason`-arvoa; muut virheet palautetaan
agentille. Katso puhelutietueesta [valmistumisen webhookit](/fi/webhooks/call-complete).
