Extraction de données structurées Dun & Bradstreet (GPT-4o)
Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 11 nœuds.Utilise principalement des nœuds comme HttpRequest, ConvertToFile, Agent, ExtractFromFile, LmChatOpenAi. Extraire des données structurées à partir de rapports Dun & Bradstreet avec GPT-4o
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Clé API OpenAI
Nœuds utilisés (11)
Catégorie
{
"meta": {
"instanceId": "ad0113c344ee237399e44e9f11798b05baeb83a6196d514a9ae9d2ad71c3b5c9",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "c0768748-9099-4bb4-8d23-d4ceb1c404b7",
"name": "Note adhésive10",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1872,
8464
],
"parameters": {
"width": 400,
"height": 1312,
"content": "## Setup Instructions\n\n\n### 🏢 Fetch Company Data from D&B (Data Blocks)\n\n1. Add a new **HTTP Request** node and name it `Data Blocks` \n2. Configure it as follows: \n - **Authentication:** None (token is passed in headers) \n - **Method:** `GET` \n - **URL:** \n ```\n https://plus.dnb.com/v1/data/duns/{{ $json.duns }}?blockIDs=paymentinsight_L4_v1&tradeUp=hq&customerReference=customer%20reference%20text&orderReason=6332\n ``` \n > This dynamically uses the `duns` value from input JSON. \n3. Under **Headers**, add: \n - `Accept = application/json` \n - `Authorization = Bearer {{$json[\"access_token\"]}}` \n > Replace the hardcoded token with the dynamic token output from your **Get Bearer Token** node. \n4. Execute the node — you’ll receive structured company data from D&B’s **Data Blocks API**. \n\n✅ You can now pass the response to other nodes (e.g., Google Sheets, databases, or CRMs). \n\n\n---\n\n### 🔑 Set up D&B Auth HTTP Request node\n\n1. Add a new **HTTP Request** node in your workflow \n2. Configure it as follows: \n - **Authentication:** Basic Auth (use your D&B **username** and **password**) \n - **Method:** `POST` \n - **URL:** `https://plus.dnb.com/v3/token` \n3. Under **Body Parameters**, add: \n - `grant_type = client_credentials` \n4. Under **Headers**, add: \n - `Accept = application/json` \n5. Execute the node — the response will include an **access_token** \n6. Use this token in downstream requests with: \n - `Authorization: Bearer {{$json[\"access_token\"]}}` \n\n\n## 📬 Contact\n\nNeed help customizing this (e.g., routing the PDF to Drive, mapping JSON to your CRM, or expanding the schema)?\n\n📧 robert@ynteractive.com \n🔗 https://www.linkedin.com/in/robert-breen-29429625/ \n🌐 https://ynteractive.com"
},
"typeVersion": 1
},
{
"id": "0bb07b06-7c44-47d7-b634-0b671bbd4f05",
"name": "OpenAI Modèle de chat6",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
128,
9216
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "gpt-4o"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "4l6TDfLZVFS24g3X",
"name": "OpenAi account 4"
}
},
"typeVersion": 1.2
},
{
"id": "0dc8ad32-c434-4c56-9f97-8d6caf59a26f",
"name": "OpenAI Modèle de chat7",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
384,
9312
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "gpt-4o"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "4l6TDfLZVFS24g3X",
"name": "OpenAi account 4"
}
},
"typeVersion": 1.2
},
{
"id": "2a704e6a-4996-488b-831e-b757270b6518",
"name": "Note adhésive65",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1120,
8864
],
"parameters": {
"color": 3,
"width": 352,
"height": 768,
"content": "### 🏢 Fetch Company Data from D&B (Data Blocks)\n\n1. Add a new **HTTP Request** node and name it `Data Blocks` \n2. Configure it as follows: \n - **Authentication:** None (token is passed in headers) \n - **Method:** `GET` \n - **URL:** \n ```\n https://plus.dnb.com/v1/data/duns/{{ $json.duns }}?blockIDs=paymentinsight_L4_v1&tradeUp=hq&customerReference=customer%20reference%20text&orderReason=6332\n ``` \n > This dynamically uses the `duns` value from input JSON. \n3. Under **Headers**, add: \n - `Accept = application/json` \n - `Authorization = Bearer {{$json[\"access_token\"]}}` \n > Replace the hardcoded token with the dynamic token output from your **Get Bearer Token** node. \n4. Execute the node — you’ll receive structured company data from D&B’s **Data Blocks API**. \n\n✅ You can now pass the response to other nodes (e.g., Google Sheets, databases, or CRMs). \n"
},
"typeVersion": 1
},
{
"id": "a08d013f-f02c-4d97-b8a8-b39892f8f23d",
"name": "Note adhésive66",
"type": "n8n-nodes-base.stickyNote",
"position": [
-544,
8640
],
"parameters": {
"color": 3,
"width": 368,
"height": 560,
"content": "### 🔑 Set up D&B Auth HTTP Request node\n\n1. Add a new **HTTP Request** node in your workflow \n2. Configure it as follows: \n - **Authentication:** Basic Auth (use your D&B **username** and **password**) \n - **Method:** `POST` \n - **URL:** `https://plus.dnb.com/v3/token` \n3. Under **Body Parameters**, add: \n - `grant_type = client_credentials` \n4. Under **Headers**, add: \n - `Accept = application/json` \n5. Execute the node — the response will include an **access_token** \n6. Use this token in downstream requests with: \n - `Authorization: Bearer {{$json[\"access_token\"]}}` \n"
},
"typeVersion": 1
},
{
"id": "565c3c60-61e4-4b82-81ae-d532377a2c80",
"name": "Rapport D&B",
"type": "n8n-nodes-base.httpRequest",
"position": [
-976,
9520
],
"parameters": {
"url": "https://plus.dnb.com/v1/reports/duns/804735132?productId=birstd&inLanguage=en-US&reportFormat=PDF&orderReason=6332&tradeUp=hq&customerReference=customer%20reference%20text",
"options": {},
"authentication": "headerAuth",
"headerParametersUi": {
"parameter": [
{
"name": "Accept",
"value": "application/json"
}
]
}
},
"credentials": {},
"typeVersion": 1
},
{
"id": "e6d764bd-3b2d-40d3-949e-8aa39c220668",
"name": "Convertir en fichier PDF",
"type": "n8n-nodes-base.convertToFile",
"position": [
-544,
9392
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "contents[0].contentObject"
},
"typeVersion": 1.1
},
{
"id": "eaf944cd-eda8-4b39-80c5-66378e92dddc",
"name": "Extraire le binaire",
"type": "n8n-nodes-base.extractFromFile",
"position": [
-208,
9392
],
"parameters": {
"options": {},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "7c82577c-cb5f-47df-9f29-7646107276e8",
"name": "Analyser le PDF",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
224,
8848
],
"parameters": {
"text": "={{ $json.text }}",
"options": {
"systemMessage": "You are a precision extractor. Read the provided business report PDF and return only a single flat JSON object with the fields below. Keep it minimal and focused on overall scores.\n\nNo arrays/lists.\n\nNo prose.\n\nIf a value is missing, output null.\n\nDates must be YYYY-MM-DD.\n\nNumbers must be plain numerics (no commas or $).\n\nOutput Format\n\nReturn only in JSON object:\n\n\nRules\n\nPrefer the most recent or highest-level “overall” values if multiple are shown.\n\nNever include arrays, nested structures, or text outside of the JSON object.",
"passthroughBinaryImages": true
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "0bf7ddc4-910a-4c15-8265-c959ddf16e7a",
"name": "Sortie structurée",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
368,
9120
],
"parameters": {
"autoFix": true,
"jsonSchemaExample": "{\n \"report_date\": \"\",\n \"company_name\": \"\",\n \"duns\": \"\",\n \"dnb_rating_overall\": \"\",\n \"composite_credit_appraisal\": \"\",\n \"viability_score\": \"\",\n \"portfolio_comparison_score\": \"\",\n \"paydex_3mo\": \"\",\n \"paydex_24mo\": \"\",\n \"credit_limit_conservative\": \"\"\n}\n"
},
"typeVersion": 1.3
},
{
"id": "f8126ea2-1265-45fc-adf8-2e507a23df14",
"name": "Obtenir le jeton",
"type": "n8n-nodes-base.httpRequest",
"position": [
-400,
9072
],
"parameters": {
"url": "https://plus.dnb.com/v3/token",
"options": {},
"requestMethod": "POST",
"authentication": "basicAuth",
"bodyParametersUi": {
"parameter": [
{
"name": "grant_type",
"value": "client_credentials"
}
]
},
"headerParametersUi": {
"parameter": [
{
"name": "Content-Type",
"value": "application/x-www-form-urlencoded"
}
]
}
},
"credentials": {},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"565c3c60-61e4-4b82-81ae-d532377a2c80": {
"main": [
[
{
"node": "e6d764bd-3b2d-40d3-949e-8aa39c220668",
"type": "main",
"index": 0
}
]
]
},
"eaf944cd-eda8-4b39-80c5-66378e92dddc": {
"main": [
[
{
"node": "7c82577c-cb5f-47df-9f29-7646107276e8",
"type": "main",
"index": 0
}
]
]
},
"0bf7ddc4-910a-4c15-8265-c959ddf16e7a": {
"ai_outputParser": [
[
{
"node": "7c82577c-cb5f-47df-9f29-7646107276e8",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"0bb07b06-7c44-47d7-b634-0b671bbd4f05": {
"ai_languageModel": [
[
{
"node": "7c82577c-cb5f-47df-9f29-7646107276e8",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"0dc8ad32-c434-4c56-9f97-8d6caf59a26f": {
"ai_languageModel": [
[
{
"node": "0bf7ddc4-910a-4c15-8265-c959ddf16e7a",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"e6d764bd-3b2d-40d3-949e-8aa39c220668": {
"main": [
[
{
"node": "eaf944cd-eda8-4b39-80c5-66378e92dddc",
"type": "main",
"index": 0
}
]
]
}
}
}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é ?
Intermédiaire - Création de contenu, 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
Robert Breen
@rbreenProfessional services consultant with over 10 years of experience solving complex business problems across industries. I specialize in n8n and process automation—designing custom workflows that integrate tools like Google Calendar, Airtable, GPT, and internal systems. Whether you need to automate scheduling, sync data, or streamline operations, I build solutions that save time and drive results.
Partager ce workflow