https://retellai.com/?utm_source=discord&utm_medium=seo logo
comment faire pour definir dans ke python sdk ou a...
# ❓・ai-evy-support
s
@AI Evy comment faire pour definir dans ke python sdk ou api, des dynamic variables ? Mon but est de definir des variables que mon agent doit collected lors de la discussion ?
a
Thanks for tagging me @so16. I'll look through relevant sources and get back to you shortly.
### Answer Pour définir des variables dynamiques avec le Python SDK de Retell AI, vous avez deux approches principales : ## 1. Injecter des variables au moment de l'appel Utilisez le paramètre
retell_llm_dynamic_variables
lors de la création d'un appel téléphonique [(1) ]() :
Copy code
python
call = client.call.create_phone_call(
    from_number="+xxxxxxxxx",
    to_number="+xxxxxxxxx",
    retell_llm_dynamic_variables={
        "customer_name": "John Doe"
    }
)
Ces variables peuvent ensuite être référencées dans vos prompts avec la syntaxe
{{variable_name}}
[(2) ]() . ## 2. Collecter des variables pendant la conversation Pour extraire et stocker des variables dynamiquement pendant l'appel, Retell AI propose un système d'extraction en temps réel [(3) ]() . Vous pouvez configurer votre agent pour collecter automatiquement des informations comme des noms, emails, budgets, etc. Les variables collectées sont ensuite disponibles dans le champ
collected_dynamic_variables
de la réponse de l'appel [(1) ]() . ## 3. Mettre à jour les variables pendant un appel Vous pouvez également utiliser le paramètre
override_dynamic_variables
pour modifier ou ajouter des variables pendant un appel [(4) ]() . Les types de variables supportés incluent : texte, nombres, booléens et énumérations [(3) ]() . SOURCES UTILISÉES: [(2) ]() , [(1) ]() , [(4) ]() , [(3) ]()
​ To learn more, see the sources I considered: [[1] Create Phone Call](https://docs.retellai.com/api-references/create-phone-call) [[2] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) [[3] Platform Changelogs | Retell AI](https://www.retellai.com/changelog) [[4] Update Chat](https://docs.retellai.com/api-references/update-chat) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
s
@AI Evy Non je ne parle pas de ca, je parle des variables que l'agent doit extraire lors dr la conversation, Extract dynamic variable tool, comme par exemple: customer_salary: "Ask the customer his salary expectations" C'est une valeur qje je n'ai pas avant l'appel que le customer doit repondre, et je dois mettre la valeur en variable
a
Thanks for the follow-up, @so16. I'll get back to you soon.
### Answer Pour configurer l'extraction de variables dynamiques pendant la conversation avec Retell AI, vous devez utiliser l'outil Extract Dynamic Variables. Voici comment procéder : ## Configuration via l'interface Retell AI ### 1. Ajouter l'outil Extract Dynamic Variable Ajoutez cet outil à votre agent pour lui permettre d'extraire des variables pendant la conversation [(1) ]() . ### 2. Créer vos variables Cliquez sur "+Add" et configurez chaque variable avec : - Variable Name : Le nom de la variable (ex:
customer_salary
) - Description : Une explication de ce que cette valeur doit être (ex: "Ask the customer his salary expectations") - Variable Type : Choisissez parmi
Text
,
Number
,
Enum
, ou
Boolean
### 3. Mettre à jour le prompt Ajoutez explicitement dans votre prompt quand invoquer la fonction d'extraction . Par exemple :
Copy code
When user states his name and phone number, please extract the information by calling the `extract_user_details` function.
## Types de variables disponibles Vous pouvez créer des variables de ces types [(1) ]() [(2) ]() : - Text : Mots ou phrases (ex: "headache", "John Smith") - Number : Valeurs numériques (ex: 42, 98.6) - Enum : Valeur d'une liste prédéfinie (ex: "Yes", "No", "Maybe") - Boolean : Vrai ou faux ## Récupération des variables via l'API Les variables extraites seront disponibles dans le champ
default_dynamic_variables
de votre configuration LLM [(3) ]() , et vous pourrez les récupérer après l'appel via l'API. Cette fonctionnalité permet à vos agents d'extraire et stocker automatiquement des informations comme des noms, emails, budgets et préférences en temps réel pendant la conversation [(4) ]() . SOURCES UTILISÉES: [(1) ]() , [(2) ]() , [(3) ]() , [(4) ]()
​ To learn more, see the sources I considered: [[1] Extract Dynamic Variables](https://docs.retellai.com/build/single-multi-prompt/extract-dv) [[2] Extract Dynamic Variable Node](https://docs.retellai.com/build/conversation-flow/extract-dv-node) [[3] Get Retell LLM](https://docs.retellai.com/api-references/get-retell-llm) [[4] Major Platform Upgrades: Knowledge base, warm transfer, Voice & Analytics](https://www.retellai.com/changelog/major-platform-upgrades-knowledge-base-warm-transfer-voice-analytics) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
s
@AI Evy je travaille sur un multi tenant app, chacun de mes users va avoir ses propre agent, et par consequent je ne peux pas configurer cela sur les agents manuellement sur le dashboard, existe il un moyen utilisant le python sdk ou bien une api existante que je peux utiliser ?
a
Thanks for the follow-up, @so16. I'll get back to you soon.
### Answer Pour une application multi-tenant où chaque utilisateur a son propre agent, vous pouvez configurer l'extraction de variables dynamiques programmatiquement via l'API Retell AI. ## Configuration via l'API Bien que les sources fournies ne détaillent pas explicitement l'API pour configurer l'outil "Extract Dynamic Variables" programmatiquement, voici ce que vous pouvez faire : ### 1. Définir les variables au niveau de l'agent Vous pouvez configurer des variables dynamiques par défaut lors de la création ou mise à jour d'un agent via l'API [(1) ]() . Ces variables serviront de structure pour ce que l'agent doit collecter. ### 2. Injecter des variables spécifiques par appel Lors de la création d'un appel, vous pouvez passer des variables dynamiques spécifiques via le paramètre
retell_llm_dynamic_variables
. ### 3. Récupération des variables extraites Les variables collectées pendant la conversation seront disponibles dans la réponse de l'appel et peuvent être récupérées via l'API [(2) ]() . ## Recommandation Pour une architecture multi-tenant, je vous suggère de : 1. Créer des agents programmatiquement pour chaque tenant via l'API Retell AI 2. Configurer les outils d'extraction de variables via l'interface une fois comme template 3. Cloner ou créer des agents similaires pour chaque nouveau tenant Malheureusement, les sources disponibles ne montrent pas d'exemple de code Python SDK pour configurer l'outil "Extract Dynamic Variables" directement. Je vous recommande de consulter la documentation API complète de Retell AI ou de contacter leur support pour obtenir des détails sur la configuration programmatique des outils d'extraction. SOURCES UTILISÉES: [(1) ](
-variables) , [(2) ]()
​ To learn more, see the sources I considered: [[1] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) [[2] Major Platform Upgrades: Knowledge base, warm transfer, Voice & Analytics](https://www.retellai.com/changelog/major-platform-upgrades-knowledge-base-warm-transfer-voice-analytics) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
s
@AI Evy Est ce que j'ai la possibilite de definir cela une seul fois pour mon account retell ? Et pas a chaque agent ? Ou bien definir une fois et associer cela a un agent utilisant une api ?
a
Thanks for the follow-up, @so16. I'll get back to you soon.
### Answer D'après les sources disponibles, les variables dynamiques dans Retell AI sont configurées au niveau de l'agent et non au niveau du compte [(1) ]() . ## Configuration au niveau de l'agent Vous pouvez définir des variables dynamiques par défaut au niveau de chaque agent . Ces variables servent de valeurs de secours et ne sont utilisées que lorsque des variables spécifiques ne sont pas incluses dans la requête d'appel . ## Fonctionnement des variables dynamiques Les variables dynamiques peuvent être utilisées dans plusieurs emplacements de configuration de l'agent : - Prompts : Instructions et personnalité de l'agent - Begin message : Message d'accueil - Configurations d'outils : URLs de fonctions personnalisées, descriptions d'outils, descriptions de propriétés - Gestion des appels : Messages vocaux, numéros de transfert, instructions de transfert - URL de webhook ## Variables système par défaut Retell fournit automatiquement certaines variables système qui sont disponibles pour tous les agents sans configuration , comme
{{current_time}}
,
{{session_type}}
,
{{call_id}}
, etc. ## Limitation Les sources disponibles n'indiquent pas de possibilité de définir des variables dynamiques une seule fois au niveau du compte et de les partager entre plusieurs agents. Chaque agent doit avoir ses propres variables dynamiques configurées . Pour votre cas d'utilisation multi-tenant, vous devrez configurer les variables dynamiques individuellement pour chaque agent créé programmatiquement via l'API. SOURCES UTILISÉES:
​ To learn more, see the sources I considered: [[1] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
s
@AI Evy je veux savoir la chose suivante, comment faire pour definir des variables que l'agent doit remplir en fonction de la conversation? L'agent nr dois pas appeler de fonction, uniquement retour er une valeur string, int definis d'avance
a
Thanks for the follow-up, @so16. I'll get back to you soon.
### Answer Pour que votre agent collecte et remplisse des variables pendant la conversation sans appeler de fonction externe, vous devez utiliser l'outil Extract Dynamic Variables de Retell AI [(1) ]() [(2) ]() . ## Configuration de l'extraction de variables ### 1. Ajouter l'outil Extract Dynamic Variable Ajoutez cet outil à votre agent pour lui permettre d'extraire des variables pendant la conversation . ### 2. Définir vos variables Pour chaque variable à collecter, configurez : - Variable Name : Le nom de la variable (ex:
customer_salary
) - Description : Une explication de ce que cette valeur doit être (ex: "Ask the customer his salary expectations") - Variable Type : Choisissez parmi
Text
,
Number
,
Enum
, ou
Boolean
- Enum Options : Les options disponibles (uniquement pour le type Enum) ### 3. Types de variables supportés Vous pouvez créer des variables de ces types : - Text : Mots ou phrases (exemples: "headache", "John Smith") - Number : Valeurs numériques (exemples: 42, 98.6) - Enum : Valeur d'une liste prédéfinie (exemples: "Yes", "No", "Maybe") - Boolean : Vrai ou faux ### 4. Mettre à jour le prompt Il est recommandé d'inclure explicitement dans votre prompt quand invoquer la fonction d'extraction [(1) ]() . Par exemple :
Copy code
When user states his name and phone number, please extract the information by calling the `extract_user_details` function.
## Fonctionnement L'agent utilisera cet outil interne pour extraire et stocker les informations pendant la conversation [(3) ]() . Les variables collectées seront automatiquement sauvegardées sans nécessiter d'appel à une fonction externe ou API personnalisée [(1) ]() [(2) ]() . Les variables extraites peuvent ensuite être référencées dans vos prompts avec la syntaxe
{{variable_name}}
[(4) ]() et seront disponibles pour utilisation dans d'autres parties de votre configuration d'agent . SOURCES UTILISÉES: , [(1) ]() , [(2) ]() , [(3) ]()
​ To learn more, see the sources I considered: [[1] Extract Dynamic Variables](https://docs.retellai.com/build/single-multi-prompt/extract-dv) [[2] Extract Dynamic Variable Node](https://docs.retellai.com/build/conversation-flow/extract-dv-node) [[3] Platform Changelogs | Retell AI](https://www.retellai.com/changelog) [[4] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
s
@AI Evy this is exactly what I need, but in code not in retell dashboard
a
Thanks for the follow-up, @so16. I'll get back to you soon.
### Answer Let's review the documentation to ensure we know exactly where the information for Retell AI comes from: [(1) ]() : [Extract Dynamic Variables]() [(2) ]() : [Dynamic Variables]() [(3) ]() : [Major Platform Upgrades: Knowledge base, warm transfer, Voice & Analytics]() [(4) ]() : [Setup versioning and tags for agents]() [(5) ]() : [Error updating general_tools with tool type extract_dynamic_variable in Retell LLM API]() Based on the available sources, there's an important limitation when trying to add Extract Dynamic Variable tools programmatically via the API . According to a Discord discussion, when attempting to create tools of type
extract_dynamic_variable
using the Update Retell LLM endpoint, users encountered errors . The key insight from that discussion is that you must first create the function inside the agent using the Create LLM API endpoint, and then the Update LLM API can only update what's already there . The documentation shows the structure for Extract Dynamic Variables includes [(1) ]() : - Variable Name – A short name to reference this variable - Description – A brief explanation of what this value should be - Variable Type –
Choose from
Text
,
Number
,
Enum
, or
Boolean
- Enum Options – Options to choose from (only when type is enum) However, the available sources don't provide a complete Python SDK code example for programmatically creating Extract Dynamic Variable tools. The documentation focuses on the dashboard interface configuration . For your multi-tenant application, you would need to: 1. Create the extract_dynamic_variable tool when initially creating the LLM/agent via the Create LLM API endpoint [(5) ]() 2. The tool cannot be added later via the Update endpoint - it must be defined at creation time I don't have complete API code examples in the sources for creating these tools programmatically. I recommend checking the [Documentation]() or contacting a [certified Retell partner]() for specific API implementation guidance. Would you like a general answer based on my knowledge instead?
​ To learn more, see the sources I considered: [[1] Extract Dynamic Variables](https://docs.retellai.com/build/single-multi-prompt/extract-dv) [[2] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) [[3] Major Platform Upgrades: Knowledge base, warm transfer, Voice & Analytics](https://www.retellai.com/changelog/major-platform-upgrades-knowledge-base-warm-transfer-voice-analytics) [[4] Setup versioning and tags for agents](https://docs.retellai.com/agent/version) [[5] Error updating general_tools with tool type extract_dynamic_variable in Retell LLM API](https://discord.com/channels/1186424376300679209/1438181992498728980) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
s
@AI Evy ou et comment definir extract_dynamic_variable dans la creation de llm, ou update, quel est le format dans python sdk
a
Thanks for the follow-up, @so16. I'll get back to you soon.
### Answer Based on the available sources, there's an important limitation when trying to add Extract Dynamic Variable tools programmatically via the API [(1) ]() . According to a Discord discussion, when attempting to create tools of type
extract_dynamic_variable
using the Update Retell LLM endpoint, users encountered errors . The key insight from that discussion is that you must first create the function inside the agent using the Create LLM API endpoint, and then the Update LLM API can only update what's already there . ## Format pour Extract Dynamic Variable D'après la documentation de l'API Update Retell LLM, voici le format pour définir un outil
extract_dynamic_variable
[(2) ]() :
Copy code
json
{
  "type": "extract_dynamic_variable",
  "name": "extract_dynamic_test",
  "description": "Extract the field test",
  "variables": [
    {
      "type": "string",
      "name": "test",
      "description": "Test field"
    }
  ]
}
## Types de variables supportés Les variables peuvent être de type [(3) ]() : - Text (string) : Mots ou phrases - Number : Valeurs numériques - Enum : Valeur d'une liste prédéfinie - Boolean : Vrai ou faux ## Point important Selon la discussion Discord, vous devez créer l'outil
extract_dynamic_variable
lors de la création initiale du LLM via l'API Create LLM [(1) ]() . L'endpoint Update LLM peut seulement modifier ce qui existe déjà, pas ajouter de nouveaux outils de ce type . Malheureusement, les sources disponibles ne fournissent pas d'exemple complet en Python SDK pour créer ces outils programmatiquement. Je vous recommande de consulter la [Documentation]() ou de contacter un [partenaire certifié Retell]() pour obtenir des détails spécifiques sur l'implémentation API. SOURCES UTILISÉES: [(3) ]() , [(2) ]() , [(1) ]()
​ To learn more, see the sources I considered: [[1] Error updating general_tools with tool type extract_dynamic_variable in Retell LLM API](https://discord.com/channels/1186424376300679209/1438181992498728980) [[2] Update Retell LLM](https://docs.retellai.com/api-references/update-retell-llm) [[3] Extract Dynamic Variables](https://docs.retellai.com/build/single-multi-prompt/extract-dv) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
s
@AI Evy how extracting the values from the call after agent filled them? Is it call.collected_dynamic_variables ?
a
Thanks for the follow-up, @so16. I'll get back to you soon.
### Answer Yes, exactly! After the agent extracts dynamic variables during the conversation, you can retrieve them from the
collected_dynamic_variables
field [(1) ]() [(2) ]() [(3) ]() [(4) ]() . ## Retrieving Collected Dynamic Variables The
collected_dynamic_variables
object becomes available after the call ends and contains all the variables that were extracted during the conversation [(1) ]() [(3) ]() [(4) ]() . ### Example Response Structure When you retrieve a call using the Get Call API, the response includes [(4) ]() :
Copy code
json
{
  "call_id": "Jabr9TXYYJHfvl6Syypi88rdAHYHmcq6",
  "collected_dynamic_variables": {
    "last_node_name": "Test node"
  }
}
### Using Python SDK To retrieve the collected variables after a call:
Copy code
python
# Get the call details
call_response = client.call.retrieve('your_call_id')

# Access the collected dynamic variables
collected_vars = call_response.collected_dynamic_variables
## Important Notes - The
collected_dynamic_variables
field is only available after the call ends [(1) ]() [(3) ]() [(4) ]() - These variables are populated when your agent uses the Extract Dynamic Variables tool during the conversation - According to a Discord discussion, Retell AI will not populate custom post-call analysis fields for calls that were not connected or where no conversation took place, so make sure to check whether the field exists before using it [(5) ]()
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
s
@AI Evy difference entre collected_dynamic_variables et call.call_analysis.custom_analysis_data, qu'est ce que c'est exactement ? Ou doit je definir mes varible que l'agent doit fill selon la discussion ?
a
Thanks for the follow-up, @so16. I'll get back to you soon.
### Answer ## Différence entre
collected_dynamic_variables
et
custom_analysis_data
Ces deux champs servent des objectifs différents et sont remplis à des moments différents du cycle de vie de l'appel: ###
collected_dynamic_variables
Ce champ contient les variables extraites en temps réel pendant la conversation par l'agent en utilisant l'outil Extract Dynamic Variables [(1) ]() [(2) ]() . Les variables sont collectées au fur et à mesure que l'utilisateur fournit les informations [(3) ]() [(4) ]() . Exemple de structure: [(3) ]()
Copy code
json
"collected_dynamic_variables": {
  "last_node_name": "Test node"
}
Ces variables sont disponibles après la fin de l'appel [(3) ]() [(4) ]() . ###
custom_analysis_data
Ce champ fait partie de
call_analysis
et contient les données d'analyse personnalisées générées après l'appel lors de l'analyse post-appel [(5) ]() [(3) ]() [(4) ]() . Exemple de structure: [(3) ]()
Copy code
json
"call_analysis": {
  "call_summary": "The agent called the user to ask question about his purchase inquiry...",
  "in_voicemail": false,
  "user_sentiment": "Positive",
  "call_successful": true,
  "custom_analysis_data": {}
}
## Où définir vos variables Pour que l'agent remplisse des variables selon la discussion, vous devez utiliser l'outil Extract Dynamic Variables [(1) ]() : 1. Ajoutez l'outil Extract Dynamic Variable à votre agent 2. Définissez vos variables avec: - Variable Name (ex:
customer_salary
) - Description (ex: "Ask the customer his salary expectations") - Variable Type:
Text
,
Number
,
Enum
, ou
Boolean
3. Mettez à jour le prompt pour indiquer quand extraire les informations Les variables extraites apparaîtront ensuite dans
collected_dynamic_variables
après l'appel [(3) ]() [(4) ]() . En résumé: - **`collected_dynamic_variables`**: Variables extraites en temps réel pendant la conversation → Définissez-les via Extract Dynamic Variables tool [(1) ]() - **`custom_analysis_data`**: Données d'analyse personnalisées générées après l'appel [(5) ]() [(3) ]() SOURCES UTILISÉES: [(3) ]() , [(4) ]() , [(1) ]() , [(5) ]() , [(2) ]()
​ To learn more, see the sources I considered: [[1] Extract Dynamic Variables](https://docs.retellai.com/build/single-multi-prompt/extract-dv) [[2] Platform Changelogs | Retell AI](https://www.retellai.com/changelog) [[3] Create Phone Call](https://docs.retellai.com/api-references/create-phone-call) [[4] Create Web Call](https://docs.retellai.com/api-references/create-web-call) [[5] Rerun Call Analysis](https://docs.retellai.com/api-references/rerun-call-analysis) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
s
@AI Evy dans le cas ou kes variables necessitent une analyse de la discussion clmme par exemple: callback_requested, ou bien datetime_to_callback, appointment_set, voicemail_left... est ce que cela est plus adapte dans le.call_analysis ou bien dans le extract_dynamic_variables ? Selon la documentation
a
Thanks for the follow-up, @so16. I'll get back to you soon.
### Answer Based on the documentation, for variables that require analysis of the conversation like
callback_requested
,
datetime_to_callback
,
appointment_set
, or
voicemail_left
, you should use Post-Call Analysis (
call_analysis.custom_analysis_data
) rather than Extract Dynamic Variables [(1) ]() [(2) ]() [(3) ]() [(4) ]() . ## Why Post-Call Analysis is more appropriate Post-Call Analysis is designed to extract information that requires understanding and analyzing the entire conversation context [(1) ]() . This is ideal for variables that need interpretation like: - Whether a callback was requested - If an appointment was successfully set - Whether a voicemail was left ## Configuration via API You can define these analysis fields using the
post_call_analysis_data
parameter when creating or updating an agent [(2) ]() [(3) ]() [(4) ]() :
Copy code
json
"post_call_analysis_data": [
  {
    "type": "string",
    "name": "customer_name",
    "description": "The name of the customer.",
    "examples": [
      "John Doe",
      "Jane Smith"
    ],
    "required": true,
    "conditional_prompt": "<string>"
  }
]
You can also customize the analysis with specific prompts : - `analysis_successful_prompt`: Define what constitutes a successful call - `analysis_summary_prompt`: Customize how the conversation should be summarized - `analysis_user_sentiment_prompt`: Define how to evaluate user sentiment ## When to use Extract Dynamic Variables vs Post-Call Analysis Extract Dynamic Variables [(5) ]() : Use for explicit information stated directly by the user during the conversation: - Name - Phone number - Email - Salary expectations Post-Call Analysis [(1) ]() : Use for interpretive or analytical conclusions about the conversation: - callback_requested (requires understanding intent) - appointment_set (requires confirming the outcome) - voicemail_left (requires analyzing call flow) - datetime_to_callback (requires extracting and interpreting scheduling information) The analyzed data will be available in
call_analysis.custom_analysis_data
after the call ends .
​ To learn more, see the sources I considered: [[1] Rerun Call Analysis](https://docs.retellai.com/api-references/rerun-call-analysis) [[2] Create Voice Agent](https://docs.retellai.com/api-references/create-agent) [[3] Get Agent Versions](https://docs.retellai.com/api-references/get-agent-versions) [[4] Get Voice Agent](https://docs.retellai.com/api-references/get-agent) [[5] Extract Dynamic Variables](https://docs.retellai.com/build/single-multi-prompt/extract-dv) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
s
@AI Evy je creer ces valeur dans post_call_analysis_data et je les exteact dans call_analysis.custom_analysis_data ?
a
Thanks for the follow-up, @so16. I'll get back to you soon.
Copy code
json
"call_analysis": {
  "call_summary": "The agent called the user to ask question about his purchase inquiry...",
  "in_voicemail": false,
  "user_sentiment": "Positive",
  "call_successful": true,
  "custom_analysis_data": {}
}
[(6) ]() ## Points importants - Les champs d'analyse personnalisés ne seront pas remplis pour les appels qui n'ont pas été connectés ou où aucune conversation n'a eu lieu [(2) ]() - Vérifiez si le champ existe avant de l'utiliser [(7) ]() - L'analyse est disponible après la fin de l'appel via l'événement webhook
call_analyzed
[(1) ]() [(6) ]() SOURCES UTILISÉES: [(1) ]() , [(2) ]() , [(3) ]() , [(6) ]() , [(4) ]() , [(5) ]() , [(7) ]()
### Answer Oui, exactement! Vous définissez vos variables dans
post_call_analysis_data
lors de la configuration de l'agent, et après l'appel, ces valeurs extraites seront disponibles dans
call_analysis.custom_analysis_data
[(1) ]() [(2) ]() [(3) ]() . ## Configuration des variables d'analyse Vous configurez les variables à extraire dans
post_call_analysis_data
au niveau de l'agent [(3) ]() [(4) ]() [(5) ]() :
Copy code
json
"post_call_analysis_data": [
  {
    "type": "string",
    "name": "customer_name",
    "description": "The name of the customer.",
    "examples": [
      "John Doe",
      "Jane Smith"
    ],
    "required": true,
    "conditional_prompt": "<string>"
  }
]
[(3) ]() ## Types de données supportés Vous pouvez extraire plusieurs types de données [(2) ]() : - Boolean (True/False) : Déterminations simples oui/non - Text (String) : Informations textuelles détaillées - Number (Valeur numérique) : Mesures quantitatives - Selector (Enum) : Catégorisation à partir d'une liste fixe ## Récupération des données analysées Après la fin de l'appel, les données extraites sont disponibles dans
call_analysis.custom_analysis_data
[(1) ]() [(6) ]() :
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
s
@AI Evy je veux definir des fonctions que mon agent va appeler (des fonctions de google calendar: freeBusy, schedule event, send email). Jai ecris ces fonctions sur mon backend, ou les passer a l'agent ou a llm ? Et comment lui expliquer quand les appeler ? Ajouter definissions dans le prompt ?
a
Thanks for the follow-up, @so16. I'll get back to you soon.
### Answer Pour intégrer vos fonctions backend (Google Calendar freeBusy, schedule event, send email) avec votre agent Retell AI, vous devez utiliser Custom Functions et définir explicitement quand les appeler dans votre prompt [(1) ]() [(2) ]() . ## Configuration des Custom Functions Vous devez définir vos fonctions avec leur schéma JSON pour que le LLM puisse les appeler [(2) ]() . Voici la structure:
Copy code
json
{
  "type": "function",
  "function": {
    "name": "check_calendar_availability",
    "description": "Check available time slots in Google Calendar",
    "parameters": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "description": "The date to check availability for"
        }
      },
      "required": ["date"]
    }
  }
}
## Instructions explicites dans le prompt Le LLM a souvent du mal à déterminer quand appeler les fonctions basé uniquement sur leurs descriptions [(1) ]() . Vous devez spécifier les conditions exactes dans votre prompt :
Copy code
## Tool Usage Instructions
1. When the customer asks about available appointment times:
   → Call function `check_calendar_availability` with the requested date

2. When the customer confirms they want to book an appointment:
   → First verify availability with `check_calendar_availability`
   → Then call `schedule_event` with confirmed details

3. After successfully scheduling:
   → Call `send_email` to send confirmation
## Bonnes pratiques - **Utilisez des mots déclencheurs**: Listez les mots/phrases spécifiques qui doivent déclencher les appels de fonction - **Définissez les séquences**: Spécifiez quand les fonctions doivent être appelées dans un ordre précis - **Fixez les limites**: Clarifiez quand NE PAS appeler certaines fonctions - **Fournissez du contexte**: Expliquez pourquoi chaque fonction est appelée ## Configuration de température Lorsque vous utilisez function calling, définir une température plus basse peut améliorer la précision [(3) ]() . SOURCES UTILISÉES: [(1) ]() , [(2) ]() , [(3) ]()
​ To learn more, see the sources I considered: [[1] Prompt Engineering Guide](https://docs.retellai.com/build/prompt-engineering-guide) [[2] Integrate Function Calling](https://docs.retellai.com/integrate-llm/integrate-function-calling) [[3] Custom LLM Best Practices](https://docs.retellai.com/integrate-llm/llm-best-practice) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.