---
title: "Hatua za ejenti na uhamishaji"
description: "Gawanya ejenti katika hatua zenye maelekezo, zana na thamani zilizokusanywa za kila hatua, na hamisha simu kati ya maejenti katikati ya simu."
---

Prompt moja huipa modeli kazi nzima kwa wakati mmoja. **Hatua** huipa awamu
moja ya simu kwa wakati mmoja: kila hatua ina maagizo yake, zana zake,
mstari wa hiari unaosemwa neno kwa neno, na thamani ambazo lazima ikusanye kabla
ya kuendelea. **Makabidhiano** huruhusu ejenti mwingine katika shirika lako
kuchukua nafasi katikati ya simu, huku nakala ya mazungumzo ikibaki kamili, ili
mpigaji simu asilazimike kujirudia.

Kila ejenti huanza kama prompt moja. Hakuna kinachobadilika hadi uongeze
hatua au makabidhiano.

## Hatua au prompt moja?

| Tumia hatua wakati | Dumisha prompt moja wakati |
| --- | --- |
| Simu ina awamu zinazopaswa kufanyika kwa mpangilio: thibitisha, kisha weka miadi. | Mazungumzo hayana mwelekeo maalumu: Maswali Yanayoulizwa Mara kwa Mara, mapokezi, usaidizi wa jumla. |
| Thamani lazima ikusanywe kabla ejenti haijaendelea. | Hakuna kinachopaswa kukusanywa kwa mpangilio maalumu. |
| Kanuni haipaswi kamwe kupindishwa, kama vile "wapigaji simu walio chini ya miaka 18 waende kwa mlezi". | Uamuzi wa modeli unatosha kwa kila tawi. |
| Utafutaji lazima ufanyike katika sehemu maalumu ya simu. | Zana zinaweza kuitwa wakati wowote mpigaji simu anapoomba. |
| Sehemu ya simu ni ya ejenti tofauti, yenye prompt na sauti yake yenyewe. | Nafsi moja hushughulikia kila kitu. |

Hatua si mti wa simu ulioandikwa. Ndani ya hatua, modeli huendesha
mazungumzo kama inavyofanya kwa prompt moja. Hatua huamua kile
inachofanyia kazi, zana gani inaweza kutumia, na kile inachohitaji kabla ya
kuondoka.

## Jinsi ejenti yenye hatua inavyoundwa

Ejenti inapokuwa na hatua, `prompt` yake huhifadhi **maagizo ya pamoja**:
nafsi na kanuni zinazotumika katika kila hatua. Kila hatua huongeza
maagizo yake juu yake. Katika kila zamu, modeli huona maagizo ya pamoja, jina
na maagizo ya hatua ya sasa, na thamani zilizokusanywa hadi sasa.

Katika kijenzi, badilisha ejenti kutoka **Prompt moja** hadi **Hatua**. Utapata
kadi kwa kila hatua yenye jina, maagizo, mstari wa kutamka, zana, thamani
zilizokusanywa na mipito yake, kiteuzi cha makabidhiano, na grafu ya mtiririko
ya hatua za kusoma pekee. Kubadilisha kurudi kwenye prompt moja hutoa prompt
iliyobapa inayounganisha maagizo ya pamoja na kila hatua.

Kupitia API, `steps` na `handoffs` ni sehemu kwenye
[ejenti](/api-reference/agents). Kama sehemu nyingine yoyote ya ejenti, `PATCH`
huzihifadhi kwenye rasimu; `POST /v1/agents/{agent_id}/deploy` huzifanya
zitumike moja kwa moja. Kutuma `"steps": null` hubadilisha ejenti kurudi kuwa
prompt moja. Simu za majaribio na **Ongea** hutumia rasimu.

<Tip>
  [copilot](/sw/guides/ask-the-copilot) inaweza kuunda hatua kutoka kwenye maelezo
  ("ongeza hatua inayothibitisha tarehe ya kuzaliwa kabla ya kuweka miadi") na
  kuhariri hatua moja bila kugusa nyingine.
</Tip>

### Sehemu za hatua

