A 400 status code (Bad Request) in a Webflow Flow (Workflow) test typically indicates the server can't process the request due to malformed syntax or invalid input. Here’s how to diagnose and resolve it.
- Missing or malformed fields in your test values are the most common cause.
- Ensure required fields (like email, name, or IDs) are filled and in the correct format.
- If using values from form submissions or CMS items, verify that they return valid, non-empty data during the test.
- If your flow sends a Webhook or connects to another service:
- Ensure the Content-Type is set appropriately (typically
application/json
). - Check if the endpoint you're calling expects any authorization headers or specific format.
3. Review External Endpoint Behavior
- If integrating with third-party tools (e.g., Zapier, Make, Airtable):
- Verify that the API endpoint is correct and working.
- Use services like Postman to simulate the same request manually and confirm it works.
- A 400 might mean the third-party API is rejecting the structure of your request body.
4. Ensure Variables Are Populated
- Inserted variables like
{{formData.email}}
or {{cmsItem.slug}}
may resolve to null or undefined during testing, especially if: - The flow wasn’t triggered by actual data.
- The test uses a dry-run instead of real submission data.
5. Rerun Flow With Actual Trigger
- If you're using Webflow’s test function only, try triggering the Flow with live data (e.g., submit a real form).
- This can help you spot issues the test environment misses—like empty POST bodies or live field quirks.
6. Inspect the Error Message
- Webflow Flow logs sometimes provide a response body from the failed request.
- Look for error details like:
- “Invalid value for field X”
- “Missing required parameter Y”
- “Malformed JSON body”
Summary
A 400 error in your Webflow Flow test usually results from missing or invalid input data, incorrect API call structure, or unset variables. Review your variables, test with real inputs, and check third-party API specs to ensure your request is properly formatted.