{"meta":{"instanceId":"workflow-f6e39f1c","versionId":"1.0.0","createdAt":"2025-09-29T07:07:45.910466","updatedAt":"2025-09-29T07:07:45.910479","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"nodes":[{"id":"82d5281b-a4a3-4407-859e-49cb16567b28","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[340,-260],"parameters":{"width":747,"height":428,"content":"## Purpose \nTo verify the mailing address for new contacts in Keap. \n\nWhenever I add a new contact to Keap, I run this automation to ensure I have a valid mailing address. It also helps me check for misspellings if the contact address was manually entered.\n\nQuick Video Overview:\n\n{{ $env.WEBHOOK_URL }}\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"78fbe4ae-e72b-4bf9-8387-0d126316b148","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[1480,-180],"parameters":{"color":5,"width":515,"height":763,"content":"Update Keap to indicate if the address is deliverable.\n\nPossible Options: \n- Add Tag\n- Add Note\n- Start Automation\n- Update a Field\n\nFor Deliverable Addresses - I apply a tag that the address was verified.\n\nFor Non Deliverable Addresses - I apply a tag, which triggers an automation for my team to manually verify the address. You could also trigger an automation to reach out to the contact to verify their address.\n\n"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"b6313993-fa07-463d-a77a-a3c273ebc2c5","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[520,200],"parameters":{"color":4,"height":339,"content":"Receive a webhook from your CRM with the contact address fields"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"f79e9d7a-7ce9-49f3-bd0f-b827ce04b5e2","name":"Set Address Fields","type":"n8n-nodes-base.set","position":[840,280],"parameters":{"options":{},"assignments":{"assignments":[{"id":"8216105e-23ad-4c5c-8f4a-4f97658e0947","name":"address","type":"string","value":"={{ $json.address }}"},{"id":"111da971-2473-4c5e-a106-22589cf47daf","name":"address2","type":"string","value":"={{ $json.address2 }}"},{"id":"ed62cf39-10f1-42f6-b18f-bfa58b4fe646","name":"city","type":"string","value":"={{ $json.city }}"},{"id":"d9550200-04ac-4cf4-b7e6-cd40b793ce97","name":"state","type":"string","value":"={{ $json.state }}"},{"id":"62269d11-c98c-4016-83ef-291176f2fc12","name":"zip","type":"string","value":"={{ $json.zip_code }}"}]},"includeOtherFields":true},"typeVersion":3.3,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"61d0ba59-dff6-4357-b085-a6d129171060","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1000,480],"parameters":{"color":3,"width":430,"height":216,"content":"1. Create an Account a {{ $env.WEBHOOK_URL }}\n2. Create API Key ({{ $env.API_BASE_URL }}\n3. Update Node with your Credentials (Basic Auth)"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"4275e2a4-60a9-447e-8d64-f0073b9abe6b","name":"Address Verification","type":"n8n-nodes-base.httpRequest","position":[1060,280],"parameters":{"url":"{{ $env.API_BASE_URL }}","method":"POST","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"primary_line","value":"={{ $json.address }}"},{"name":"secondary_line","value":"={{ $json.address2 }}"},{"name":"city","value":"={{ $json.city }}"},{"name":"state","value":"={{ $json.state }}"},{"name":"zip_code","value":"={{ $json.zip_code }}"}]}},"typeVersion":4.1,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"id":"89da689e-1f96-4aa6-9236-150dc087caf0","name":"Update Keap - Deliverable","type":"n8n-nodes-base.keap","position":[1580,140],"parameters":{"tagIds":"=Mailing Address Deliverable","resource":"contactTag","contactId":"={{ $('CRM Webhook Trigger').item.json.id }}"},"credentials":{"keapOAuth2Api":{"id":"5gXMihvp2f0IT5i1","name":"Blank"}},"typeVersion":1,"notes":"This keap node performs automated tasks as part of the workflow."},{"id":"67ca486b-fc17-43e0-a2ae-757ab65422f7","name":"Update Keap - NOT Deliverable","type":"n8n-nodes-base.keap","position":[1580,360],"parameters":{"tagIds":"=Mailing Address NOT Deliverable","resource":"contactTag","contactId":"={{ $('CRM Webhook Trigger').item.json.id }}"},"credentials":{"keapOAuth2Api":{"id":"5gXMihvp2f0IT5i1","name":"Blank"}},"typeVersion":1,"notes":"This keap node performs automated tasks as part of the workflow."},{"id":"bd2a2468-80d5-4a76-81b5-ea9cb181eb7a","name":"CRM Webhook Trigger","type":"n8n-nodes-base.webhook","position":[600,280],"webhookId":"fd51bba5-929d-4610-bd3f-a3032bcf16c3","parameters":{"path":"727deb6f-9d10-4492-92e6-38f3292510b0","options":{},"httpMethod":"POST"},"typeVersion":1.1,"notes":"This webhook node performs automated tasks as part of the workflow."},{"id":"15221022-7eb3-40db-85b3-cf310e8bc2d2","name":"Switch","type":"n8n-nodes-base.switch","position":[1280,280],"parameters":{"rules":{"rules":[{"value2":"=deliverable","outputKey":"YOUR_CREDENTIAL_HERE"},{"value2":"deliverable","operation":"notEqual","outputKey":"YOUR_CREDENTIAL_HERE"}]},"value1":"={{ $json.deliverability }}","dataType":"string"},"typeVersion":2,"notes":"This switch node performs automated tasks as part of the workflow."}],"connections":{"Address Verification":{"main":[[],[],[],[],[],[],[],[],[]]},"CRM Webhook Trigger":{"main":[[],[],[],[],[],[],[],[],[]]}},"name":"Stickynote Workflow","settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"description":"Automated workflow: Stickynote Workflow. This workflow integrates 7 different services: webhook, stickyNote, httpRequest, switch, set. It contains 14 nodes and follows best practices for error handling and security.","notes":"Excellent quality workflow: Stickynote Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}