AutomationFlowsData & Sheets › Ufro Pp3 Orchestrator Workflow

Ufro Pp3 Orchestrator Workflow

UFRO PP3 Orchestrator Workflow. Uses httpRequest, mongoDb. Webhook trigger; 7 nodes.

Webhook trigger★★★★☆ complexity7 nodesHTTP RequestMongoDB
Data & Sheets Trigger: Webhook Nodes: 7 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "UFRO PP3 Orchestrator Workflow",
  "nodes": [
    {
      "parameters": {},
      "id": "webhook-trigger",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "http://52.22.115.249:5000/verify",
        "authentication": "none",
        "options": {
          "bodyContentType": "multipart-form-data"
        },
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "value": "={{ $binary.data }}"
            }
          ]
        }
      },
      "id": "pp2-verify",
      "name": "PP2 Verify",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [
        450,
        300
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "condition-1",
              "leftValue": "={{ $json.verified }}",
              "rightValue": true,
              "operator": {
                "type": "boolean",
                "operation": "true"
              }
            },
            {
              "id": "condition-2",
              "leftValue": "={{ $json.confidence }}",
              "rightValue": 0.75,
              "operator": {
                "type": "number",
                "operation": "gte"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "check-threshold",
      "name": "Check Threshold",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        650,
        300
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "http://3.231.127.90:8081/",
        "authentication": "none",
        "contentType": "json",
        "bodyParametersJson": "={{ JSON.stringify({ message: $('Webhook Trigger').item.json.query, provider: 'deepseek', k: 4 }) }}"
      },
      "id": "pp1-ask",
      "name": "PP1 Ask",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [
        850,
        200
      ]
    },
    {
      "parameters": {
        "operation": "insert",
        "resource": "document",
        "database": "ufro",
        "collection": "traces",
        "fields": {
          "mappingMode": "defineBelow",
          "value": {
            "request_id": "={{ $('Webhook Trigger').item.json.request_id }}",
            "query": "={{ $('Webhook Trigger').item.json.query }}",
            "person_identified": "={{ $('Check Threshold').item.json.verified }}",
            "confidence": "={{ $('PP2 Verify').item.json.confidence }}",
            "answer": "={{ $('PP1 Ask').item.json.answer }}",
            "pp1_response": "={{ $('PP1 Ask').item.json }}",
            "pp2_response": "={{ $('PP2 Verify').item.json }}",
            "timestamp": "={{ $now.toISO() }}"
          }
        },
        "options": {}
      },
      "id": "save-trace",
      "name": "Save Trace to MongoDB",
      "type": "n8n-nodes-base.mongoDb",
      "typeVersion": 1,
      "position": [
        1050,
        200
      ],
      "credentials": {
        "mongoDb": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ JSON.stringify({ person_identified: $('Check Threshold').item.json.verified, answer: $('PP1 Ask').item.json.answer, confidence: $('PP2 Verify').item.json.confidence }) }}"
      },
      "id": "respond",
      "name": "Respond",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        1250,
        200
      ]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ JSON.stringify({ person_identified: false, answer: 'Persona no identificada', confidence: $('PP2 Verify').item.json.confidence }) }}"
      },
      "id": "respond-not-identified",
      "name": "Respond Not Identified",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        850,
        400
      ]
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "PP2 Verify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "PP2 Verify": {
      "main": [
        [
          {
            "node": "Check Threshold",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Threshold": {
      "main": [
        [
          {
            "node": "PP1 Ask",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Respond Not Identified",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "PP1 Ask": {
      "main": [
        [
          {
            "node": "Save Trace to MongoDB",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Trace to MongoDB": {
      "main": [
        [
          {
            "node": "Respond",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "tags": [],
  "triggerCount": 1,
  "updatedAt": "2024-01-01T00:00:00.000Z",
  "versionId": "1"
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

UFRO PP3 Orchestrator Workflow. Uses httpRequest, mongoDb. Webhook trigger; 7 nodes.

Source: https://github.com/DiegoGremory/ufro-master/blob/9800083ab8df2d352eee5d67fd90e73ba9d0ad4b/n8n/pp3_workflow.json — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

CyberShield Universal Workflow v4. Uses mongoDb, ssh, httpRequest. Webhook trigger; 7 nodes.

MongoDB, Ssh, HTTP Request
Data & Sheets

CyberShield — Attack Executor. Uses mongoDb, ssh, httpRequest. Webhook trigger; 6 nodes.

MongoDB, Ssh, HTTP Request
Data & Sheets

Seoul hackathon. Uses httpRequest, mongoDb. Webhook trigger; 5 nodes.

HTTP Request, MongoDB
Data & Sheets

DAta lake 1. Uses openAi, httpRequest, googleSheets, mongoDb. Webhook trigger; 23 nodes.

OpenAI, HTTP Request, Google Sheets +1
Data & Sheets

BP_check. Uses googleSheets, @n-octo-n/n8n-nodes-json-database, httpRequest, itemLists. Webhook trigger; 99 nodes.

Google Sheets, @N Octo N/N8N Nodes Json Database, HTTP Request +2