Workflow: Stickynote Workflow
Integrations: httpRequest, keap, set, stickyNote, switch, webhook

{"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."}], "pinData": {"CRM Webhook Trigger": [{"id": "5551212", "city": "Washington", "email": "mr.president@gmail.com", "phone": "877-555-1212", "state": "DC", "address": "1600 Pennsylvania Avenue NW", "zip_code": "20500"}]}, "connections": {"4275e2a4-60a9-447e-8d64-f0073b9abe6b": {"main": [[{"node": "error-handler-4275e2a4-60a9-447e-8d64-f0073b9abe6b", "type": "main", "index": 0}], [{"node": "error-handler-4275e2a4-60a9-447e-8d64-f0073b9abe6b-2f1e8960", "type": "main", "index": 0}], [{"node": "error-handler-4275e2a4-60a9-447e-8d64-f0073b9abe6b-abaa73f8", "type": "main", "index": 0}], [{"node": "error-handler-4275e2a4-60a9-447e-8d64-f0073b9abe6b-887291f3", "type": "main", "index": 0}], [{"node": "error-handler-4275e2a4-60a9-447e-8d64-f0073b9abe6b-e99ea186", "type": "main", "index": 0}], [{"node": "error-handler-4275e2a4-60a9-447e-8d64-f0073b9abe6b-79ed4301", "type": "main", "index": 0}], [{"node": "error-handler-4275e2a4-60a9-447e-8d64-f0073b9abe6b-4842cfa2", "type": "main", "index": 0}], [{"node": "error-handler-4275e2a4-60a9-447e-8d64-f0073b9abe6b-52eaeff8", "type": "main", "index": 0}], [{"node": "error-handler-4275e2a4-60a9-447e-8d64-f0073b9abe6b-e69fc143", "type": "main", "index": 0}]]}, "bd2a2468-80d5-4a76-81b5-ea9cb181eb7a": {"main": [[{"node": "error-handler-bd2a2468-80d5-4a76-81b5-ea9cb181eb7a", "type": "main", "index": 0}], [{"node": "error-handler-bd2a2468-80d5-4a76-81b5-ea9cb181eb7a-71ec2aee", "type": "main", "index": 0}], [{"node": "error-handler-bd2a2468-80d5-4a76-81b5-ea9cb181eb7a-b0cddb23", "type": "main", "index": 0}], [{"node": "error-handler-bd2a2468-80d5-4a76-81b5-ea9cb181eb7a-bd3cddb1", "type": "main", "index": 0}], [{"node": "error-handler-bd2a2468-80d5-4a76-81b5-ea9cb181eb7a-7ef7e8e3", "type": "main", "index": 0}], [{"node": "error-handler-bd2a2468-80d5-4a76-81b5-ea9cb181eb7a-3607e312", "type": "main", "index": 0}], [{"node": "error-handler-bd2a2468-80d5-4a76-81b5-ea9cb181eb7a-80d2482b", "type": "main", "index": 0}], [{"node": "error-handler-bd2a2468-80d5-4a76-81b5-ea9cb181eb7a-ef6e8142", "type": "main", "index": 0}], [{"node": "error-handler-bd2a2468-80d5-4a76-81b5-ea9cb181eb7a-0acc1b08", "type": "main", "index": 0}]]}}, "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.", "tags": ["automation", "n8n", "production-ready", "excellent", "optimized"], "notes": "Excellent quality workflow: Stickynote Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}