| Sehemu | Maana |
| --- | --- |
| `id` | Inahitajika. Herufi ndogo, tarakimu na mistari ya chini, ikianzia na herufi, hadi vibambo 40. Ya kipekee ndani ya ejenti. |
| `name` | Jina la kuonyesha linalohitajika, vibambo 1 hadi 80. |
| `instructions` | Inahitajika, hadi vibambo 20,000. Inatumia [vigezo vya simu](/sw/guides/call-variables) vya `{{var}}`, kama `prompt`. |
| `say` | Mstari wa hiari unaosemwa neno kwa neno hatua inapoingizwa, hadi vibambo 1,000. Unatumia `{{var}}`. |
| `tools` | `null` huipa hatua kila zana iliyoambatishwa kwenye ejenti. Orodha huweka kikomo cha hatua kwa zana hizo, kwa jina. Vitendo vilivyojengewa ndani kama `end_call` na `transfer_call` hufuata mipangilio ya ejenti katika kila hatua. |
| `collect` | Hadi thamani 20 ambazo hatua hukusanya. Kila moja ina `name`, `type`, `description` na `required` (chaguomsingi `true`). |
| `on_enter_tool` | Jina la zana la hiari, linaloitwa kiotomatiki hatua inapoingizwa. Angalia [Hatua za Webhook](#webhook-steps). |
| `transitions` | Orodha iliyopangwa ya maeneo ambayo hatua inaweza kwenda baadaye. Angalia [Mipito](#transitions). |
| `global_when` | Hiari. Hufanya hatua ifikiwe kutoka hatua yoyote. Angalia [Hatua za kimataifa](#global-steps). |
| `voice` | Kitambulisho cha sauti cha hiari kwa hatua hii. Hupuuzwa ejenti inapotumia usanidi maalumu wa sauti. |

Grafu yenyewe ni `{"start_step": "<step id>", "steps": [...]}`. Simu
huanza katika `start_step`.

## Mipito

Kila mpito una `to`, kitambulisho cha hatua, na kimoja tu kati ya vifuatavyo:

- **`when`**: lugha ya kawaida, na **model huamua**. Ejenti hupata zana
  iliyojengeka ya `go_to_step` inayoorodhesha hatua inazoweza kuhamia, huku kila
  `when` ikiwa sababu ya kuichagua.
- **`condition`**: kanuni kuhusu thamani zilizokusanywa, na **code huamua**.
  Model haiwezi kuiruka au kuizungumzia ili kuiepuka.
- **`"always": true`**: endelea bila ukaguzi. Code huamua kwanza: pindi tu
  hatua inapoingizwa, au thamani zake zinazohitajika zinapokusanywa, mpito wa
  kwanza wa `condition` au `always` unaolingana hushinda, kabla ya model
  kuchagua `when`. Kwa hiyo weka `always` baada ya masharti kama mbadala wake,
  au iwe peke yake ili kuunganisha hatua moja moja kwa moja na inayofuata.
  Hatua yenye `always` haisubiri kamwe chaguo la `when`.

`condition` ni `{"value": <collected name or dotted path>, "op": <op>, "target": <literal>}`:

| `op` | Ni kweli wakati thamani |
| --- | --- |
| `eq`, `ne` | ni sawa na, au si sawa na, `target` |
| `lt`, `lte`, `gt`, `gte` | ni ndogo kuliko, si zaidi ya, ni kubwa kuliko, au si chini ya `target` |
| `in`, `not_in` | iko, au haiko, miongoni mwa thamani katika orodha ya `target` |
| `exists`, `missing` | imekusanywa, au haijakusanywa (hakuna `target`) |

`eq`, `ne`, `in` na `not_in` hulinganisha maandishi bila kuzingatia herufi kubwa
au ndogo baada ya kuondoa nafasi. Namba hulinganishwa kama namba na tarehe kama
mitiririko ya `YYYY-MM-DD`. Thamani ambayo haijawahi kukusanywa hufanya kila op
kuwa false isipokuwa `missing`.

Andika `when` na `global_when` kama sharti, kwa mfano "Mpigaji simu anataka
kuweka miadi", si kama jambo la kusema. Ejenti huziona kama maelezo ya ndani ya
uelekezaji na huagizwa kamwe asizisome kwa sauti au kutaja kuwa inabadilisha
hatua.

Model inapoitisha `go_to_step`:

1. Kila thamani ya `required` katika hatua lazima iwepo. Ikiwa moja haipo,
   model huambiwa ni ipi, na humwomba mpigaji simu aitoe.
2. Thamani huhifadhiwa.
3. Mipito ya `condition` na `always` hukaguliwa kwa mpangilio. Ulinganifu wa
   kwanza hushinda.
4. Vinginevyo ejenti huhamia hatua ambayo model ilichagua.
5. Ikiwa hakuna kinacholingana na model haikutaja hatua, ejenti hubaki ilipo.

Kuruka hadi [hatua ya jumla](#global-steps) ni tofauti: mpigaji simu amebadilisha
mada, kwa hiyo huendelea hata kama hatua ya sasa bado ina thamani zinazohitajika
ambazo hazipo, na kabla masharti ya hatua hiyo hayajakaguliwa.

Mipito ya `condition` na `always` pia hukaguliwa kila wakati hatua inapoingizwa,
kwa hiyo mfuatano wa hatua zinazoamuliwa na code hutekelezwa kwa mkupuo mmoja.
Mnyororo husimama:

- kwenye hatua ambayo tayari imeitembelea katika utekelezaji huu;
- baada ya miruko 8;
- kwenye hatua ambayo bado ina thamani zinazohitajika za kukusanya, isipokuwa
  hatua ina `on_enter_tool` (hatua ya webhook huelekeza kila mara kulingana na
  matokeo yake).

Mstari wa `say` pekee wa hatua ambako mnyororo unasimama ndio hutamkwa.

Hatua isiyo na mipito ni **ya mwisho**. Ejenti humaliza hapo na hukatisha au
kuhamisha simu kwa vitendo vyake vya kawaida vilivyojengeka.

## Kukusanya thamani

Orodhesha kile ambacho hatua inahitaji katika `collect`. Model hupitisha thamani
hizo inapoitisha `go_to_step`, na hubaki zinapatikana kwa simu iliyosalia.

| `type` | Huhifadhi |
| --- | --- |
| `string` | Maandishi yoyote |
| `number` | Namba |
| `boolean` | `true` au `false` |
| `date` | Tarehe kama `YYYY-MM-DD` |

Thamani zilizokusanywa ni maudhui ya simu. Huonekana kwenye simu kando ya
nakala ya mazungumzo na hufuata kanuni zilezile za uhifadhi, ufutaji na
ufichaji. Wakati kurekodi simu kwa ejenti kumezimwa, thamani zilizokusanywa
hazihifadhiwi wala kutumwa katika webhook; ratiba ya hatua bado huhifadhiwa.
Tazama [Mahali pa kuiona kwenye simu](#where-to-see-it-on-a-call).

## Mistari ya kusema

`say` hutamkwa kama ilivyoandikwa wakati ejenti inaingia katika hatua. Kisha modeli inaendelea katika hatua mpya ndani ya jibu hilo hilo, ikijua mstari huo umesema hivi punde, kwa hivyo haiurudii. Tumia `say` kwa salamu, taarifa zinazohitajika na maneno yasiyobadilika, na acha sehemu iliyosalia ya jibu kwa modeli.

`say` ya hatua ya kuanzia ni mstari wa ufunguzi wa ejenti inaposema kwanza, baada ya tangazo lolote la idhini. Anayepiga anaposema kwanza, hufungua jibu la kwanza la ejenti kwa mtu, kamwe si kwa IVR au salamu ya ujumbe wa sauti.

`say` ya hatua haisemwi tena simu inaporudi kwake kupitia `__previous__` au urejeshaji. Iandike jinsi inavyopaswa kusikika: andika kwa herufi kamili chochote ambacho sauti inaweza kusoma vibaya. Mistari ya kusema inatumia vigeu vya simu vya `{{var}}` lakini si thamani zilizokusanywa.

## Hatua za webhook

Weka `on_enter_tool` kuwa mojawapo ya zana za ejenti, na itaendeshwa mara tu hatua inapoingizwa, bila kusubiri modeli. Hoja zake ni thamani zilizokusanywa ambazo majina yake yanalingana na majina ya vigezo vya zana. Matokeo huhifadhiwa kama thamani iliyokusanywa inayoitwa `<tool>_result`, yakikatwa hadi KB 4, na mipito ya `condition` na `always` ya hatua hukaguliwa mara moja, hivyo utafutaji unaweza kuelekeza simu kulingana na matokeo yake yenyewe.

Thamani iliyohifadhiwa ina sehemu mbili:

| Sehemu | Ina |
| --- | --- |
| `status` | Msimbo wa hali wa HTTP uliorejeshwa na endpoint yako. |
| `response` | Mwili wa jibu. |

Elekeza kwa kutumia sehemu ya mwili kwa `lookup_account_result.response.<field>`, na kwa kutumia msimbo wa hali kwa `lookup_account_result.status`.

Utafutaji huendeshwa kwa hadi sekunde 8, au muda wa kuisha wa zana yenyewe ikiwa ni mfupi zaidi. Ukichukua zaidi ya sekunde 3, ejenti husema mstari mfupi ili anayepiga asiachewe kimya. Endpoint yako ikirejesha hali ya 400 au zaidi, au isipojibu kwa wakati, ejenti humwambia anayepiga kuwa haikuweza kukagua hilo kwa sasa na huendelea na kile inachoweza kufanya.

## Hatua za kimataifa

Hatua yenye `global_when` inaweza kufikiwa kutoka hatua yoyote wakati wowote maelezo hayo yanapotimia. Modeli huamua, kama ilivyo kwa `when`. Itumie kwa mada ambazo anayepiga anaweza kuibua wakati wowote: maswali ya malipo, ombi la mtu, malalamiko.

Mpito wenye `"to": "__previous__"` kwenye hatua ya kimataifa hurudisha simu kwenye hatua iliyokuwa inatumika kabla yake, hivyo anayepiga huendelea alipoishia. Hatua huendelea: `on_enter_tool` yake haiendeshwi tena, `say` yake hairudiwi, na ejenti huendelea nayo bila kuanza upya.

## Makabidhiano

`handoffs` huorodhesha ejenti wengine katika shirika lako ambao wanaweza kuchukua simu:

```json
[{"agent_id": 413, "when": "The caller asks about billing or a refund"}]
```

Ejenti hupata zana iliyojengewa ndani ya `hand_off` yenye ejenti hao na sababu. Kama
ilivyo kwa mabadiliko, kila `when` ni dokezo la ndani la uelekezaji, halisomwi kamwe.

Inapokabidhi simu, ejenti husema sentensi moja fupi ikimwambia mpigaji simu anakokwenda,
kama vile "Sawa, nitakuunganisha na timu yetu ya malipo", kwa sauti yake yenyewe. Kisha
prompt, hatua, zana na sauti ya ejenti lengwa huchukua nafasi, na simu huendelea na
nakala ileile ya mazungumzo. Ejenti mpya hujitambulisha kwa ufupi na kujibu ombi la
mwisho la mpigaji simu; haitangazi uhamisho. Msingi wa maarifa wa ejenti lengwa
unapatikana kuanzia hapo.

Mara ya kwanza simu inapomfikia ejenti, huanza kwenye `start_step` ya ejenti huyo:
`on_enter_tool` ya hatua huendeshwa na `say` yake hutamkwa. Simu inapokabidhiwa tena
kwa ejenti ambaye tayari ilimfikia, ejenti huyo huendelea na hatua aliyokuwa nayo, bila
kuendesha `on_enter_tool`, kurudia `say` yake au kujitambulisha tena. Thamani
zilizokusanywa hushirikiwa na kila ejenti kwenye simu.

- Ejenti lengwa lazima awe katika shirika lilelile, na ejenti hawezi kukabidhi simu
  kwake mwenyewe.
- Kila kitu cha kiwango cha simu hubaki kwa ejenti aliyejibu: bidhaa, lugha,
  anayesema kwanza, ujumbe wa sauti, tangazo la idhini na kila mpangilio mwingine wa
  simu.
- Ejenti lengwa wanaweza kukabidhi simu zaidi, na kuirudisha. Simu moja inaweza
  kuwafikia hadi ejenti 8.
- Simu ya majaribio huendesha rasimu ya ejenti unayemjaribu. Ejenti anaowakabidhi
  simu huendesha matoleo yao yaliyotumwa.
- Ikiwa ejenti wawili wana zana yenye jina moja na ufafanuzi tofauti, ni moja tu
  huhifadhiwa kwa simu, na ya ejenti aliyejibu ndiyo hushinda kila wakati. Kijenzi
  hukupa onyo unapohifadhi.
- Ejenti anaweza kuwa na makabidhiano bila hatua. Prompt yake yote hutumiwa kama ilivyo.

`go_to_step` na `hand_off` zimehifadhiwa kwa ejenti wenye hatua au makabidhiano, kwa
hivyo zana zako haziwezi kutumia majina hayo.

## Mahali pa kuiona kwenye simu

Fungua simu katika **Historia ya Simu**. Ratiba ya hatua kando ya nakala ya mazungumzo
huonyesha kila hatua ambayo simu iliingia na kwa nini, na thamani zilizokusanywa
huorodheshwa pamoja nayo.

[Kipengee cha simu](/api-reference/calls#retrieve-a-call) na webhook ya simu
iliyokamilika ([`telephony.complete` / `web.complete`](/sw/webhooks/call-complete)) hubeba
data ileile kama `steps_trace` na `collected_values`. Vyote havipo kwenye simu zisizo na
hatua.

```json
"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` ni `a` ikifuatiwa na kitambulisho cha ejenti. `via` hueleza kilichohamisha simu:

| `via` | Maana |
| --- | --- |
| `start` | Simu ilianza katika hatua hii. |
| `model` | Modeli ilichagua hatua kupitia `go_to_step`, `when` au `global_when`. |
| `condition` | Mpito wa `condition` au `always` ulilingana. |
| `on_enter` | Mpito ulilingana na matokeo ya hatua ya webhook. |
| `handoff` | Ejenti mwingine alichukua nafasi. |

## Mahali ambapo hatua huendeshwa

Hatua huendeshwa kiasili kwenye **Spark**, **Bolt** na kila bidhaa ya **Storm**, kwenye
simu zinazoingia, zinazotoka na za kampeni, simu za majaribio, na simu za wavuti na
wijeti.

Kwingineko ejenti bado hufanya kazi, ila bila muundo: huendesha prompt iliyosawazishwa
inayounganisha maelekezo ya pamoja na kila hatua, kwa mpangilio. Hii inajumuisha:

- bidhaa za majaribio za Bolt;
- vipindi vya [Realtime](/sw/guides/use-with-openai-realtime), ikijumuisha vipindi
  vya ejenti iliyohifadhiwa;
- usanidi wa ndani unaorejeshwa na webhook ya [usanidi unaobadilika wa simu](/sw/guides/dynamic-call-config).
  Webhook inayorejesha `agent_id` hutumia hatua za ejenti huyo.

## Vikomo

| Kikomo | Thamani |
| --- | --- |
| Hatua kwa ejenti | 100 |
| Thamani zinazokusanywa kwa kila hatua | 20 |
| Lengwa za uhamisho kwa kila ejenti | 8 |
| Ejenti zinazoweza kufikiwa katika simu moja | 8 |
| Ukubwa wa JSON ya `steps` | 200 KB |
| `instructions` za hatua | herufi 20,000 |
| Mstari wa `say` | herufi 1,000 |
| Matokeo ya `on_enter_tool` yaliyohifadhiwa | 4 KB |

Uhifadhi unaokiuka sheria hurejesha `400` pamoja na njia ya sehemu yenye hitilafu,
kama vile `steps.steps[2].transitions[0].to`. Majina ya zana katika `tools` na
`on_enter_tool` lazima yawe zana zilizoambatishwa kwenye ejenti.

Lugha kwa kila hatua, hatua zilizoandikwa zinazopitisha modeli, na thamani
zinazokusanywa ndani ya mistari ya say hazitumiki.

## Ejenti zilizoagizwa

[Kuagiza](/sw/guides/import-agents) kutoka Retell, Bland, Vapi au ElevenLabs
huleta ejenti zenye prompt nyingi, mitiririko, njia na workflow kama hatua, na
vikundi pamoja na uhamisho wa ejenti kama handoff kati ya ejenti zilizoagizwa.
Ukurasa wa ukaguzi huonyesha vyote viwili kabla ya kuagiza.

## Mfano: usajili wa awali wa meno

Hatua tatu kwa mpangilio: salamu, kusanya maelezo ya mgonjwa, weka miadi.

```json
{
  "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": []
      }
    ]
  }
}
```

Iweke kwenye staging kwa `PATCH /v1/agents/{agent_id}`, ijaribu kwa **Ongea**, kisha iwasilishe.
Hatua ya `details` haiwezi kuhamisha hadi kuweka miadi hadi jina, tarehe ya kuzaliwa
na sababu vikusanywe; `new_patient` ni ya hiari.

## Mfano: tawi lenye kikomo cha umri

Modeli inaweza kuzungumza na mtu yeyote, lakini msimbo huamua ni nani anayewekewa miadi. Kusanya
umri, kisha elekeza kulingana nao kabla ya chaguo la modeli yenyewe kuzingatiwa.

```json
{
  "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"}
  ]
}
```

Mtu anayepiga simu anayesema miaka kumi na tano huenda kwenye `guardian`, bila kujali modeli itaamua nini.
Wengine wote huenda kwenye `book`. Zote ni hatua za kawaida mahali pengine kwenye grafu.

## Mfano: hatua ya webhook ya kutafuta akaunti

Anayepiga simu anatoa nambari ya akaunti, utafutaji unaendeshwa unapoingia kwenye hatua inayofuata,
na matokeo yake huchagua njia. Hatua za `not_found`, `collections` na `support`
zimeachwa kwa ufupi.

```json
[
  {
    "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` hupokea `account_number` kwa sababu kigezo chake kina jina hilo.
Ikiwa mwili wa jibu una `"found": false`, simu huenda kwenye
`not_found`. Ikiwa `account_status` yake ni `past_due` au `suspended`, huenda kwenye
`collections`. Akaunti inayotumika husalia katika `lookup`, ambapo modeli husaidia na
kuendelea hadi `support`. Ili kutuma utafutaji ulioshindikana kwenye hatua yake yenyewe, ongeza
masharti ya hali kwanza: jibu la hitilafu huhifadhi msimbo wake wa hali, hivyo
`{"value": "lookup_account_result.status", "op": "gte", "target": 400}`
huinasa, na muda ukiisha au jibu lisipopatikana huhifadhi `"error"`, hivyo
`{"value": "lookup_account_result.status", "op": "eq", "target": "error"}`
huinasa.

## Mfano: dawati la mapokezi hadi malipo

Ejenti wawili. Dawati la mapokezi (ejenti `412`) hujibu kila simu na kuelekeza maswali ya malipo
kwa ejenti wa malipo (ejenti `413`) mwenye prompt, zana na sauti zake mwenyewe.

Kwenye dawati la mapokezi:

```json
{
  "handoffs": [
    {"agent_id": 413, "when": "The caller asks about a bill, a payment or a refund"}
  ]
}
```

Kwenye ejenti wa malipo, ili iweze kumrejesha anayepiga simu:

```json
{
  "handoffs": [
    {"agent_id": 412, "when": "The billing question is resolved and the caller needs something else"}
  ]
}
```

Dawati la mapokezi husema sentensi fupi kama vile "Ngoja nikuunganishe na timu yetu ya
malipo", na ejenti wa malipo hujitambulisha na kuendeleza mazungumzo
mahali dawati la mapokezi lilipoishia. Malipo yanaporejesha simu, dawati la mapokezi huendelea
mahali lilipoishia, bila kumsalimia tena anayepiga simu. Bidhaa ya simu,
lugha, tangazo la idhini na mipangilio mingine ya simu husalia kwenye dawati la
mapokezi, kwa sababu ndilo lililojibu.

Ikiwa malipo yanahitaji maelekezo yake yenyewe pekee na si ejenti yake yenyewe, tumia
hatua ya kimataifa kwenye dawati la mapokezi badala yake. Swali linapojibiwa, simu hurudi
kwenye hatua yoyote aliyokuwa nayo anayepiga simu:

```json
{
  "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"
}
```

## Hatua zinazofuata

<CardGroup cols={2}>
  <Card title="Mwongozo wa prompting" icon="pen" href="/sw/guides/prompting">
    Andika maelekezo ya pamoja na maelekezo ya hatua yanayofanya kazi vizuri kwenye simu.
  </Card>
  <Card title="Unda ujumuishaji wa zana" icon="code" href="/sw/guides/build-tool-integration">
    Unda zana zinazotumiwa na hatua zako na hatua za webhook.
  </Card>
  <Card title="Jaribu ejenti zako" icon="flask" href="/sw/guides/test-agents">
    Endesha hali zilezile dhidi ya kila tawi kabla ya kupeleka.
  </Card>
  <Card title="API ya Agents" icon="robot" href="/api-reference/agents">
    Kila sehemu ya ejenti, rasimu na upelekeaji.
  </Card>
</CardGroup>
