---
title: "الأدوات المدمجة"
description: "وجّه وكلاء ThunderPhone لإنهاء المكالمات، وتحويل المتصلين، والتنقل عبر لوحات المفاتيح، والانتظار أثناء التعليق، والبحث في المعرفة، وتشغيل الأصوات، وإرسال البريد الإلكتروني، وحساب الإجماليات."
---

تتيح الأدوات المضمّنة للوكيل تنفيذ إجراءات مكالمات شائعة دون ربط واجهة API الخاصة بك. تتوفر معظمها تلقائيًا؛ ولا تظهر خيارات البريد الإلكتروني والأصوات والآلة الحاسبة والبحث في المعرفة إلا بعد تهيئة الإعداد أو المصدر ذي الصلة. أخبر الوكيل في موجّهه بموعد استخدام كل إجراء.

| الأداة | استخدامها | كيفية تفعيلها | المكالمات المدعومة |
| --- | --- | --- | --- |
| `end_call` | إنهاء محادثة مكتملة | متاحة دائمًا | الهاتف، وTalk في المتصفح، والودجت، والمحاكاة، وRealtime |
| `transfer_call` | توجيه متصل هاتفي | هيّئ التوجيه في الموجّه | مكالمات هاتفية عادية؛ ويمكن لـ Realtime المضمّن مع `call_events` استخدام التحويل البارد. لا يتضمنه Realtime للوكيل المحفوظ. |
| `send_keypad_input` | ضغط مفاتيح في قائمة هاتفية آلية | متاحة دائمًا في المكالمات الهاتفية العادية | المكالمات الهاتفية؛ وRealtime الصادر المضمّن مع `call_events`. لا يتضمنه Realtime للوكيل المحفوظ. |
| `no_response` | متابعة الاستماع أثناء تحدث قائمة آلية أو تفكير المتصل بصوت مرتفع؛ ويتلقى المتصل الذي يطلب من الوكيل الانتظار عبارة "بالتأكيد." فقط | متاحة دائمًا | جميع أنواع المكالمات |
| `wait_on_hold` | الانتظار بصمت حتى عودة شخص | مضمّنة في المكالمات الصادرة | جلسات الهاتف الصادرة وRealtime الصادر المضمّن |
| `search_knowledge_base` | الإجابة من المصادر المرفقة | أرفق المعرفة بالوكيل | مكالمات الوكيل المحفوظ مع معرفة مرفقة |
| `play_sound` | تشغيل صوت إشعار مُهيّأ | **متقدم → صوت الأداة** | مكالمات الوكيل المحفوظ |
| `send_email` | إرسال بريد إلكتروني إلى مستلم ثابت واحد | **متقدم → إرسال بريد إلكتروني** | مكالمات الوكيل المحفوظ |
| `calculate` | جمع الإجماليات والرسوم والباقي بدقة | **متقدم → الآلة الحاسبة** | مكالمات الوكيل المحفوظ |

## `end_call`

ينهي المكالمة الحالية عندما يطلب الموجّه من النموذج ذلك. وهو متاح افتراضيًا
ولا يتطلب إعدادًا للوكيل.

اكتب الشرط وأي عبارة وداع مطلوبة في الموجّه:

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

تكون للمكالمة التي ينهيها النموذج قيمة `end_reason: "ai_hangup"`، بما في ذلك المكالمة التي تنتهي بعد تحذير الحد الزمني للمكالمة. لا تنتهي المكالمة بالقيمة `max_duration` إلا إذا تم بلوغ الحد الزمني أولًا، وبالقيمة `balance_exhausted` عند نفاد الرصيد المدفوع مسبقًا.

## `transfer_call`

يحوّل متصلًا هاتفيًا إلى رقم ثابت يقدمه النموذج. التحويل البارد فوري. أما
التحويل الدافئ المُفحَص فيتصل بالوجهة بشكل خاص قبل وصل الطرفين. يتطلب التحويل
الدافئ رقم VoIP مستوردًا تم التحقق منه ويمكنه إجراء مكالمات صادرة.

ضع رقم الوجهة وشرط التوجيه الدقيق في الموجّه:

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

يحتوي التحويل البارد الناجح على `end_reason: "ai_transfer"`؛ بينما يحتوي
التسليم الدافئ المكتمل على `end_reason: "ai_warm_transfer"`. تعيد محاولة
التحويل الدافئ الفاشلة التحكم إلى الوكيل، لذا يحدد انتهاء المكالمة اللاحق سبب
إنهائها. في الجلسات غير الهاتفية، ينهي طلب التحويل الجلسة بدلًا من ذلك.

راجع [تحويل المكالمات](/ar/guides/call-transfers) لإعداد لوحة التحكم وواجهة API،
والتوجيه، والفحص، ومعالجة الإخفاقات، والحدود، والاختبار.

## `send_keypad_input`

