Créez des profils d'utilisateur basés sur des données (UX personas) avec descriptions et images en utilisant Perplexity, OpenAI et Google Doc

Avancé

Ceci est unMarket Research, Multimodal AIworkflow d'automatisation du domainecontenant 16 nœuds.Utilise principalement des nœuds comme SplitOut, GoogleDocs, Perplexity, FormTrigger, GoogleDrive. Générer des personas UX basés sur les données avec Perplexity, DALL·E 3 et Google Doc

Prérequis
  • Informations d'identification Google Drive API
  • Clé API OpenAI
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "gdQ7R3obn4CWmI29",
  "meta": {
    "instanceId": "eb6cdf70dd526a1c97d7dcb6b9292757001af53236f7ca64a2582483540c6ee4",
    "templateCredsSetupCompleted": true
  },
  "name": "Create Data-Driven UX personas (descriptio and images) using Perplexity, OpenAI and Google Doc",
  "tags": [],
  "nodes": [
    {
      "id": "13cb8a59-e5de-49dc-9d2f-a14c2f7fd12c",
      "name": "À la soumission du formulaire1",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        2320,
        112
      ],
      "webhookId": "7184765b-f939-4d1c-b435-ad6d62b5caf8",
      "parameters": {
        "options": {},
        "formTitle": "Creating Personas",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Website url",
              "placeholder": "Enter website url",
              "requiredField": true
            },
            {
              "fieldLabel": "Region"
            },
            {
              "fieldLabel": "Inductry"
            }
          ]
        },
        "formDescription": "This form is used to create personas for your service based on market research."
      },
      "typeVersion": 2.2
    },
    {
      "id": "edb2152e-a8fd-415a-921d-13d7bb952b48",
      "name": "Mettre à jour un document1",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        3376,
        -96
      ],
      "parameters": {
        "actionsUi": {
          "actionFields": [
            {
              "text": "={{ $json.output }}",
              "action": "insert"
            }
          ]
        },
        "operation": "update"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "id": "QNNpAKDcqSbqCpbG",
          "name": "Google Docs account 3"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "2e4e8c52-e702-406d-bace-740ab2df1a6e",
      "name": "OpenAI Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2864,
        320
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "c0zo07KHkFyAOwYy",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2d577fd4-e97a-4344-8940-8b588902214f",
      "name": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1648,
        0
      ],
      "parameters": {
        "color": 5,
        "width": 520,
        "height": 808,
        "content": "***Automated Data-Driven UX Persona Creation – Try It Out!***\n\n## About\nYou can create personas based on your website, region, and industry.\nUnlike traditional persona creation, this process uses reliable data sources and can estimate market size for each persona.\n\nUX personas have a wide range of applications: use them to better define your target users during product development, align your team around user goals during workshops, or inspire new features and ideas by deeply understanding user needs and behaviors.\n\n## How It Works\n- The flow is triggered via a web form\n- Perplexity analyzes the market and creates a data foundation for the personas\n- An AI agent transforms the data into detailed persona descriptions and publishes them in a Google Doc\n- We use DALL·E 3 to generate an image for each persona, which is saved to your Google Drive\n\n## How To Use\n- Import the package into your N8N interface\n- Set up the credentials in each node to access the necessary tools\n- Wait for the process to run (it takes just a few seconds)\n- Check the final output in Google Docs and your Google Drive\n\n## Requirements\n- Perplexity for research\n- OpenAI for LLM and Image generation\n- Google Doc\n- Google Drive to upload images\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "79fc67ed-7b0b-4f78-9704-20c4b1db0176",
      "name": "Analyser les invites en tableau JSON",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        3552,
        496
      ],
      "parameters": {
        "jsonSchemaExample": "[\n  {\n    \"prompt\": \"...\"\n  },\n  {\n    \"prompt\": \"...\"\n  },\n  {\n    \"prompt\": \"...\"\n  }\n]"
      },
      "typeVersion": 1.2
    },
    {
      "id": "be5b036d-bcc2-41ba-b697-4aebc8198dd4",
      "name": "🔍 Recherche",
      "type": "n8n-nodes-base.perplexity",
      "position": [
        2592,
        112
      ],
      "parameters": {
        "model": "sonar-deep-research",
        "options": {},
        "messages": {
          "message": [
            {
              "content": "=You are a user experience researcher and a Perplexity (research) prompt agent. Your task is to generate a UX personas for each segment based on credible market research and statistics. Use the following structured scope to guide your research and findings. Your output should be data-informed and well-cited with links to relevant sources.\n\n{{ $json['Website url'] }}{{ $json.Region }}{{ $json.Inductry }}\n⸻\n\n1. Business Overview\n\nProvide a brief summary of the business based on its website, industry, and regional context. Include an overview of all user segments relevant to the product/service. For each segment, provide:\n\t•\tSegment name\n\t•\tBrief description\n\t•\tEstimated size\nQuantify the potential market this segment represents. Include data such as:\n\t•\tTAM (Total Addressable Market)\n\t•\tCAGR (Compound Annual Growth Rate)\n\t•\tNumber of companies or professionals\n\t•\tRegional breakdown (if relevant)\n\nReference links:\n\t•\t[URL]\n\t•\t[URL]\n\n⸻\n\n2. Persona Descriptions\n\nDevelop a detailed persona profile for each user segment identified in the business overview. Use the following structure:\n\nA. Identify and describe a distinct user segment relevant to the query, grounded in market data. Include:\n\t•\tDemographic details (age, gender, location, income level)\n\t•\tPsychographics (lifestyle, behavior, interests)\n\t•\tJob roles or consumer type (if relevant)\n\nReference links:\n\t•\t[URL]\n\t•\t[URL]\n\n\n⸻\n\nB. Market Size\n\nEstimate the size of the target user group, including:\n\t•\tNumber of potential users/customers\n\t•\tGrowth rate (if available)\n\t•\tRelevant geographic distribution\n\nReference links:\n\t•\t[URL]\n\t•\t[URL]\n\n\n⸻\n\nC. User Needs\n\nList the primary needs or goals of this persona in relation to the product or service described in the query. Back your findings with:\n\t•\tBehavioral data\n\t•\tIndustry reports or surveys\n\t•\tRelevant UX research or trend reports\n\nReference links:\n\t•\t[URL]\n\t•\t[URL]\n\n\n⸻\n\nD. Pain Points\n\nDescribe key frustrations, obstacles, or unmet needs of the user segment. Support with:\n\t•\tUser feedback data\n\t•\tCustomer reviews or complaint summaries\n\t•\tResearch studies on the user experience\n\nReference links:\n\t•\t[URL]\n\t•\t[URL]\n\n\n⸻\n\nE. Usage Story\n\nWrite a concise story showing how this persona would interact with the product or service in a real-life scenario. The story should demonstrate:\n\t•\tMotivation to use\n\t•\tUsage context\n\t•\tKey touchpoints and emotional moments\n\t•\tOutcome\n\nReference links include to the output:\n\t•\t[URL]\n\t•\t[URL]\n\n"
            }
          ]
        },
        "requestOptions": {}
      },
      "credentials": {
        "perplexityApi": {
          "id": "nxgDKDrFRajW3rls",
          "name": "Perplexity account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "779f98ee-2f84-42ea-a8a9-06cec6724a4e",
      "name": "Descriptions des personas",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2864,
        112
      ],
      "parameters": {
        "text": "={{ $json.choices[0].message.content }}{{ $json.citations }}{{ $json.search_results }}",
        "options": {
          "systemMessage": "You are a helpful formatter assistant, you will receive a copy, your job is to format it.\n\nGoal:\nDevelop full personas descriptions tailored to different user groups. The personas will be used in a business case to illustrate target users, validate product–market fit, and guide go-to-market strategy.\n\n⸻\n\n📄 Output Format\n\n⸻\n\nPersona 1: [Name and Segment Title]\n\n⸻\n\n1. User Segment\n\nBrief overview of this group. Describe who they are (e.g., role, industry), what they do, and why they are relevant to the product or market.\nReference links:\n\t•\t[Include the full url of Source ] \n⸻\n\n2. Market Size\n\nQuantify the potential market this persona represents. Include data such as:\n\t•\tTAM (Total Addressable Market)\n\t•\tCAGR (Compound Annual Growth Rate)\n\t•\tNumber of companies or professionals\n\t•\tRegional breakdown (if relevant)\n\nReference links:\n\t•\t[Include the full url of Source]\n\t\n⸻\n\n3. User Needs\n\nWhat problems or goals does this persona need the product to solve or support?\n\nReference links:\n\t•\t[Include the full url of Source]\n\t\n⸻\n\n4. Pain Points\n\nDescribe typical challenges or friction this persona experiences.\n\nReference links:\n\t•\t[Include the full url of Source]\n\t\n\n⸻\n\n5. Usage Story\n\nA realistic story showing how this persona uses the product to solve problems or achieve goals.\n\n“As a [job title], I use the product to [action], which helps me [benefit].”\n\n– Format headings using Markdown‑style (e.g., `## Executive Summary`) so the Google Doc node will render them as section titles.  \n- Copy Reference links section\n"
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "2d6627be-3236-430f-95e9-604acd66a36f",
      "name": "Générer des invites pour les images",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        3360,
        288
      ],
      "parameters": {
        "text": "=",
        "options": {
          "systemMessage": "={{ $json.output }}\nCreate from this input a prompt for Image Generation for each persona based on  Usage Story section.\n\n\nRequirements:\n400x400 pixel square, with no props or text, name the file using Persona title. One image for each Persona\n\nPlease return **only** a JSON array of objects, each with a single property `\"prompt\"` containing the image prompt. Example output structure:\n[\n  {\n    \"prompt\"...\"\n  },\n  {\n    \"prompt\": \"...\"\n  },\n  {\n    \"prompt\": \"...\"\n  }\n]"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "b3652274-f800-4bdc-8807-124b60cafb20",
      "name": "Générer des images",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        4016,
        288
      ],
      "parameters": {
        "prompt": "={{ $json.prompt }}",
        "options": {},
        "resource": "image"
      },
      "credentials": {
        "openAiApi": {
          "id": "c0zo07KHkFyAOwYy",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "b727493c-53ac-40b5-b2e4-dcd525f87232",
      "name": "Télécharger des images",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        4224,
        288
      ],
      "parameters": {
        "name": "={{ $now.format(\"yyyyMMddHHmmSSS\") }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1kv3Yo3cKK6Vsd2sBQYUN2RsBL4E1KOW8",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1kv3Yo3cKK6Vsd2sBQYUN2RsBL4E1KOW8",
          "cachedResultName": "n8n"
        },
        "inputDataFieldName": "=data"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "9mzZMaQ4UW0z9Q5T",
          "name": "Google Drive account 2"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "37946092-3323-4cd8-8472-5f4ab94a17f3",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2496,
        16
      ],
      "parameters": {
        "color": 5,
        "width": 312,
        "height": 376,
        "content": "Research on user segments and their market size"
      },
      "typeVersion": 1
    },
    {
      "id": "cba606d5-aa81-456e-aded-fb7c87537f60",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2832,
        16
      ],
      "parameters": {
        "color": 4,
        "width": 328,
        "height": 440,
        "content": "Persona description creation"
      },
      "typeVersion": 1
    },
    {
      "id": "442d43ce-ec95-4de9-aa77-c46fa82b8ba9",
      "name": "Note adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3312,
        240
      ],
      "parameters": {
        "color": 7,
        "width": 360,
        "height": 456,
        "content": "Create a prompt for generating an image for each persona"
      },
      "typeVersion": 1
    },
    {
      "id": "19c19e43-c318-4978-856c-aafb98e6261a",
      "name": "Note adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3952,
        240
      ],
      "parameters": {
        "color": 6,
        "width": 472,
        "height": 456,
        "content": "Generate images and upload to Google Drive"
      },
      "typeVersion": 1
    },
    {
      "id": "4b0eac98-81ee-4b60-90a0-be6d35c01313",
      "name": "GPT-4o",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        3360,
        480
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "c0zo07KHkFyAOwYy",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1b7144ac-6147-4f24-a02e-9c491176ae01",
      "name": "Diviser les invites",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        3776,
        288
      ],
      "parameters": {
        "options": {
          "includeBinary": true
        },
        "fieldToSplitOut": "output"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "472470fe-db1d-4fab-9751-e89d980f4e4c",
  "connections": {
    "4b0eac98-81ee-4b60-90a0-be6d35c01313": {
      "ai_languageModel": [
        [
          {
            "node": "2d6627be-3236-430f-95e9-604acd66a36f",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "1b7144ac-6147-4f24-a02e-9c491176ae01": {
      "main": [
        [
          {
            "node": "b3652274-f800-4bdc-8807-124b60cafb20",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b727493c-53ac-40b5-b2e4-dcd525f87232": {
      "main": [
        []
      ]
    },
    "be5b036d-bcc2-41ba-b697-4aebc8198dd4": {
      "main": [
        [
          {
            "node": "779f98ee-2f84-42ea-a8a9-06cec6724a4e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b3652274-f800-4bdc-8807-124b60cafb20": {
      "main": [
        [
          {
            "node": "b727493c-53ac-40b5-b2e4-dcd525f87232",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2e4e8c52-e702-406d-bace-740ab2df1a6e": {
      "ai_languageModel": [
        [
          {
            "node": "779f98ee-2f84-42ea-a8a9-06cec6724a4e",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "13cb8a59-e5de-49dc-9d2f-a14c2f7fd12c": {
      "main": [
        [
          {
            "node": "be5b036d-bcc2-41ba-b697-4aebc8198dd4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "779f98ee-2f84-42ea-a8a9-06cec6724a4e": {
      "main": [
        [
          {
            "node": "edb2152e-a8fd-415a-921d-13d7bb952b48",
            "type": "main",
            "index": 0
          },
          {
            "node": "2d6627be-3236-430f-95e9-604acd66a36f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2d6627be-3236-430f-95e9-604acd66a36f": {
      "main": [
        [
          {
            "node": "1b7144ac-6147-4f24-a02e-9c491176ae01",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "79fc67ed-7b0b-4f78-9704-20c4b1db0176": {
      "ai_outputParser": [
        [
          {
            "node": "2d6627be-3236-430f-95e9-604acd66a36f",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Avancé - Étude de marché, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Workflows recommandés

Version professionnelle de l'automatisation de blog WordPress (recherche approfondie) v2.1 sur le marché
Automatisation de la création de blog optimisé pour le SEO avec GPT-4o, Perplexity AI et support multilingue
If
Set
Xml
+
If
Set
Xml
125 NœudsDaniel Ng
Création de contenu
Génération de variantes d'images publicitaires avec GPT-4, Dumpling AI et Google Drive
Utiliser GPT-4, Dumpling AI et Google Drive pour générer des variantes d'images publicitaires
Split Out
Form Trigger
Google Drive
+
Split Out
Form Trigger
Google Drive
14 NœudsYang
Création de contenu
Utiliser GPT-5 nano et Google Sheets pour scraper des sites web et répondre à des questions
Gratter des sites web et répondre aux questions avec GPT-5 nano et Google Sheets
If
Set
Xml
+
If
Set
Xml
44 NœudsOriol Seguí
Étude de marché
💥 Automatisation des publicités vidéo avec NanoBanana, Seedream 4, ChatGPT Image et Veo 3 - VIDE
Utiliser l'IA (NanoBanana, Seedream, GPT-4o, Veo 3) pour automatiser et publier des campagnes publicitaires vidéo
Set
Code
Wait
+
Set
Code
Wait
63 NœudsDr. Firas
Création de contenu
Système IA pour une intégration client en 30 secondes
Automatisation de l'onboarding client avec GPT-4, Google Drive, ClickUp et Slack
Set
Gmail
Slack
+
Set
Gmail
Slack
18 NœudsMuhammad Bello
Gestion de projet
Automatisation de l'intégration client avec GPT-4o, GoHighLevel, Google Drive, Slack et Gmail
Automatisation de l'onboarding client avec GPT-4o, GoHighLevel, Google Drive, Slack et Gmail
Set
Gmail
Slack
+
Set
Gmail
Slack
17 NœudsAdam Crafts
Résumé IA
Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds16
Catégorie2
Types de nœuds10
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34