---
title: "Katalogi ya Matukio"
description: "Aina zote za matukio ya webhook ambayo ThunderPhone hutuma."
---

Kila mwili wa webhook una sehemu ya `type` ambayo thamani yake ni mojawapo ya aina za matukio kwenye ukurasa huu. Unapojisajili kwa
[endpoint](/sw/webhooks/endpoints), safu ya `events` lazima iwe na
aina za matukio unazotaka (au iwe tupu ili kujisajili kwa kila tukio —
isipokuwa matukio ya kila zamu [`telephony.turn`](#telephony-turn) /
[`web.turn`](#web-turn), ambayo huwasilishwa tu kwa endpoint
zinazoyataja wazi).

Mitindo miwili ya uwasilishaji hutuma matukio haya:

* **Uwasilishaji wa endpoint** daima ni arifa **zisizozuia**
  zenye [majaribio upya](/sw/webhooks/overview): jibu kwa
  2xx yoyote; bahasha ina `event_id` kwa ajili ya kuondoa nakala.
* Mabadilishano **yanayozuia** hufanyika tu kwenye
  [webhook ya urithi yenye URL moja](/sw/webhooks/overview): ombi la usanidi la
  [`telephony.incoming` / `web.incoming`](/sw/webhooks/call-incoming)
  (namba za hali ya webhook na funguo za wijeti, muda wa kuisha wa s 10)
  na [utumaji wa zana](/sw/tools/overview) wa hali ya webhook.
  Jibu lako huunda simu ya moja kwa moja.

Payload za mfano hapa chini zinaonyesha bahasha ya endpoint katika mpangilio wake wa utumaji
(funguo zimepangwa kialfabeti: `data`, `event_id`, `type`); uwasilishaji wa urithi
hubeba `data` ileile bila `event_id`.

## Matukio ya simu

### `telephony.incoming`

Hutumwa wakati simu inayoingia inapofikia mojawapo ya
[namba zako za simu](/api-reference/phone-numbers). Uwasilishaji wa endpoint ni
arifa za kutuma-na-kusahau zinazotumwa kwa **kila** simu inayoingia, iwe
namba imesanidiwa kwa ejenti au webhook. Namba zisizo na ejenti
aliyepewa pia hupokea ombi la usanidi la **kuzuia** kwenye webhook ya urithi — tazama
[`telephony.incoming` / `web.incoming`](/sw/webhooks/call-incoming) kwa
schema kamili ya ombi / jibu.

```json
{
  "data": {
    "call_id": 987654321,
    "from_number": "+14155550199",
    "to_number": "+15551234567"
  },
  "event_id": "3f6b2ad0-1c9e-4a57-9f2b-8f6f0f9d2f11",
  "type": "telephony.incoming"
}
```

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `agent_id` | integer \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |
| `agent_name` | string \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |

### `telephony.complete`

Hutumwa simu ya telephony inayoingia au inayotoka inapomalizika. Haizuii.
Inajumuisha transkripti, URL ya rekodi inapopatikana, na muhtasari wa malipo. Tazama
[`telephony.complete` / `web.complete`](/sw/webhooks/call-complete) kwa
schema ya payload.

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `agent_id` | integer \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |
| `agent_name` | string \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |

### `telephony.tool`

Hutumwa baada ya simu ya telephony kuita
[zana ya function](/sw/tools/overview). Arifa ya ukaguzi isiyozuia —
zana tayari imetekelezwa tukio hili linapowasilishwa; inahusu
zana zako binafsi za function (si zana zilizojengewa ndani, za msingi wa maarifa,
za muunganisho wa app, au za MCP).

```json
{
  "data": {
    "arguments": { "date": "2026-04-21" },
    "call_id": 987654321,
    "from_number": "+14155550199",
    "response": {
      "response": { "available_slots": ["9:00 AM", "2:00 PM"] },
      "status": 200
    },
    "to_number": "+15551234567",
    "tool_name": "search_appointments"
  },
  "event_id": "1f0a7c3e-52d4-4a0e-8f4b-b1a6a1c0d9e2",
  "type": "telephony.tool"
}
```

`response` ni matokeo yaliyotekelezwa: `{"status": <http status>,
"response": <your endpoint's JSON>}` yakifanikiwa, au
`{"status": <status>, "error": "<message>"}` yakishindwa.

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `agent_id` | integer \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |
| `agent_name` | string \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |

### `telephony.turn`

Hutumwa simu ya telephony ikiwa **inaendelea**, mara moja kwa kila
zamu yenye sauti inapotokea — majibu yanayosemwa ya ejenti na
zamu zilizonakiliwa za mpigaji simu. Hukuwezesha kufuatilia mazungumzo ya moja kwa moja
kupitia webhook za kawaida badala ya kufanya polling
[`GET /v1/calls/{call_id}/transcript`](/api-reference/calls#get-transcript).
Haizuii.

<Note>
  **Usajili mahususi unahitajika.** Tofauti na kila aina nyingine ya tukio,
  matukio ya zamu hayawasilishwi kamwe kupitia mkusanyiko tupu wa `events`
  (jisajili-kwa-yote). Endpoint huyapokea tu wakati orodha yake ya `events`
  ina `telephony.turn` / `web.turn` mahususi.
</Note>

```json
{
  "data": {
    "call_id": 987654321,
    "entry_type": "completion",
    "from_number": "+14155550199",
    "position": 7,
    "role": "assistant",
    "start_ms": 15200,
    "text": "How many employees does your company have?",
    "to_number": "+15551234567"
  },
  "event_id": "8d3f5a2c-7b1e-4c9a-b6d0-2e4f6a8c0d1e",
  "type": "telephony.turn"
}
```

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `agent_id` | integer \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |
| `agent_name` | string \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |
| `position` | integer | Kielezo cha zamu katika historia ya simu — utambulisho thabiti wa kupanga |
| `role` | string | `assistant` (sauti ya ejenti) au `user` (sauti ya mpigaji simu) |
| `text` | string | Maandishi ya transkripti ya zamu kama yanavyojulikana wakati wa utumaji |
| `entry_type` | string | Aina ya ingizo la historia la msingi: `completion` (ejenti), au `user_turn` / `span` (mpigaji simu) |
| `start_ms`, `end_ms` | integer | Vihamisho vya sauti katika ms tangu simu ianze; hupatikana tu wakati muda wa uchezaji ulikuwa tayari unajulikana wakati wa utumaji |

<Note>
  Uwasilishaji ni angalau-mara-moja na zamu zinaweza kufika **bila mpangilio**:
  ondoa nakala kwa `event_id` ya bahasha na panga kwa `position`. Transkripti
  za mpigaji simu zinaweza kuendelea kuboreshwa baada ya kutumwa; transkripti ya
  [`telephony.complete`](/sw/webhooks/call-complete) baada ya simu
  ndiyo yenye mamlaka. Zamu zinazosemwa pekee hutumwa — miito ya zana, minong'ono, na
  maingizo mengine ya ndani hayaonekani kamwe kwenye mtiririko huu.
</Note>

### `web.incoming`

Sawa na `telephony.incoming` kwa chaneli ya wavuti, hutumwa wakati
kipindi cha [wijeti ya wavuti](/sw/widget/overview) au simu ya majaribio ya mic ya builder
inapoanza. Uwasilishaji wa endpoint ni wa kutuma-na-kusahau kwa kila kipindi cha wavuti.
Funguo zinazoweza kuchapishwa katika `mode="webhook"` pia hupokea
ombi la usanidi la **kuzuia** kwenye webhook ya urithi — ombi hilo la
kuzuia lina muundo tofauti (`origin_domain`,
`publishable_key_prefix`; hakuna namba za simu). Tazama
[`telephony.incoming` / `web.incoming`](/sw/webhooks/call-incoming).

```json
{
  "data": {
    "call_id": 987654322,
    "from_number": "web",
    "origin_domain": "https://example.com",
    "publishable_key_prefix": "pk_live_a1b2",
    "to_number": "+15551234567"
  },
  "event_id": "9a2b4c6d-8e0f-4a1b-9c2d-3e4f5a6b7c8d",
  "type": "web.incoming"
}
```

`from_number` daima ni thamani halisi `"web"`. Kwa vipindi vya wijeti
katika hali ya webhook, `to_number` ni tupu (namba ya ejenti ya kipindi hupewa
baada ya usanidi); kwa simu za majaribio ya mic ya builder, `origin_domain` na
`publishable_key_prefix` ni tupu.

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `agent_id` | integer \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |
| `agent_name` | string \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |

### `web.complete`

Sawa na `telephony.complete` kwa chaneli ya wavuti, ikijumuisha simu za
wijeti ya wavuti (`direction: "web"`) na simu za majaribio ya mic ya builder
(`direction: "test"`). Haizuii. Ina muundo sawa wa payload na
[`telephony.complete`](/sw/webhooks/call-complete), pamoja na `origin_domain`,
huku `from_number` ikiwekwa kuwa `"web"`.

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `agent_id` | integer \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |
| `agent_name` | string \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |

<Note>
  Kwenye webhook ya urithi yenye URL moja, simu za majaribio ya mic ya builder
  kihistoria huripotiwa kama `telephony.complete` — simu za `direction:
  "web"` pekee hutumia aina ya `web.complete` hapo. Mfumo wa endpoint
  huweka simu za wavuti na za majaribio katika `web.*`. Payload za kihistoria zinaweza
  kuwa na thamani za urithi za `direction` za `widget` au `mic`.
</Note>

### `web.tool`

Sawa na `telephony.tool` kwa chaneli ya wavuti. `data` hubeba
`origin_domain` badala ya `from_number` / `to_number`.

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `agent_id` | integer \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |
| `agent_name` | string \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |

### `web.turn`

Sawa na [`telephony.turn`](#telephony-turn) kwa chaneli ya wavuti,
ikijumuisha simu za wijeti ya wavuti na simu za majaribio ya mic ya builder. Ina muundo sawa wa
payload, ikiwa na `origin_domain` badala ya `from_number` / `to_number`.
Kama `telephony.turn`, inahitaji **usajili mahususi** —
haiwasilishwi kamwe kupitia mkusanyiko tupu wa `events`.

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `agent_id` | integer \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |
| `agent_name` | string \| null | Ejenti aliyeshughulikia simu, ikiwa alipewa |

---

## Matukio ya sauti

Uundaji wa sauti maalum hufanyika kwa njia isiyosubiri. Matukio haya yasiyozuia hukuruhusu
kuchukua hatua kulingana na matokeo ya mwisho badala ya kuuliza mara kwa mara
[endpoint ya maelezo ya kloni](/api-reference/custom-voices#list-and-retrieve-clones).

`voice.ready` na `voice.failed` hutumwa tu kwenye endpoint ya shirika zima yenye
`events: []`. Hayawezi kuchaguliwa kama vichujio mahususi vya matukio.

### `voice.ready`

Hutumwa sauti maalum inapomaliza kuchakatwa na inaweza kupewa
ejenti.

```json
{
  "data": {
    "voice": {
      "created_at": "2026-07-30T14:12:08.317Z",
      "display_name": "Support voice",
      "failure_reason": "",
      "gender": "female",
      "id": "cv_2f6f90b0e9a34ee8b39be7d1",
      "language": "en",
      "name": "custom:cv_2f6f90b0e9a34ee8b39be7d1",
      "status": "ready",
      "updated_at": "2026-07-30T14:13:31.605Z"
    }
  },
  "event_id": "2d5f0a61-e9b5-4a3c-b684-29d7d9e4b214",
  "type": "voice.ready"
}
```

### `voice.failed`

Hutumwa uchakataji wa sauti maalum unapofikia hitilafu ya kudumu.

```json
{
  "data": {
    "reason": "audio sample could not be processed",
    "voice": {
      "created_at": "2026-07-30T14:12:08.317Z",
      "display_name": "Support voice",
      "failure_reason": "audio sample could not be processed",
      "gender": "female",
      "id": "cv_2f6f90b0e9a34ee8b39be7d1",
      "language": "en",
      "name": "custom:cv_2f6f90b0e9a34ee8b39be7d1",
      "status": "failed",
      "updated_at": "2026-07-30T14:13:31.605Z"
    }
  },
  "event_id": "3493e985-1a75-4f77-a10a-e74af440cd31",
  "type": "voice.failed"
}
```

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `voice.id` | string | Kitambulisho cha umma cha sauti maalum |
| `voice.name` | string | Thamani ya sauti ya ejenti katika muundo `custom:<public_id>` |
| `voice.display_name` | string | Jina la sauti linaloonekana kwa shirika |
| `voice.language` | string | Msimbo wa lugha moja wa kloni |
| `voice.gender` | string | `male`, `female`, au mfuatano tupu |
| `voice.status` | string | `ready` kwa `voice.ready`; `failed` kwa `voice.failed` |
| `voice.failure_reason` | string | Tupu inapofaulu; maelezo ya hitilafu ya uchakataji inaposhindwa |
| `voice.created_at`, `voice.updated_at` | timestamp | Mihuri ya muda ya ISO 8601 |
| `reason` | string | Maelezo ya hitilafu; yapo tu kwenye `voice.failed` |

---

## Matukio ya ubora

### `call.graded`

Hutumwa kila [utekelezaji wa ukadiriaji wa AI](/api-reference/calls#ai-call-grading)
unapokamilika kwa simu. Hautazuia utekelezaji.

```json
{
  "data": {
    "call_id": 987654321,
    "grade": {
      "call_outcome": "success",
      "created_at": "2026-04-20T18:25:11.002Z",
      "detected_issues": [],
      "graded_at": "2026-04-20T18:25:11.002Z",
      "grader_model": "heuristic-v1",
      "id": 5512,
      "score": 92,
      "status": "completed",
      "summary": "Caller asked about their policy and got a full answer…"
    }
  },
  "event_id": "7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f",
  "type": "call.graded"
}
```

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `agent_id` | integer \| null | Ejenti iliyoshughulikia simu, ikiwa iliteuliwa |
| `agent_name` | string \| null | Ejenti iliyoshughulikia simu, ikiwa iliteuliwa |
| `grade.id` | integer | Kitambulisho cha tathmini |
| `grade.score` | integer \| null | 0–100 |
| `grade.call_outcome` | string | `success`, `failure`, `unknown`, au `no_conversation` |
| `grade.summary` | string | Muhtasari wa aya moja |
| `grade.detected_issues` | array | Maandishi ya matatizo yaliyopatikana na mkadiriaji |
| `grade.status` | string | Daima `completed` — utekelezaji uliokamilika pekee hutuma |
| `grade.grader_model` | string | Mkadiriaji uliotoa matokeo (kwa mfano, `heuristic-v1`) |
| `grade.graded_at`, `grade.created_at` | timestamp | |

<Note>
  Simu inaweza kukadiriwa zaidi ya mara moja — tathmini ya haraka ya
  heuristic mara nyingi hufuatiwa na tathmini kamili ya modeli pindi
  rekodi inapopatikana, na ukadiriaji upya wa mkono unawezekana. Kila
  utekelezaji uliokamilika hutuma tukio lake la `call.graded`; chukulia
  `graded_at` ya hivi karibuni kuwa yenye mamlaka.
</Note>

### `campaign.completed`

Hutumwa mara moja kampeni inapohama kutoka `running` hadi `completed`, iwe
ratiba yake imeisha au mawasiliano yote yamefikia hali za mwisho. Majaribio ya
kurudia ya runner hayatumi tukio lingine. Tukio hili la mzunguko wa maisha katika
kiwango cha shirika hutolewa kwa endpoints zenye upeo wa shirika pekee, si
endpoints zenye upeo wa ejenti. Hautazuia utekelezaji.

```json
{
  "data": {
    "campaign_id": "3f6b2c9e-2a0d-4c63-b6d6-a708dc98f403",
    "name": "May win-back",
    "agent_id": 12,
    "status": "completed",
    "started_at": "2026-04-20T17:00:00Z",
    "completed_at": "2026-04-20T18:25:11Z",
    "counts": {
      "contacts_total": 150,
      "completed": 121,
      "failed": 11,
      "no_answer": 18,
      "remaining": 0
    }
  },
  "event_id": "8d8f52ce-6b46-423f-9dde-cea0b91ec135",
  "type": "campaign.completed"
}
```

Hesabu nne za matokeo hazipishani na jumla yake ni `contacts_total`:
`completed` ina mawasiliano yaliyofaulu; `no_answer` ina mawasiliano
yaliyoshindwa au kufikia kikomo cha majaribio ambayo matokeo yao ya mwisho
hayakuwa jibu; `failed` ina mawasiliano mengine yote yaliyoshindwa au kufikia
kikomo cha majaribio; na `remaining` ina mawasiliano yanayosubiri, yaliyopangwa,
au yanayopigiwa simu kwa sasa. Mawasiliano yanayosubiri jaribio la kurudia ni
`remaining`, hata kama jaribio lake la karibuni halikujibiwa. Simu zinazoendelea
hupatanishwa kabla ya muhtasari wa ukamilishaji unaotumwa mara moja pekee.
`started_at` ni mwanzo wa kampeni uliosanidiwa, au muda wa kuundwa kwa kampeni
wakati hakuna mwanzo uliosanidiwa.

### `issue.reported`

Hutumwa [ripoti ya tatizo](/api-reference/issue-reports) inapoundwa —
iwe imewasilishwa na mtumiaji kutoka dashibodi (`source: "user"`) au
kiotomatiki na ukadiriaji wa simu (`source: "system"`). Hautazuia utekelezaji.

```json
{
  "data": {
    "call_id": 987654321,
    "issue_report": {
      "created_at": "2026-04-20T18:25:11.002Z",
      "description": "Five-second silence before responding to the main question.",
      "id": 4321,
      "severity": "warning",
      "source": "system",
      "status": "open",
      "title": "Agent paused too long"
    }
  },
  "event_id": "5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b",
  "type": "issue.reported"
}
```

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `agent_id` | integer \| null | Ejenti iliyoshughulikia simu, ikiwa iliteuliwa |
| `agent_name` | string \| null | Ejenti iliyoshughulikia simu, ikiwa iliteuliwa |
| `issue_report.severity` | string | `critical`, `warning`, au `info` |
| `issue_report.status` | string | `open` au `resolved` |
| `issue_report.source` | string | `user` (imewasilishwa kutoka dashibodi) au `system` (imeundwa na ukadiriaji) |

<Note>
  Kukadiria simu upya huunda upya ripoti zake za matatizo zilizotengenezwa na
  mfumo, jambo linalotuma tena `issue.reported` kwa ripoti zilizoundwa upya.
  Ondoa nakala kulingana na `call_id` + `title` ikiwa unataka arifa moja pekee
  kwa kila tatizo la msingi.
</Note>

### `issue.escalated`

Hutumwa muundo wa tatizo unapotumwa kwa ThunderPhone ili wafanyakazi wapitie:
baada ya **Ripoti kwa ThunderPhone**, au wakati Rekebisha kwa AI haiwezi
kuthibitisha urekebishaji wa upande wa mteja na kuelekeza tatizo kiotomatiki.
Endpoints za shirika zima pekee hupokea tukio hili.

```json
{
  "data": {
    "automatic": false,
    "cluster_id": "7ac2844c-2df0-4fa8-a560-7378da649e19",
    "escalation_id": "ec99f52b-c8c0-41dd-a4f2-dd8a07b10894",
    "status": "open"
  },
  "event_id": "d8f8f420-7a42-45ba-bcf1-b747f9bbecda",
  "type": "issue.escalated"
}
```

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `automatic` | boolean | `true` kwa eskalesheni ya kiotomatiki; `false` kwa eskalesheni ya mkono |
| `cluster_id` | UUID | Muundo wa tatizo uliopandishwa |
| `escalation_id` | UUID | Rekodi ya eskalesheni |
| `status` | string | `open` tukio linapotumwa |

Hii ni arifa, si kifurushi cha ushahidi. Tumia `cluster_id` kuihusisha na
muundo wa tatizo. Tazama [Ripoti kwa ThunderPhone](/sw/guides/issues).

---

## Matukio ya simu za majaribio

### `test-call.completed`

Hutumwa wakati [utekelezaji wa simu ya majaribio](/api-reference/test-calls#test-call-run-object)
unafikia hali ya mwisho — `completed` au `failed`, ikijumuisha utekelezaji
uliofeli wakati wa kuanzishwa na haukuwahi kutoa simu. Haizuii. Ni muhimu
kwa kuunganisha utekelezaji wa CI wa kundi kwenye mifumo yako ya gumzo/arifa.

```json
{
  "data": {
    "test_call_run": {
      "call_id": 987654321,
      "completed_at": "2026-04-20T18:25:04.822Z",
      "error_message": "",
      "id": 7110,
      "status": "completed",
      "target_id": 12,
      "target_type": "agent"
    }
  },
  "event_id": "2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
  "type": "test-call.completed"
}
```

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `agent_id` | integer \| null | Ejenti aliyeshughulikia simu, ikiwa aliteuliwa |
| `agent_name` | string \| null | Ejenti aliyeshughulikia simu, ikiwa aliteuliwa |
| `test_call_run.target_type` | string | `agent` au `phone_number` |
| `test_call_run.target_id` | integer | Kitambulisho cha ejenti au cha nambari ya simu ambacho utekelezaji ulilenga, kinacholingana na `target_type` |
| `test_call_run.status` | string | `completed` au `failed` |
| `test_call_run.call_id` | integer \| null | `null` wakati utekelezaji ulifeli kabla ya simu kupigwa |
| `test_call_run.error_message` | string | Tupu wakati umefanikiwa |

---

## Matukio ya tahadhari

### `alert.triggered`

Hutumwa wakati [sheria ya tahadhari](/sw/guides/alerts) yenye kituo cha **Wasilisha kwa
webhook za msanidi** kilichowashwa inapovuka kizingiti chake.
Haizuii. Sheria huwashwa mara moja kisha huheshimu kipindi chake cha kusubiri, hivyo
ukiukaji endelevu hutoa tukio moja kwa kila dirisha la kipindi cha kusubiri.

```json
{
  "data": {
    "comparator": "lt",
    "event_id": "b8e6a1d4-2c3f-4a5b-9c8d-7e6f5a4b3c2d",
    "fired_at": "2026-04-20T18:00:00+00:00",
    "metric": "success_rate",
    "metric_value": 71.4,
    "rule_id": "d2c3b4a5-6f7e-4d8c-9b0a-1c2d3e4f5a6b",
    "rule_name": "Success rate below 80%",
    "threshold": 80.0,
    "window_hours": 24
  },
  "event_id": "4d5e6f7a-8b9c-4d0e-9f1a-2b3c4d5e6f7a",
  "type": "alert.triggered"
}
```

| Sehemu | Aina | Maelezo |
|-------|------|-------------|
| `event_id` (katika `data`) | UUID | Kitambulisho cha **uwashaji** wa tahadhari — tofauti na `event_id` ya uwasilishaji ya bahasha |
| `rule_id`, `rule_name` | UUID, string | Sheria iliyowashwa |
| `metric` | string | `success_rate`, `failure_rate`, `avg_score`, `call_volume`, au `suite_regression` |
| `comparator` | string | `lt`, `lte`, `gt`, au `gte` |
| `metric_value` | number | Thamani ya kipimo katika dirisha wakati sheria ilipowashwa |
| `threshold` | number | Kizingiti kilichosanidiwa |
| `window_hours` | integer | Dirisha la tathmini la kipindi kilichopita |
| `fired_at` | timestamp | |

Tazama [mwongozo wa Tahadhari](/sw/guides/alerts) ili kuunda sheria, vipimo,
vipindi vya kusubiri, na vituo vya barua pepe / Slack.

---

## Yanayohusiana

<CardGroup cols={2}>
  <Card title="telephony.incoming / web.incoming" icon="phone" href="/sw/webhooks/call-incoming">
    Payload ya simu inayoingia inayozuia ambayo lazima ujibu.
  </Card>
  <Card title="telephony.complete / web.complete" icon="phone-slash" href="/sw/webhooks/call-complete">
    Nakala ya mazungumzo na vipimo baada ya simu.
  </Card>
  <Card title="Vituo vya webhook" icon="bolt" href="/sw/webhooks/endpoints">
    Sajili URL kwa kikundi kidogo cha matukio haya.
  </Card>
  <Card title="Zana za Function" icon="screwdriver-wrench" href="/sw/tools/overview">
    Jinsi matukio ya `telephony.tool` / `web.tool` yanavyotengenezwa.
  </Card>
</CardGroup>
