Urgent.News

What's breaking now, across thousands of outlets.

Tech

CF7 to Keap (Infusionsoft) Not Adding Contacts: A Complete Troubleshooting Guide

You have built a Contact Form 7 form. You have connected it to Keap (formerly Infusionsoft) through the "Contact Form to Any API" plugin. You have entered your API credentials and mapped the fields. And yet, when a user submits the form, no contact appears in your Keap CRM. This is a frustratingly common problem. The good news? The issue is almost always one of four things, and each has a clear…

This article provides a comprehensive troubleshooting guide for when Contact Form 7 (CF7) to Keap (formerly Infusionsoft) fails to add contacts to the CRM. The issue typically arises from one of four common problems, each with a clear solution.

The first step in diagnosing the problem is to check the plugin's API Logs page. This will show whether a request was sent from the plugin, the exact JSON payload, and the response received from Keap. If no request appears, the issue lies on the WordPress side, and you should refer to the guide on Contact Form 7 data not reaching the API.

The first failure mode is that the Infusionsoft field prefix is missing. Older integrations required a specific field naming convention where every field sent to Infusionsoft must be prefixed with "infusionsoft-". If a field name does not follow this convention, the data will not reach the API. To fix this, rename the CF7 fields in the form editor to include the "infusionsoft-" prefix.

Then, update the field mappings in the plugin to match the prefixed CF7 field names with the Keap API parameters. Test with a minimal form to ensure the issue is resolved.

The second failure mode is that the OAuth authentication is not configured correctly. Keap uses OAuth 2.0 for API authentication, requiring a valid access token and proper management of a refresh token. Common issues include token expiration and inability to refresh it automatically. To address this, verify your OAuth credentials in Keap's API Settings and generate a fresh API token through the developer portal.

Configure the plugin to use the Bearer token in the Authorization header and ensure it handles token refresh correctly when the access token expires.

The third failure mode is that the API payload structure is incorrect. Keap's API is strict about the JSON format for contact creation, expecting specific nested objects for email addresses and phone numbers. A common error message is "Field is invalid" or "Bad Request". To resolve this, start with a minimal payload that includes the given_name, family_name, and email_addresses fields with the correct structure.

Use the appropriate field names for each property, such as given_name for the first name and email_addresses as an array with email and field properties. Include the Content-Type header as application/json and make sure to use the correct endpoint: https://api.infusionsoft.com/crm/rest/v1/contacts. Note that if you include an address in the payload, the region field must use ISO region codes (e.g., US-CO for Colorado).

The fourth failure mode is that duplicate contact detection may be blocking the creation of new contacts. Keap's API may return the existing contact instead of creating a new one if a contact with the same email address already exists. This is by design, but it can cause issues if you expect new contacts to be created. To address this, check the response from Keap and verify that a new contact was indeed created.

If not, investigate further to ensure your form and plugin configuration are set up correctly to handle duplicate contacts appropriately.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Self-Hosted ngrok Alternatives 2026: Tunnel, frp, Tailscale

If you only need a stable public URL for webhooks or a demo, Cloudflare Tunnel on a domain you own is the best free ngrok replacement in 2026, and frp on a $4 VPS is the best one you fully control.

  • ngrok free plan limits data transfer and dev domains in 2026
  • Cloudflare Tunnel offers stable public URL on your domain for free
  • frp on $4 VPS provides full control for self-hosted alternatives

The Stateful Agent Memory Trap: Why Swarms Bleed Context

Originally published by **Asif Muhammad Iqbal (Founder & CEO at Logic42) * at https://logic42.ai/articles/stateful-agent-memory-trap-context-bloat .* The Stateful Agent Memory Trap: Why Swarms Bleed…

  • Stateful agent memory trap arises from appending tool outputs directly into conversation buffers
  • Multi-step workflows generate bloated context exceeding 80,000 tokens in enterprise settings
  • Bounded state graph architecture recommended to mitigate context bloat and associated costs

More from Friday 16 October →