Opening Problem Statement
Meet Sarah, a busy sales manager who relies on Keap CRM to store and manage contacts for her company. Every day, Sarah adds dozens of new contacts, but she often faces a recurring headache: inaccurate or incomplete mailing addresses. These mistakes cause returned mail, wasted time following up, and reduced marketing effectiveness. Sometimes, addresses get misspelled or lack vital information because they were typed manually.
Before Sarah found this automation, she spent hours each week manually verifying whether an address was deliverable or not. This meant cross-checking the address with external tools, tagging contacts in Keap accordingly, and triggering follow-ups. For Sarah, this inefficiency meant lost productivity and delayed customer engagement.
Fortunately, with the right n8n workflow integrated with Keap and Lob’s US address verification API, Sarah can now automatically check and tag addresses for deliverability as soon as a new contact is created, saving her hours weekly and ensuring reliable data.
What This Automation Does
This n8n workflow seamlessly verifies new contact mailing addresses added to Keap CRM using the Lob API and then updates Keap with tags signaling whether the address is deliverable or not. Here’s what happens when the workflow runs:
- The workflow triggers automatically when a new contact is added via a webhook from Keap.
- Extracts and sets the address fields (address, address2, city, state, zip code) from the webhook data.
- Calls the Lob US address verification API via an HTTP Request node to check if the address is deliverable.
- Uses a Switch node to evaluate the Lob response deliverability result.
- Updates the contact in Keap by applying a “Mailing Address Deliverable” tag if the address is confirmed deliverable.
- Or applies a “Mailing Address NOT Deliverable” tag if the address fails verification, prompting manual review.
This automation eliminates the manual grunt work of address verification, reduces errors in your CRM, and accelerates follow-up workflows, saving at least a couple of hours per week for Sarah.
Prerequisites ⚙️
- Keap CRM account with ability to generate a webhook to send new contact data.
- n8n account (cloud or self-hosted). You can explore options for self-hosting at buldrr.com/hostinger.
- Lob account with an API key (https://www.lob.com/pricing) to access US address verification API.
- Keap OAuth2 API credentials set up in n8n for updating contacts.
Step-by-Step Guide to Build This Workflow
1. Create the Webhook Trigger for New Keap Contacts
In n8n, click + Add Node → Search and select Webhook node → Name it CRM Webhook Trigger.
Set the HTTP Method to POST and generate a unique Webhook Path (e.g., 727deb6f-9d10-4492-92e6-38f3292510b0).
This webhook will accept incoming new contact data from Keap. Test by sending a sample POST request with contact details and verify the JSON payload is received.
Common Mistake: Forgetting to set the webhook to accept POST or incorrect path URL will stop data flow.
2. Extract Address Fields with the Set Node
Add a Set node after the webhook → Name it Set Address Fields.
Configure it to assign these fields based on webhook JSON input:
address={{$json.address}}address2={{$json.address2}}city={{$json.city}}state={{$json.state}}zip={{$json.zip_code}}
This prepares the data payload for the address verification API call.
Common Mistake: Incorrect field names or omitting fields leads to API errors or incomplete results.
3. Call Lob’s Address Verification API
Add an HTTP Request node → Name it Address Verification.
Configure as follows:
- Method: POST
- URL:
https://api.lob.com/v1/us_verifications - Authentication: Use Basic Auth with your Lob API key.
- Body parameters (form or JSON depending on your API settings):
- primary_line:
{{$json.address}} - secondary_line:
{{$json.address2}} - city:
{{$json.city}} - state:
{{$json.state}} - zip_code:
{{$json.zip_code}}
Test sending an example address and verify a response indicating address deliverability status.
Common Mistake: Missing authentication or wrong API endpoint URL will cause request failures.
4. Add a Switch Node to Check Deliverability
Add a Switch node → Name it Switch.
Set the condition to evaluate {{$json.deliverability}} from the Lob API response:
- If
deliverabilityequalsdeliverable, route to one output. - Else route to the other output.
This splits the workflow based on verified or unverified addresses.
Common Mistake: Typo in condition values results in wrong routing.
5. Update Keap Contact Tags Based on Address Verification
Add two Keap nodes named Update Keap – Deliverable and Update Keap – NOT Deliverable.
Configure each node to add the respective tag to the contact identified by the webhook’s contact ID:
- Add the tag
Mailing Address Deliverablefor verified addresses. - Add the tag
Mailing Address NOT Deliverablefor unverified addresses.
Use OAuth2 credentials for authorization.
Common Mistake: Incorrect contact ID reference or missing OAuth credentials block the tagging process.
6. Connect the Nodes in This Order
Webhook trigger → Set Address Fields → Address Verification → Switch → Keap Update nodes.
Test the full flow with a sample contact to confirm tags are applied correctly.
Customizations ✏️
- Change Tag Names or Actions in Keap: In the Keap nodes, modify the
tagIdsparameter to custom tags or even trigger a Keap automation instead of tags. - Verify International Addresses: Extend the HTTP Request node to call Lob’s international verification API endpoint by changing the URL and parameters.
- Auto-Notify Contacts for Invalid Addresses: Add an email or SMS node triggered only when an address is not deliverable to request updated info from the contact.
- Log Verification Results to a Google Sheet: Insert a Google Sheets node after the Switch node to record results and timestamps for auditing.
- Adjust Webhook Filters or Data Mapping: Customize which contact fields trigger this workflow or add additional validations on webhook data.
Troubleshooting 🔧
Problem: “404 Not Found” when calling Lob API
Cause: Incorrect URL or endpoint for Lob API.
Solution: Verify you are using https://api.lob.com/v1/us_verifications and that your API key is valid.
Problem: “OAuth token expired” when updating Keap
Cause: Expired or invalid OAuth2 token for Keap API.
Solution: Re-authenticate Keap credentials in n8n under Settings → Credentials and refresh the token.
Problem: Webhook not receiving data
Cause: Incorrect webhook path or HTTP method not set to POST.
Solution: Check the webhook node configuration and update your Keap webhook URL accordingly.
Pre-Production Checklist ✅
- Ensure the Lob API key is active and has access to the US verification API.
- Test sending sample payloads to the webhook and verify the data structure.
- Confirm the Switch node correctly evaluates the deliverability field from Lob API.
- Test both positive and negative tagging in Keap to verify proper tagging.
- Backup any important data in Keap before running the automation live.
Deployment Guide
Once testing is complete and results are verified, activate the webhook node in n8n to “Active” mode.
Update your Keap contact creation process to send data to the n8n webhook URL immediately upon adding new contacts.
Monitor the workflow runs in n8n’s execution log for errors or failed steps.
Adjust error notifications or logging as needed to maintain reliability.
FAQs
Can I use this workflow for international addresses?
Currently, this workflow uses Lob’s US address verification API. You can modify the HTTP Request node to use Lob’s international endpoint, but you may need to adjust data fields accordingly.
Does this workflow consume Lob API credits?
Yes, Lob API has usage limits and pricing tiers. Use the Lob dashboard to monitor your API call counts.
Is my contact data safe in this automation?
Yes, all data transfer happens securely between n8n, Keap, and Lob via HTTPS with your API keys kept confidential.
Conclusion
By implementing this n8n workflow, you have automated the once laborious task of verifying new contact mailing addresses in Keap CRM. This saves Sarah and others like her significant time—several hours weekly—while reducing mail delivery failures and improving customer engagement accuracy.
Next, consider expanding this system to auto-notify contacts with invalid addresses or log verification history for audit purposes. You might also integrate similar verification for phone numbers or emails to ensure data integrity across your CRM records.
With automation, tedious manual checks become a thing of the past, letting you focus on what matters most: building relationships and growing your business.