Extraction de données structurées Dun & Bradstreet (GPT-4o)

Intermédiaire

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

Prérequis
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • 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
{
  "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
          }
        ]
      ]
    }
  }
}
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é ?

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

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds11
Catégorie2
Types de nœuds7
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
Robert Breen

Robert Breen

@rbreen

Professional 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.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34