Verify Keap Contact Addresses Automatically with n8n & Lob API

This workflow automates verifying mailing addresses for new contacts in Keap using n8n and Lob’s address verification API, saving time and reducing errors caused by manual entry. It updates Keap tags based on address deliverability, improving data reliability and customer outreach accuracy.
webhook
keap
httpRequest
+3
Workflow Identifier: 1518
NODES in Use: webhook, set, httpRequest, switch, keap, stickyNote

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

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 deliverability equals deliverable, 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 Deliverable for verified addresses.
  • Add the tag Mailing Address NOT Deliverable for 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 ✏️

  1. Change Tag Names or Actions in Keap: In the Keap nodes, modify the tagIds parameter to custom tags or even trigger a Keap automation instead of tags.
  2. Verify International Addresses: Extend the HTTP Request node to call Lob’s international verification API endpoint by changing the URL and parameters.
  3. 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.
  4. Log Verification Results to a Google Sheet: Insert a Google Sheets node after the Switch node to record results and timestamps for auditing.
  5. 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.

Promoted by BULDRR AI

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation in n8n (Beginner Guide)

A complete beginner guide to building an AI-powered SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free