Workflow n8n

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.

Tags clés :automatisationOpenAIn8nassistant virtuelservice client
Catégorie: Manual · Tags: automatisation, OpenAI, n8n, assistant virtuel, service client0

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

  • On new manual Chat Message

    Ce noeud déclenche le workflow lorsqu'un nouveau message de chat manuel est reçu.

  • OpenAI Assistant

    Ce noeud utilise l'assistant OpenAI pour traiter les messages et fournir des réponses.

  • Execute Workflow Trigger

    Ce noeud exécute un autre workflow en réponse à un déclencheur.

  • Mapping data

    Ce noeud effectue un traitement de données à l'aide de code JavaScript.

  • List countries?

    Ce noeud évalue une condition pour déterminer si la liste des pays doit être traitée.

  • Mapping data1

    Ce noeud effectue un autre traitement de données à l'aide de code JavaScript.

  • Sticky Note

    Ce noeud crée une note autocollante avec un contenu spécifique.

  • Return country list

    Ce noeud retourne une liste de pays sous forme de données structurées.

  • Return specific capital

    Ce noeud retourne des informations sur une capitale spécifique sous forme de données structurées.

  • Tool to call the workflow below

    Ce noeud appelle un autre workflow en utilisant un outil spécifique.

  • Concatenate country names

    Ce noeud concatène les noms des pays en une seule chaîne.

  • Get the matching country's details

    Ce noeud fusionne les détails d'un pays correspondant à des critères spécifiques.

  • Sticky Note1

    Ce noeud crée une autre note autocollante avec un contenu spécifique.

  • Tool: Get current date and time

    Ce noeud obtient la date et l'heure actuelles à l'aide d'un code JavaScript.

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.