{"name":"Filtrat — Real-Time Lead Gate","nodes":[{"parameters":{"httpMethod":"POST","path":"verify-lead","responseMode":"responseNode"},"id":"webhook-trigger","name":"Webhook Trigger","type":"n8n-nodes-base.webhook","typeVersion":2,"position":[240,300]},{"parameters":{"method":"GET","url":"https://api.filtrat.io/v1/billing/status","authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"id":"check-balance","name":"Check Balance","type":"n8n-nodes-base.httpRequest","typeVersion":4.2,"position":[460,300],"credentials":{"httpHeaderAuth":{"id":"","name":"Filtrat API"}}},{"parameters":{"conditions":{"options":{"caseSensitive":true,"leftValue":""},"conditions":[{"leftValue":"={{ $json.total_balance }}","rightValue":1,"operator":{"type":"number","operation":"gt"}}]}},"id":"enough-credits","name":"Enough Credits?","type":"n8n-nodes-base.if","typeVersion":2,"position":[680,300]},{"parameters":{"method":"POST","url":"https://api.filtrat.io/v1/verify/email","authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth","sendBody":true,"specifyBody":"json","jsonBody":"={{ JSON.stringify({ email: $('Webhook Trigger').item.json.email, resolve_catchall: true }) }}"},"id":"verify-email","name":"Verify Email","type":"n8n-nodes-base.httpRequest","typeVersion":4.2,"position":[900,200],"credentials":{"httpHeaderAuth":{"id":"","name":"Filtrat API"}},"retryOnFail":true,"maxTries":3,"waitBetweenTries":2000},{"parameters":{"respondWith":"json","responseBody":"={{ JSON.stringify({ accepted: false, error: 'insufficient_credits', message: 'Email verification unavailable — please try again later.' }) }}"},"id":"respond-no-credits","name":"Respond: No Credits","type":"n8n-nodes-base.respondToWebhook","typeVersion":1.1,"position":[900,420]},{"parameters":{"rules":{"values":[{"conditions":{"options":{"caseSensitive":true,"leftValue":""},"conditions":[{"leftValue":"={{ $json.status }}","rightValue":"verified","operator":{"type":"string","operation":"equals"}}]},"renameOutput":true,"outputKey":"Verified"},{"conditions":{"options":{"caseSensitive":true,"leftValue":""},"conditions":[{"leftValue":"={{ $json.status }}","rightValue":"invalid","operator":{"type":"string","operation":"equals"}}]},"renameOutput":true,"outputKey":"Invalid"},{"conditions":{"options":{"caseSensitive":true,"leftValue":""},"conditions":[{"leftValue":"={{ $json.status }}","rightValue":"catchall","operator":{"type":"string","operation":"equals"}}]},"renameOutput":true,"outputKey":"Catch-All"}]}},"id":"route-status","name":"Route by Status","type":"n8n-nodes-base.switch","typeVersion":3,"position":[1120,200]},{"parameters":{"respondWith":"json","responseBody":"={{ JSON.stringify({ accepted: true, status: $json.status, email: $json.email, confidence: $json.confidence }) }}"},"id":"respond-verified","name":"Accept Lead","type":"n8n-nodes-base.respondToWebhook","typeVersion":1.1,"position":[1340,100]},{"parameters":{"respondWith":"json","responseBody":"={{ JSON.stringify({ accepted: false, status: $json.status, email: $json.email, message: 'This email address does not exist.' }) }}"},"id":"respond-rejected","name":"Reject Lead","type":"n8n-nodes-base.respondToWebhook","typeVersion":1.1,"position":[1340,300]}],"connections":{"Webhook Trigger":{"main":[[{"node":"Check Balance","type":"main","index":0}]]},"Check Balance":{"main":[[{"node":"Enough Credits?","type":"main","index":0}]]},"Enough Credits?":{"main":[[{"node":"Verify Email","type":"main","index":0}],[{"node":"Respond: No Credits","type":"main","index":0}]]},"Verify Email":{"main":[[{"node":"Route by Status","type":"main","index":0}]]},"Route by Status":{"main":[[{"node":"Accept Lead","type":"main","index":0}],[{"node":"Reject Lead","type":"main","index":0}],[{"node":"Accept Lead","type":"main","index":0}]]}},"settings":{"executionOrder":"v1"},"meta":{"templateId":"filtrat-lead-gate","instanceId":""},"tags":[{"name":"filtrat"},{"name":"email-verification"},{"name":"lead-gen"}]}