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 →
{
"name": "07-fluxo-aprovacao",
"nodes": [
{
"parameters": {},
"id": "1",
"name": "Execute Workflow Trigger",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"typeVersion": 1,
"position": [
0,
0
]
},
{
"parameters": {
"language": "python",
"pythonCode": "import sys\nimport os\nsys.path.append(os.getenv('PROJECT_ROOT', '/data/agent-smith'))\nfrom tools import whatsapp_client\n\nfase = _input.item.json.get('fase')\nmensagem_ceo = _input.item.json.get('mensagem_ceo')\nceo = os.getenv('CEO_WHATSAPP')\nwhatsapp_client.send_message(ceo, mensagem_ceo)\nreturn _input.item.json"
},
"id": "2",
"name": "send-approval-request",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
220,
0
]
},
{
"parameters": {
"httpMethod": "POST",
"path": "smith/approval-wait",
"responseMode": "lastNode",
"options": {}
},
"id": "3",
"name": "wait-for-response",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [
440,
0
]
},
{
"parameters": {
"language": "python",
"pythonCode": "msg = _input.item.json.get('body', {}).get('text', {}).get('message', '').lower()\nif msg in ['ok', 'sim', 'pode']:\n approved = True\n feedback = None\nelif msg in ['ajusta', 'muda', 'nao']:\n approved = False\n feedback = 'solicitado_ajuste'\nelse:\n approved = False\n feedback = 'invalid_response'\n\nreturn {\"approved\": approved, \"feedback\": feedback, \"orig_msg\": msg}"
},
"id": "4",
"name": "parse-approval-response",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
660,
0
]
},
{
"parameters": {
"conditions": {
"boolean": [
{
"value1": "={{ $json.approved }}",
"value2": true
}
]
}
},
"id": "5",
"name": "IF: aprovado",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
880,
0
]
}
],
"connections": {
"Execute Workflow Trigger": {
"main": [
[
{
"node": "send-approval-request",
"type": "main",
"index": 0
}
]
]
},
"send-approval-request": {
"main": [
[
{
"node": "wait-for-response",
"type": "main",
"index": 0
}
]
]
},
"wait-for-response": {
"main": [
[
{
"node": "parse-approval-response",
"type": "main",
"index": 0
}
]
]
},
"parse-approval-response": {
"main": [
[
{
"node": "IF: aprovado",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
07-fluxo-aprovacao. Uses executeWorkflowTrigger. Event-driven trigger; 5 nodes.
Source: https://github.com/Escribaup/agent-smith/blob/b674a017e4dd85e870717a4bd71c18d3620597f0/workflows/07-fluxo-aprovacao.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
🤖🧑💻 AI Agent for Top n8n Creators Leaderboard Reporting. Uses httpRequest, executeWorkflowTrigger, readWriteFile, googleDrive. Event-driven trigger; 49 nodes.
Memorybufferwindow Workflow. Uses emailSend, httpRequest, executeWorkflowTrigger, formTrigger. Event-driven trigger; 45 nodes.
Memorybufferwindow Workflow. Uses telegramTrigger, telegram, executeWorkflowTrigger, httpRequest. Event-driven trigger; 35 nodes.
W4.1 - ROUTER (State + Voice). Uses executeWorkflowTrigger, postgres, redis. Event-driven trigger; 30 nodes.
SHEETS RAG. Uses googleDriveTrigger, postgres, googleSheets, executeWorkflowTrigger. Event-driven trigger; 24 nodes.