{"meta":{"instanceId":"workflow-073a9922","versionId":"1.0.0","createdAt":"2025-09-29T07:07:45.874401","updatedAt":"2025-09-29T07:07:45.874418","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"nodes":[{"id":"8a22d40f-5b09-485a-8d58-70f36821ee9f","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 Groundhogg CRM. \n\nWhenever I add a new contact to Groundhogg CRM, 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 }}"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"d59b4ac3-5b41-4913-8b41-401a4eac8cc0","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[1480,-180],"parameters":{"color":5,"width":561.9462602626872,"height":763,"content":"Update Groundhogg CRM 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":"6a5d3833-a256-4b57-96dc-6a08886b65ee","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":"4fe1597b-ea03-439a-898b-a968cbd84511","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":""},{"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":"ac13a2be-07fa-4861-99ab-9af8fe797db3","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1000,480],"parameters":{"color":3,"width":430,"height":216,"content":"1. Create an Account a LOB.com\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":"04c286c0-8862-40f9-960d-902b3c89a6ee","name":"CRM Webhook Trigger","type":"n8n-nodes-base.webhook","position":[600,280],"webhookId":"a2df5279-0c49-49c1-83a3-cb1179930e91","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":"c091dc5f-5527-43ca-b257-c977d654c13b","name":"Update Groundhogg - Deliverable","type":"n8n-nodes-base.httpRequest","position":[1800,140],"parameters":{"url":"{{ $env.BASE_URL }}","method":"POST","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"tag","value":"Mailing Address Deliverable"},{"name":"id","value":"={{ $('CRM Webhook Trigger').item.json.id }}"}]}},"typeVersion":4.1,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"id":"1449b6e2-1c4f-4f75-8280-aab3c993f0ac","name":"Update Groundhogg - NOT Deliverable","type":"n8n-nodes-base.httpRequest","position":[1800,360],"parameters":{"url":"{{ $env.BASE_URL }}","method":"POST","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"tag","value":"Mailing Address NOT Deliverable"},{"name":"id","value":"={{ $('CRM Webhook Trigger').item.json.id }}"}]}},"typeVersion":4.1,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"id":"a79eb361-7dc8-4838-bb40-b34bf35c3102","name":"Address Verification","type":"n8n-nodes-base.httpRequest","position":[1140,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":"71c9199f-823c-451b-baf5-a2b5de1697c1","name":"Switch","type":"n8n-nodes-base.switch","position":[1500,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":{"CRM Webhook Trigger":{"main":[[],[],[],[],[],[],[],[],[]]},"Update Groundhogg - Deliverable":{"main":[[],[],[],[],[],[],[],[],[]]},"Update Groundhogg - NOT Deliverable":{"main":[[],[],[],[],[],[],[],[],[]]},"Address Verification":{"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 6 different services: webhook, stickyNote, httpRequest, switch, set. It contains 18 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."}