Vous pouvez utiliser les fonctionnalités d'Agent Assist avec des API et des sources de données externes. Google Cloud fournit des outils OpenAPI et des Integration Connectors pour faciliter vos intégrations Agent Assist.
Outils OpenAPI
Les outils OpenAPI permettent la connexion entre les fonctionnalités d'Assistance de l'agent et les API externes. Cette connexion permet aux fonctionnalités d'Agent Assist de lire et d'écrire des informations provenant de plusieurs sources. Pour créer un outil OpenAPI, vous devez fournir un schéma OpenAPI qui décrit les API externes auxquelles vous souhaitez vous connecter.
Outil Integration Connectors
Utilisez Integration Connectors pour vous connecter Google Cloud à différentes sources de données. Les outils de connecteur permettent aux fonctionnalités d'Assistance de l'agent d'utiliser Integration Connectors pour lire et écrire ces sources de données.
Avant de commencer
Pour configurer l'environnement afin de créer des outils OpenAPI et Integration Connectors, saisissez l'ID de votre projet et votre région, puis exécutez le code suivant.
CLOUDSDK_CORE_PROJECT=YOUR_PROJECT_ID REGION=YOUR_REGION API_VERSION=v2beta1 API_ENDPOINT=https://${REGION}-dialogflow.googleapis.com/${API_VERSION} function gcurl () { curl -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "X-Goog-User-Project: ${CLOUDSDK_CORE_PROJECT}" -H "Content-Type: application/json; charset=utf-8" "$@" }
Créer un outil OpenAPI
Pour utiliser un outil OpenAPI, vous devez d'abord demander sa création et enregistrer le nom de ressource de l'outil.
Étape 1 : Demander à créer un outil
Pour demander à créer un outil OpenAPI, procédez comme suit.
- Personnalisez le code comme suit :
- Dans un même projet, utilisez une valeur
tool_key
unique pour tous vos outils. - Saisissez votre propre schéma OpenAPI dans le champ
open_api_spec.text_schema
.
- Dans un même projet, utilisez une valeur
Exécutez le code personnalisé suivant.
$ cat > create-tool-request.json << EOF { "tool_key": "UNIQUE_KEY", "description": "TOOL_DESCRIPTION", "display_name": "TOOL_DISPLAY_NAME", "open_api_spec": { "text_schema": "Your-Schema" } } EOF
$ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/tools -d @create-tool-request.json | tee create-tool-response.json
Si l'opération réussit, l'API renvoie l'outil nouvellement créé, qui contient le nom de ressource, comme indiqué dans l'exemple suivant.
{ "name": "projects/Your-Project-ID/locations/Your-Region/tools/Tool-ID", "toolKey": "UNIQUE_KEY", "description": "TOOL_DESCRIPTION", "createTime": "2025-06-02T18:11:38.999174724Z", "updateTime": "2025-06-02T18:11:38.999174724Z", "displayName": "TOOL_DISPLAY_NAME", "openApiSpec": { "textSchema": "Your-Schema" } }
Étape 2 : Enregistrez le nom de ressource de l'outil
Enregistrez le nom de ressource de l'outil dans une variable d'environnement pour une utilisation ultérieure. Voici un exemple de modèle pour la variable d'environnement de ressource d'outil.
TOOL_RESOURCE=$(cat create-tool-response.json | jq .name | tr -d '"')
Coach IA avec un outil OpenAPI
Vous pouvez utiliser un outil OpenAPI avec la fonctionnalité Coach IA pour accéder à des informations supplémentaires en dehors de Google Cloud. Ces informations externes peuvent ensuite être utilisées pour générer des suggestions qui aident les agents du centre de contact.
Étape 1 : Créez un générateur
L'exemple suivant crée un générateur avec la variable d'environnement de ressource d'outil.
$ cat > create-generator-request.json << _EOF_ {"agent_coaching_context":{"instructions":[{"agent_action":"help customer by using the tool to find information from library of congress","condition":"The customer asks about library of congress","description":"agent coaching test","display_name":"Search for information"}],"overarching_guidance":"Help customer with questions"},"description":"prober-generate-suggestions-with-agent-coaching-generator","inference_parameter":{"max_output_tokens":256,"temperature":0},"tools":["${TOOL_RESOURCE}"],"trigger_event":"CUSTOMER_MESSAGE"} _EOF_ $ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/generators -d @create-generator-request.json | tee create-generator-response.json _EOF_ $ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/generators -d @create-generator-request.json | tee create-generator-response.json
Vous devriez recevoir une réponse semblable à l'exemple suivant de générateur de coach IA.
{ "name": "projects/Your-Project-ID/locations/Your-Region/generators/Generator-ID", "description": "example-generator", "inferenceParameter": { "maxOutputTokens": 256, "temperature": 0 }, "triggerEvent": "CUSTOMER_MESSAGE", "createTime": "2025-06-02T18:30:51.021461728Z", "updateTime": "2025-06-02T18:30:51.021461728Z", "agentCoachingContext": { "instructions": [ { "displayName": "Search for information", "condition": "The customer asks about library of congress", "agentAction": "help customer by using the tool to find information from library of congress" } ], "version": "1.5", "overarchingGuidance": "Help customer with questions" }, "tools": [ "projects/Your-Project-ID/locations/Your-Region/tools/Tool-ID" ] }
Enregistrer le nom de ressource du générateur
Enregistrez-le en tant que variable d'environnement pour une utilisation ultérieure, comme dans l'exemple suivant.
GENERATOR_RESOURCE=$(cat create-generator-response.json | jq .name | tr -d '"')
Étape 2 : Créez un profil de conversation
Exécutez le code suivant pour créer un profil de conversation.
$ cat > create-conversation-profile-request.json << _EOF_ {"displayName":"prober-generate-suggestions-with-agent-coaching-generator","humanAgentAssistantConfig":{"humanAgentSuggestionConfig":{"generators":["${GENERATOR_RESOURCE}"]}}} _EOF_ $ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/conversationProfiles -d @create-conversation-profile-request.json | tee create-conversation-profile-response.json
Vous devriez obtenir une réponse semblable à la suivante.
{ "name": "projects/Your-Project-ID/locations/Your-Region/conversationProfiles/Conversation-Profile-ID", "displayName": "prober-generate-suggestions-with-agent-coaching-generator", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": [ "projects/Your-Project-ID/locations/Your-Region/generators/Generator-ID" ] } }, "languageCode": "en-US", "createTime": "2025-06-02T18:40:39.940318Z", "updateTime": "2025-06-02T18:40:39.940318Z", "projectNumber": "${project_number}" }
Enregistrer le nom de ressource du profil de conversation
Enregistrez ce nom en tant que variable d'environnement, comme dans l'exemple suivant.
CONVERSATION_PROFILE_RESOURCE=$(cat create-conversation-profile-response.json | jq .name | tr -d '"')
Étape 3 : Créez une conversation
Exécutez le code suivant pour créer une conversation.
$ cat > create-conversation-request.json << _EOF_ {"conversationProfile":"${CONVERSATION_PROFILE_RESOURCE}"} _EOF_ $ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/conversations -d @create-conversation-request.json | tee create-conversation-response.json
Vous devriez obtenir une réponse semblable à la suivante.
{ "name": "projects/Your-Project-ID/locations/Your-Region/conversations/Conversation-ID", "lifecycleState": "IN_PROGRESS", "conversationProfile": "projects/Your-Project-ID/locations/Your-Region/conversationProfiles/Conversation-Profile-ID", "startTime": "2025-06-02T18:43:40.818123Z", "conversationStage": "HUMAN_ASSIST_STAGE", "source": "ONE_PLATFORM_API", "initialConversationProfile": { "name": "projects/Your-Project-ID/locations/Your-Region/conversationProfiles/Conversation-Profile-ID", "displayName": "prober-generate-suggestions-with-agent-coaching-generator", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": [ "projects/Your-Project-ID/locations/Your-Region/generators/Generator-ID" ] } }, "languageCode": "en-US" }, "projectNumber": "${project_number}", "initialGeneratorContexts": { "projects/Your-Project-ID/locations/Your-Region/generators/Generator-ID": { "generatorType": "AGENT_COACHING", "generatorVersion": "1.5" } } }
Enregistrer le nom de ressource de la conversation
Enregistrez ce nom en tant que variable d'environnement pour une utilisation ultérieure. Votre variable doit se présenter comme suit.
CONVERSATION_RESOURCE=$(cat create-conversation-response.json | jq .name | tr -d '"')
Étape 4 : Créez un utilisateur final
Exécutez le code suivant pour créer un utilisateur final.
$ cat > create-end-user-request.json << _EOF_ {"role":"END_USER"} _EOF_ $ gcurl -X POST ${API_ENDPOINT}/${CONVERSATION_RESOURCE}/participants -d @create-end-user-request.json | tee create-end-user-response.json
Vous devriez obtenir une réponse semblable à la suivante.
{ "name": "projects/Your-Project-ID/locations/Your-Region/conversations/Conversation-ID/participants/End-User-Participant-ID", "role": "END_USER" }
Enregistrer le nom de ressource de l'utilisateur final
Enregistrez le nom de ressource de l'utilisateur final en tant que variable d'environnement, comme suit.
END_USER_RESOURCE=$(cat create-end-user-response.json | jq .name | tr -d '"')
Étape 5 : Créez un agent humain
Exécutez le code suivant pour créer un agent humain.
$ cat > create-human-agent-request.json << _EOF_ {"role":"HUMAN_AGENT"} _EOF_ $ gcurl -X POST ${API_ENDPOINT}/${CONVERSATION_RESOURCE}/participants -d @create-human-agent-request.json | tee create-human-agent-response.json
Vous devriez obtenir une réponse semblable à la suivante.
{ "name": "projects/Your-Project-ID/locations/Your-Region/conversations/Conversation-IDHuman-Agent-Participant-ID", "role": "HUMAN_AGENT" }
Enregistrer le nom de ressource de l'agent humain
Enregistrez le nom de ressource de l'agent humain en tant que variable d'environnement, comme suit.
HUMAN_AGENT_RESOURCE=$(cat create-human-agent-response.json | jq .name | tr -d '"')
Étape 6 : Envoyer du texte au coach IA
Exécutez le code suivant pour envoyer du texte au coach IA avec la méthode AnalyzeContent
.
cat > analyze-content-1-request.json << _EOF_ {"text_input":{"languageCode":"en-US","text":"Can you search library of congress for the latest trends"}} _EOF_ gcurl -X POST "${API_ENDPOINT}/${END_USER_RESOURCE}:analyzeContent" -d @analyze-content-1-request.json | tee analyze-content-1-response.json
Étape 7 : Validez l'appel d'outil
Exécutez le code suivant pour vérifier l'appel d'outil.
cat analyze-content-1-response.json| jq ".humanAgentSuggestionResults[0].generateSuggestionsResponse.generatorSuggestionAnswers[0].generatorSuggestion.toolCallInfo"
Vous devriez obtenir une réponse semblable à la suivante.
[ { "toolCall": { "tool": "projects/Your-Project-ID/locations/Your-Region/tools/Tool-ID", "action": "search", "inputParameters": { "q": "latest trends", "fo": "json", "tool_description": "A generic search endpoint that might be available across various LoC APIs. The structure of the results will vary.\n", "at": "trending_content" }, "createTime": "2025-06-02T18:56:53.882479179Z" }, "toolCallResult": { "tool": "projects/Your-Project-ID/locations/Your-Region/tools/MjM0NTU3NDk2MTM5NTAwNzQ4OQ", "action": "search", "content": ""}]}", "createTime": "2025-06-02T18:56:54.289367086Z" } } ]
Étape 8 : (Facultatif) Supprimez les ressources
Pour supprimer les ressources que vous avez créées lors des étapes précédentes, exécutez le code suivant.
Profil de conversation
gcurl -X DELETE ${API_ENDPOINT}/${CONVERSATION_PROFILE_RESOURCE}
Générateur
gcurl -X DELETE ${API_ENDPOINT}/${GENERATOR_RESOURCE}
Outil OpenAPI
gcurl -X DELETE ${API_ENDPOINT}/${TOOL_RESOURCE}
Créer un outil Integration Connectors
Vous pouvez configurer Integration Connectors à l'aide de la console Google Cloud . Procédez comme suit pour créer un outil Connecteurs d'intégration Agent Assist basé sur un connecteur BigQuery.
Étape 1 : Créer un outil de connecteur BigQuery
Avant de créer un outil Integration Connectors, accédez à la consoleGoogle Cloud et créez un outil BigQuery Integration Connectors.
Étape 2 : Demander à créer l'outil Integration Connectors
Exécutez le code suivant pour demander à créer un outil. Pour le champ connector_spec.name
, utilisez le nom de ressource de votre connecteur BigQuery.
cat > create-connector-tool-request.json << _EOF_ { "tool_key": "order_tool", "description": "order bigquery connector tool", "display_name": "order bigquery connector tool", "connector_spec": { "name": "projects/Your-Project-ID/locations/Your-Region/connections/Your-Connector-ID", "actions": [ { "entityOperation": { "entityId": "Orders", "operation": "LIST" } }, { "entityOperation": { "entityId": "Orders", "operation": "GET" } } ] } } _EOF_ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/tools -d @create-connector-tool-request.json | tee create-connector-tool-response.json
Vous devriez obtenir une réponse semblable à celle-ci :
{ "name": "projects/Your-Project-ID/locations/Your-Region/tools/Tool-ID", "toolKey": "order_tool", "description": "order bigquery connector tool", "createTime": "2025-06-03T19:29:55.896178942Z", "updateTime": "2025-06-03T19:29:55.896178942Z", "connectorSpec": { "name": "projects/Your-Project-ID/locations/Your-Region/connections/order-bigquery-connector", "actions": [ { "entityOperation": { "entityId": "Orders", "operation": "LIST" } }, { "entityOperation": { "entityId": "Orders", "operation": "GET" } } ] }, "displayName": "order bigquery connector tool" }
Étapes suivantes
Pour obtenir la liste complète des outils Integration Connectors compatibles avec Agent Assist, consultez la liste des outils du connecteur Dialogflow.