Automatisation n8n : Assistant OpenAI pour réponses instantanées
Ce workflow n8n a pour objectif de faciliter les interactions avec un assistant virtuel basé sur OpenAI, permettant aux utilisateurs d'obtenir des réponses instantanées à leurs questions. Idéal pour les entreprises souhaitant améliorer leur service client ou automatiser des tâches répétitives, ce système peut être utilisé dans divers contextes, tels que le support technique ou l'assistance à la vente. Le workflow commence par un déclencheur manuel qui active l'assistant OpenAI à chaque fois qu'un message est reçu. Ensuite, les données sont mappées pour préparer les informations nécessaires à la réponse. Une condition vérifie si une liste de pays doit être retournée. Si c'est le cas, les détails des pays sont récupérés et présentés à l'utilisateur. Les noeuds 'Sticky Note' permettent d'afficher des informations supplémentaires de manière visuelle. Ce processus offre une valeur ajoutée significative en réduisant le temps de réponse et en améliorant l'expérience utilisateur. Grâce à cette automatisation n8n, les entreprises peuvent offrir un service plus réactif et personnalisé, tout en optimisant leurs ressources.
Workflow n8n OpenAI, assistant virtuel, service client : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n OpenAI, assistant virtuel, service client : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": "aVTi7K9mFjK5OjAV",
"meta": {
"instanceId": "b3a8efae31a34c2224655b66499bee098263a56d266da574e8820468780b7ddd"
},
"name": "OpenAI Assistant with custom n8n tools",
"tags": [],
"nodes": [
{
"id": "d15e7634-408b-43c5-a8d6-afcbc83479a9",
"name": "On new manual Chat Message",
"type": "@n8n/n8n-nodes-langchain.manualChatTrigger",
"position": [
600,
300
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "5d9ad043-adbe-4970-aa4e-b81dfcb9e255",
"name": "OpenAI Assistant",
"type": "@n8n/n8n-nodes-langchain.openAiAssistant",
"position": [
820,
300
],
"parameters": {
"options": {},
"assistantId": "asst_BWy0154vMGMdrX7MjCYaYv6a"
},
"credentials": {
"openAiApi": {
"id": "au6fQZN7it62DWlS",
"name": "OpenAi account"
}
},
"typeVersion": 1
},
{
"id": "0c3aded2-886d-4c9f-8d6e-2729f12b6711",
"name": "Execute Workflow Trigger",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
600,
960
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c77010ac-82e6-40f2-92c4-c360d276b896",
"name": "Mapping data",
"type": "n8n-nodes-base.code",
"position": [
1080,
820
],
"parameters": {
"jsCode": "return [\n {\n \"country\": \"Wakanda\",\n \"capital\": \"Birnin Zana\"\n },\n {\n \"country\": \"Narnia\",\n \"capital\": \"Cair Paravel\"\n },\n {\n \"country\": \"Gondor\",\n \"capital\": \"Minas Tirith\"\n },\n {\n \"country\": \"Oz\",\n \"capital\": \"The Emerald City\"\n },\n {\n \"country\": \"Westeros\",\n \"capital\": \"King's Landing\"\n },\n {\n \"country\": \"Panem\",\n \"capital\": \"The Capitol\"\n },\n {\n \"country\": \"Ruritania\",\n \"capital\": \"Strelsau\"\n },\n {\n \"country\": \"Mordor\",\n \"capital\": \"Barad-dûr\"\n },\n {\n \"country\": \"Latveria\",\n \"capital\": \"Doomstadt\"\n },\n {\n \"country\": \"Atlantis\",\n \"capital\": \"Poseidonis\"\n }\n]\n"
},
"typeVersion": 2
},
{
"id": "3949d5d8-a8d6-4a21-8e34-fca558ee6a97",
"name": "List countries?",
"type": "n8n-nodes-base.if",
"position": [
840,
960
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.query }}",
"value2": "list"
}
]
}
},
"executeOnce": false,
"typeVersion": 1
},
{
"id": "23bd1672-f736-4ac0-abf6-65f5f6aeabac",
"name": "Mapping data1",
"type": "n8n-nodes-base.code",
"position": [
840,
1160
],
"parameters": {
"jsCode": "return [\n {\n \"country\": \"Wakanda\",\n \"capital\": \"Birnin Zana\"\n },\n {\n \"country\": \"Narnia\",\n \"capital\": \"Cair Paravel\"\n },\n {\n \"country\": \"Gondor\",\n \"capital\": \"Minas Tirith\"\n },\n {\n \"country\": \"Oz\",\n \"capital\": \"The Emerald City\"\n },\n {\n \"country\": \"Westeros\",\n \"capital\": \"King's Landing\"\n },\n {\n \"country\": \"Panem\",\n \"capital\": \"The Capitol\"\n },\n {\n \"country\": \"Ruritania\",\n \"capital\": \"Strelsau\"\n },\n {\n \"country\": \"Mordor\",\n \"capital\": \"Barad-dûr\"\n },\n {\n \"country\": \"Latveria\",\n \"capital\": \"Doomstadt\"\n },\n {\n \"country\": \"Atlantis\",\n \"capital\": \"Poseidonis\"\n }\n]\n"
},
"typeVersion": 2
},
{
"id": "ec16de2b-7945-4133-a73d-11d4e42355c2",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
540,
741.6494845360827
],
"parameters": {
"width": 1174.6162657502882,
"height": 578.9520146851776,
"content": "## Sub-workflow: Return the capitals of fictional countries\nIt can either list the countries it knows about or return the capital of a specific country"
},
"typeVersion": 1
},
{
"id": "65e659a0-6e1b-4642-b263-59ed2e284ee8",
"name": "Return country list",
"type": "n8n-nodes-base.set",
"position": [
1520,
820
],
"parameters": {
"fields": {
"values": [
{
"name": "response",
"stringValue": "={{ $json.concatenated_country }}"
}
]
},
"include": "none",
"options": {}
},
"typeVersion": 3.2
},
{
"id": "65fc898d-0361-461a-9055-9e29bf310336",
"name": "Return specific capital",
"type": "n8n-nodes-base.set",
"position": [
1520,
1060
],
"parameters": {
"fields": {
"values": [
{
"name": "response",
"stringValue": "={{ $ifEmpty($json.capital, 'Capital not found') }}"
}
]
},
"include": "none",
"options": {}
},
"typeVersion": 3.2
},
{
"id": "bdf7c927-deb4-4a73-a015-43797c6cf816",
"name": "Tool to call the workflow below",
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
"position": [
880,
540
],
"parameters": {
"name": "country_capitals_tool",
"workflowId": "={{ $workflow.id }}",
"description": "This tool has two modes:\n1. Pass 'list' to the tool to get a list of countries that the tool has the capitals for (one per line). This is useful if you can't find a match, to see if the country being asked about might have been misspelled.\n2. Pass one of the country names in the list to the tool to get the capital of that country. Note that the country must be spelled exactly as it is in the list of countries returned in mode 1"
},
"typeVersion": 1
},
{
"id": "4e93323f-d4be-4a49-be24-3f49db39907b",
"name": "Concatenate country names",
"type": "n8n-nodes-base.summarize",
"position": [
1300,
820
],
"parameters": {
"options": {},
"fieldsToSummarize": {
"values": [
{
"field": "country",
"separateBy": "\n",
"aggregation": "concatenate"
}
]
}
},
"typeVersion": 1
},
{
"id": "e2ec1eee-4bb2-4240-82cf-e109b87229eb",
"name": "Get the matching country's details",
"type": "n8n-nodes-base.merge",
"position": [
1080,
1060
],
"parameters": {
"mode": "combine",
"options": {},
"joinMode": "enrichInput1",
"mergeByFields": {
"values": [
{
"field1": "query",
"field2": "country"
}
]
}
},
"typeVersion": 2.1
},
{
"id": "ed2997be-c709-4eca-bcad-c987bbc160fc",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
540,
200
],
"parameters": {
"width": 1168.2339341502545,
"height": 487.70693675217734,
"content": "## Main workflow: Chat with OpenAI Assistant\nClick the 'Chat' button at the bottom of the screen to try"
},
"typeVersion": 1
},
{
"id": "01ab30c3-3951-4652-b706-72af1cad4f22",
"name": "Tool: Get current date and time",
"type": "@n8n/n8n-nodes-langchain.toolCode",
"position": [
1080,
540
],
"parameters": {
"name": "date_tool",
"jsCode": "let now = DateTime.now()\nreturn now.toISO()",
"description": "Call this tool to get the current timestamp (in ISO format). No parameters necessary"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"Execute Workflow Trigger": [
{
"json": {
"query": "list"
}
}
]
},
"settings": {
"callerPolicy": "workflowsFromSameOwner",
"executionOrder": "v0",
"executionTimeout": -1,
"saveManualExecutions": true
},
"versionId": "c867ebb5-ceeb-45a7-ad29-7ee3f1102bed",
"connections": {
"Mapping data": {
"main": [
[
{
"node": "Concatenate country names",
"type": "main",
"index": 0
}
]
]
},
"Mapping data1": {
"main": [
[
{
"node": "Get the matching country's details",
"type": "main",
"index": 1
}
]
]
},
"List countries?": {
"main": [
[
{
"node": "Mapping data",
"type": "main",
"index": 0
}
],
[
{
"node": "Get the matching country's details",
"type": "main",
"index": 0
}
]
]
},
"Execute Workflow Trigger": {
"main": [
[
{
"node": "List countries?",
"type": "main",
"index": 0
}
]
]
},
"Concatenate country names": {
"main": [
[
{
"node": "Return country list",
"type": "main",
"index": 0
}
]
]
},
"On new manual Chat Message": {
"main": [
[
{
"node": "OpenAI Assistant",
"type": "main",
"index": 0
}
]
]
},
"Tool to call the workflow below": {
"ai_tool": [
[
{
"node": "OpenAI Assistant",
"type": "ai_tool",
"index": 0
}
]
]
},
"Tool: Get current date and time": {
"ai_tool": [
[
{
"node": "OpenAI Assistant",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get the matching country's details": {
"main": [
[
{
"node": "Return specific capital",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n OpenAI, assistant virtuel, service client : pour qui est ce workflow ?
Ce workflow s'adresse aux entreprises de taille petite à moyenne qui cherchent à automatiser leur service client ou à intégrer des solutions d'assistance virtuelle. Il est particulièrement adapté aux équipes techniques et marketing, ainsi qu'aux professionnels du support client souhaitant améliorer leur efficacité.
Workflow n8n OpenAI, assistant virtuel, service client : problème résolu
Ce workflow résout le problème de la lenteur des réponses aux demandes des clients, en automatisant le processus d'interaction avec un assistant virtuel. En éliminant les délais d'attente, il permet aux utilisateurs d'obtenir des informations rapidement et de manière précise. Cela réduit également le risque d'erreurs humaines et améliore la satisfaction client, ce qui peut se traduire par une fidélisation accrue.
Workflow n8n OpenAI, assistant virtuel, service client : étapes du workflow
Étape 1 : Le déclencheur manuel 'On new manual Chat Message' active le workflow lorsque l'utilisateur envoie un message.
- Étape 1 : Le noeud 'OpenAI Assistant' traite le message et génère une réponse.
- Étape 2 : Les données sont mappées pour préparer les informations à afficher.
- Étape 3 : Le noeud 'List countries?' vérifie si une liste de pays doit être fournie.
- Étape 4 : Si la condition est remplie, les détails des pays sont récupérés via le noeud 'Get the matching country's details'.
- Étape 5 : Les informations sont affichées à l'utilisateur à l'aide des noeuds 'Sticky Note'.
- Étape 6 : Enfin, le workflow peut appeler d'autres workflows si nécessaire.
Workflow n8n OpenAI, assistant virtuel, service client : guide de personnalisation
Pour personnaliser ce workflow, commencez par ajuster le déclencheur manuel pour qu'il corresponde à votre interface utilisateur. Modifiez les paramètres du noeud 'OpenAI Assistant' pour adapter les réponses à votre domaine spécifique. Vous pouvez également changer les conditions dans le noeud 'List countries?' pour inclure d'autres types de données. Si vous souhaitez intégrer d'autres outils, utilisez le noeud 'Tool to call the workflow below' pour lier des workflows supplémentaires. Assurez-vous de tester chaque modification pour garantir la fluidité de l'automatisation.