If you're building screens in a low-code platform and see this error:
INVALID_ON_CLICK_ACTION_PAYLOAD
Missing Form component ${expression} for screen '${screenId}'.
It means you're trying to reference a form field in your action payload that doesn’t actually exist on the screen. This is a common mistake, especially when modifying forms or renaming input fields. You can fix this error by either adding the missing field or correcting the binding name to match an existing one.
In this post, we’ll explain what causes this issue, how to identify it, and how to fix it.
What This Error Means
The error occurs when you're binding a value from a form (e.g. ${form.not_present}), but the form doesn't contain any input with that name.
So the platform is looking for form.not_present and can’t find it. As a result, it throws this error to let you know that your reference is invalid.
Common Causes
Typo in the binding name (e.g. ${form.npt_present} instead of ${form.not_present})
Form field renamed without updating the payload reference
Payload copied from another screen where the form field existed
Input field accidentally removed
Example of the Problem
Here’s a simplified JSON structure that causes the issue:
"on-click-action": {
"name": "navigate",
"payload": {
"text": "${form.not_present}"
}
}
But the form doesn’t have any input with the name not_present.
How to Fix It
There are two simple ways to resolve this:
1. Add the Missing Form Field
If you intended to use a value from the form, make sure the input exists and matches the name you're referencing:
{
"type": "TextInput",
"name": "not_present"
}
Then, ${form.not_present} will correctly bind to the value entered in that input.
2. Update the Binding to Match an Existing Field
If the field was renamed or removed, update the payload binding to use the correct existing field:
"payload": {
"text": "${form.input}"
}
Make sure the name in the binding matches exactly (case-sensitive) with the name property of one of the form fields.
Best Practices
Always double-check the name of every form input and keep it consistent.
If you're copying payload structures, verify that the same inputs exist on the current screen.
Use descriptive and unique names for form fields to avoid confusion.
For more troubleshooting tips related to WhatsApp Business API, check out heltar.com/blogs.