يرسل أرقام DTMF (لوحة مفاتيح الهاتف) `0`–`9` و`*` و`#` إلى خط هاتف. يستخدمه
النموذج للتنقل في IVR، وهي القائمة الآلية التي تطلب من المتصلين ضغط المفاتيح.
وهو متاح افتراضيًا ولا يتطلب إعدادًا للوكيل.

أخبر النموذج بالقوائم التي يمكنه التنقل فيها ومصدر القيم المطلوبة. لا تطلب منه
تخمين خيارات القائمة:

```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.
```

تزيل المنصة الأحرف غير المدعومة وترسل الأرقام الصالحة بالترتيب. إذا لم تبقَ
أي أرقام صالحة أو لم تتمكن المكالمة من إرسال إدخال لوحة المفاتيح، يُعاد الإخفاق
إلى الوكيل كي يتمكن من التعافي.

## `no_response`

يبقى الوكيل صامتًا بينما لا يزال نظام آلي يتحدث أو يطلب منه مواصلة
الاستماع، وأثناء تفكير المتصل بصوت عالٍ ("أمم، دعني أرى") أو التفاته للتحدث
إلى شخص آخر. عندما يطلب المتصل من الوكيل الانتظار بينما يفعل شيئًا ما ("لحظة
واحدة"، "دعني أتحقق"، "هل يمكنك الانتظار ثانية؟") ولا يقدّم له شيئًا آخر
ليجيب عنه، يقول الوكيل فقط "بالتأكيد." (وليس "خذ وقتك") وينتظر حتى يتحدث
المتصل مجددًا. تستمر رسائل التحقق أثناء صمت الوكيل في العمل، وتُقال دائمًا
إذا بقي الخط هادئًا. لا يُستخدم هذا لإلقاء التحية على شخص حي، أو للإجابة عن
سؤال، أو لقائمة انتظار حقيقية. وهو متاح افتراضيًا ولا يتضمن إعدادًا للوكيل.

إذا كان موجّهك يحدّد للوكيل ما يقوله عندما يطلب المتصل لحظة، فالموجّه هو
الذي يُطبّق.

عادةً ما يكون الوصف المضمن كافيًا. بالنسبة إلى المكالمات التي تعتمد بكثرة على
IVR، عزز الحد الفاصل في الموجّه:

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

لا ينهي هذا الإجراء المكالمة.

## `wait_on_hold`

يضع وكيلاً صادراً في حالة انتظار صامت حتى يعود شخص حي.
يستخدمه النموذج فقط بعد أن يصرّح الطرف الآخر صراحةً بأنه يضع الوكيل
قيد الانتظار. يتوفر تلقائياً في المكالمات الصادرة ولا يتضمن إعداداً في لوحة التحكم.

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

لا توجّه الوكيل لاستخدامه مع رسالة «يرجى الانتظار» الخاصة بنظام الرد الصوتي الآلي IVR. يستمر الانتظار
لمدة تصل إلى 15 دقيقة افتراضياً. بالنسبة إلى المكالمات الصادرة العادية، يقبل `POST /v1/call`
المعامل `max_hold_seconds` كعدد صحيح موجب؛ بينما يقيّد Realtime قيمة
`max_hold_seconds` بما بين 10 و900 ثانية. إذا عاد الشخص،
يستأنف الوكيل دون تغيير سبب إنهاء المكالمة. إذا انتهت المهلة،
تنهي المنصة المكالمة بالقيمة `end_reason: "ai_hangup"`.

## `search_knowledge_base`

يبحث في المستندات المرفقة بالوكيل ويعيد المقاطع ذات الصلة. أرفق
قاعدة معرفة أو مستندات معرفة فردية لتمكينه، ثم أخبر النموذج بالإجابات
التي يجب أن تأتي من تلك المصادر:

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

إذا فشل البحث، تُعاد النتيجة إلى الوكيل. راجع [قاعدة
المعرفة](/ar/guides/knowledge-base) لإعداد لوحة التحكم وواجهة API.

## `play_sound`

يشغّل صوت الإشعار المُعدّ للوكيل بعد أي كلام في الدور نفسه.
في لوحة التحكم، اضبط **متقدم → صوت الأداة** على **رنين** أو **طنين**،
أو **صفير**، ثم انشر الوكيل. يؤدي اختيار **بلا** إلى إزالة الأداة.

باستخدام [واجهة Agents API](/api-reference/agents)، جهّز `play_sound_asset` بالقيمة
`"chime"` أو `"ding"` أو `"beep"`، ثم انشر الوكيل. اضبطه على `""` لتعطيل
الأداة.

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

يُعاد فشل التشغيل إلى الوكيل ولا ينهي المكالمة.

## `send_email`

يرسل بريداً إلكترونياً بنص عادي إلى المستلم الوحيد الذي يضبطه مالك الوكيل.
يوفر النموذج الموضوع والنص. ولا يرى مطلقاً معلماً للمستلم
ولا يمكنه اختيار العنوان أو تغييره.

في لوحة التحكم، فعّل **متقدم → إرسال بريد إلكتروني**، واحفظ عنوان المستلم،
ثم انشر الوكيل. باستخدام [واجهة Agents API](/api-reference/agents)، جهّز كلاً من
`send_email_enabled: true` وقيمة `send_email_recipient` غير فارغة، ثم انشر الوكيل.
حدّد المشغّل والمحتويات المطلوبة في الموجّه:

```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.
```

يمكن للمكالمة محاولة إرسال ثلاثة رسائل بريد إلكتروني كحد أقصى. يقتصر كل موضوع على 300
حرف، وكل نص على 20,000 حرف. تُعاد إلى الوكيل حالات غياب الإعدادات والمحتوى
غير الصالح والحد لكل مكالمة وإخفاقات التسليم.
يستهلك فشل التسليم أيضاً واحدة من المحاولات الثلاث.

اختبر باستخدام مستلم خاضع للرقابة قبل النشر على نطاق واسع. يرسل Browser Talk
والمحاكاة رسائل بريد إلكتروني حقيقية؛ ولا يتوفر وضع تشغيل تجريبي.

## `calculate`

يقيّم تعبيرًا حسابيًا بدقة ويعيد النتيجة، لكي لا يجمع الوكيل الأسعار ذهنيًا. تكون هذه الأداة متوقفة افتراضيًا. في لوحة التحكم، فعّل **متقدم ← الحاسبة**، ثم انشر الوكيل. باستخدام [واجهة برمجة التطبيقات للوكلاء](/api-reference/agents)، جهّز `calculator_enabled: true`، ثم انشر.

يكتب النموذج التعبير، مثل `2*23.5 + 16.5 + 4`، ويقرأ النتيجة للمتصل. يمكن أن تستخدم التعبيرات الأرقام، و`+`، و`-`، و`*`، و`/`، والأقواس. يمكن لمكالمة واحدة أن تتضمن ما يصل إلى 10 تعبيرات مفصولة بـ `;`، مثل المجموع الفرعي والإجمالي مع رسوم التوصيل، وبحد أقصى 500 حرف إجمالًا. تُقرّب النتائج إلى 10 منازل عشرية. الحساب عبارة عن عمليات عشرية دقيقة، لذا يعيد `0.1 + 0.2` القيمة `0.3`. تُعاد القسمة على صفر وأي مشكلة أخرى في التعبير إلى الوكيل كخطأ لتصحيحه. تعمل على ThunderPhone وتجيب فورًا، من دون عبارة حشو أو صوت كتابة.

فعّلها للوكلاء الذين يذكرون إجماليات الطلبات أو الرسوم أو الباقي. لا حاجة إلى تغيير الموجّه.

## ملاحظة التوافق

يبقى إعداد **متقدم → إفصاحات غير قابلة للمقاطعة** والحقل القديم
`speak_uninterruptible_enabled` متاحين للتوافق، لكن تفعيلهما
لا يؤثر في شيء. اترك الإعداد معطلاً؛ فلا يمكن لأي موجّه تفعيل هذه الأداة.

بالنسبة إلى إفصاح مطلوب في بداية المكالمة، استخدم **إعلان الموافقة**. يُشغّل
حرفياً قبل المحادثة العادية ولا يمكن مقاطعته. راجع [قوانين الموافقة على تسجيل
المكالمات](/ar/guides/recording-consent-laws).

## اختبار الأدوات المضمنة ومراقبتها

استخدم Browser Talk أو محاكاة للتحقق من التوجيه والبحث المعرفي والأصوات
والبريد الإلكتروني. لا تستطيع هذه البيئات محاكاة سلوك شبكة الهاتف. اختبر
التنقل عبر لوحة المفاتيح والانتظار في مكالمة هاتفية صادرة، واختبر تحويلاً دافئاً
كاملاً في مكالمة حقيقية باستخدام رقم VoIP مستورد مؤهل. يقتصر دعم Realtime
كما هو موضح في الجدول أعلاه.

## المكالمات والتسعير وخطافات الويب

لا تفرض الإجراءات المضمّنة رسوماً على الأداة لكل استخدام. تظل رسوم المكالمات
ومزوّد الخدمة العادية سارية؛ راجع [التسعير](/ar/guides/pricing). قد تظهر استدعاءاتها ونتائجها
في النص المفرغ المكتمل، لكنها لا تُصدر `telephony.tool` أو `web.tool`.
هذه الأحداث مخصصة لـ [الدوال التي يعرّفها المستخدم](/ar/tools/overview). لا يغيّر
`end_reason` الخاص بالمكالمة سوى إنهاء مكالمة أو تحويل مكتمل؛ وتُعاد حالات الإخفاق الأخرى
إلى الوكيل الصوتي. راجع [خطافات ويب الإكمال](/ar/webhooks/call-complete) للاطلاع على
سجل المكالمة.
