You connected Contact Form 7 to ClickUp using an integration plugin. You set up the task creation. You tested the form. Nothing appeared in ClickUp.
Or maybe it was working, you added a new field to your form, and now the integration fails every time with an error about an invalid field value.
Both situations happen constantly with CF7 to ClickUp integrations. Here is what is actually going wrong in each case.
Cause 1: Field Type Mismatch - the FIELD_010 Error
This was the exact error in a WordPress support forum thread:
{"err": "Value is not a valid URL", "ECODE": "FIELD_010"}
The developer had added a new field to their WordPress form and mapped it to a ClickUp custom field. The problem: the ClickUp field was configured as a URL type. The CF7 field was a plain text field. When the integration sent a text value to a URL custom field, ClickUp rejected it with FIELD_010.
ClickUp has strict type validation on custom fields. If you map a CF7 text field to a ClickUp Number field, a URL field, or a Date field, ClickUp will reject the value silently or with the FIELD_010 error depending on your plugin's error handling.
How to check: In ClickUp, open the List where tasks are being created and look at the custom fields. Each field has a type icon next to the name (text, number, URL, date, email, etc.). Match your CF7 field type to the ClickUp custom field type exactly. For most form fields, ClickUp's "Text" custom field type is the safest destination.
Cause 2: Wrong Location in ClickUp's Four-Level Hierarchy
ClickUp organises work in four nested levels: Workspace → Space → Folder → List. Tasks are created inside Lists. When setting up a CF7 to ClickUp integration, you must select all four levels correctly before the plugin knows where to create the task.
The most common mistake: selecting the Space or Folder instead of the List. Tasks cannot be created at the Space or Folder level in ClickUp's API. If your plugin is trying to create a task at the wrong level, the API returns an error that the plugin may swallow silently.
A second common mistake: the List ID in your plugin settings is stale. If you renamed or moved the List in ClickUp after setting up the integration, the plugin may still be pointing at the old List ID, which either no longer exists or has been reassigned.
Verify your List ID: In ClickUp, open the List you want tasks created in. Click the three dots menu on the List name and select "Copy Link." The URL contains the List ID. Compare this against what is stored in your plugin settings.
Cause 3: ClickUp API Token vs OAuth - Scope Issues
ClickUp has two ways to authenticate:
Personal API Token: Found in ClickUp under Settings → Apps → API Token. This token has full access to everything the account owner can access. Simple, works for personal use.
OAuth App Token: Generated through a ClickUp app registration. Requires selecting specific scopes (task:write, list:read, etc.) when the app is created.
Most CF7 integration plugins use the personal API token. If your plugin uses OAuth (either its own OAuth app or a third-party service), the token may not have the task:write scope enabled. The API call authenticates successfully but ClickUp rejects the task creation because the token lacks permission to write tasks.
How to confirm: Use the personal API token approach wherever your plugin offers a choice. Test it directly:
curl -X GET "https://api.clickup.com/api/v2/user" \
-H "Authorization: YOUR_PERSONAL_API_TOKEN"
If you see your user details, the token is valid and has basic access. Then test task creation specifically:
curl -X POST "https://api.clickup.com/api/v2/list/YOUR_LIST_ID/task" \
-H "Authorization: YOUR_PERSONAL_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Test Task from CF7",
"description": "This is a test"
}'
A 200 response with a task object confirms your token, List ID, and permissions are all correct.
Cause 4: Custom Fields Locked Behind a Pro Paywall
If your integration is creating tasks in ClickUp but the custom field values are not being populated, check whether your plugin requires a Pro upgrade for custom field support.
The Advanced Form Integration plugin's ClickUp documentation states explicitly: "Requires a Pro license to add tags and custom fields." Free plan users can create tasks with a name and description, but mapping CF7 form fields to ClickUp custom fields requires the paid version.
This produces a confusing situation: the integration appears to work (tasks are created), but most of the form data never makes it into ClickUp because it was mapped to custom fields that the free plugin version does not send.
If this is your situation, either upgrade the plugin or switch to a direct API integration where you control exactly which custom fields receive which values.
Connecting CF7 to ClickUp Directly
ClickUp's API for creating a task with custom fields:
POST https://api.clickup.com/api/v2/list/{list_id}/task
Authorization: YOUR_PERSONAL_API_TOKEN
Content-Type: application/json
{
"name": "Enquiry from Jane Smith",
"description": "Email: jane@example.com\nMessage: Their message here",
"custom_fields": [
{
"id": "CUSTOM_FIELD_ID",
"value": "jane@example.com"
}
]
}
Get your custom field IDs:
curl "https://api.clickup.com/api/v2/list/YOUR_LIST_ID/field" \
-H "Authorization: YOUR_PERSONAL_API_TOKEN"
Each field object has an id property — that is what you pass in custom_fields[].id.
Contact Form to API handles this direct API call from the WordPress dashboard. You set the ClickUp task creation endpoint, add your personal API token as the Authorization header, and define the JSON body mapping your CF7 fields to ClickUp's expected structure. Custom fields, tags, assignees all controlled from your settings without a Pro paywall gate on basic field mapping.
Quick Diagnosis
| Symptom | Most Likely Cause |
|---|---|
FIELD_010 error in logs |
CF7 field type does not match ClickUp custom field type |
| Tasks created but no custom field data | Plugin free tier does not send custom fields |
| No tasks created, no error | Wrong List selected (Space or Folder chosen instead) |
| Tasks created pointing to old List | List was renamed/moved after setup — List ID is stale |
| 401 authentication error | API token invalid or OAuth scopes insufficient |
Top comments (0)