Custom Action Callback Form

Having issues getting a form to appear when using a callback on a custom action. I am able to use a webhook response to get a custom success message no problem, but when I enter JSON form fields, I just get the generic “success” message and no form. I can see in the custom action logs that the response body received by contains the JSON data, but it is not populating onto the dialogue that appears. Not sure if it is a status code issue (I’m using 201), an issue with headers not being properly passed, or something else I am not thinking of. If it helps, I am using web hooks through the (formerly Integromat) platform.

My guess is that your issue is that you have to respond back with a 200 status code, you cannot respond back with a 201 response.

I agree, it’s confusing that you get a “Success” message, that’s something we’ll hopefully be improving soon!

Another thing to look out for is that your response is returned in < 500ms or it will not work correctly. Lastly, it’s pretty easy to have a small syntax error in your JSON form.

There’s also one more thing that could be causing your issue, and that’s just a bug in our Custom Actions feature that can cause this particular error. We’re working on rebuilding that infrastructure right now, so in the worst-case scenario that will get fixed in the next couple of months.

Hey, thanks a ton for the response. I tried reverting back to response code 200 and am still having the same issue. I was just using one of the simple JSON form examples from the API documentation while I was testing out the functionality… I’m pretty sure my syntax is ok. I’ve attached two screenshots. Latency looks like it is well within the 500ms. Maybe it is just a bug on your end?

Your form response isn’t actually correct, you’re missing title, description, and fields: {}.

When designing your form, I would suggest starting with the Custom Action Builder, available here.

A custom action callback form is a form that is displayed after a custom action has been executed. The callback form can be used to collect additional information from the user, or to perform additional actions.

To create a custom action callback form, you will need to:

  1. Create a form in your application.
  2. Add a hidden field to the form with the name [callback_id]( The value of this field should be the ID of the custom action that was executed.
  3. Add a submit button to the form.
  4. Register a callback function that will be called when the form is submitted. This callback function will need to handle the data that is submitted in the form.

Here is an example of a custom action callback form:



Use code with caution. Learn more


The following code shows a callback function that can be used to handle the data that is submitted in the form:

`Pythondef callback(request):
callback_id = request.POST.get(‘callback_id’)
name = request.POST.get(‘name’)
email = request.POST.get(‘email’)

Do something with the data that was submitted in the form

return HttpResponse(‘Thank you for your submission!’)`

Use code with caution. Learn more


When the form is submitted, the callback function will be called with the ID of the custom action that was executed, the name of the user, and the email address of the user. The callback function can then do something with this data, such as saving it to a database or sending an email to the user.

Custom action callback forms can be a powerful way to collect additional information from users, or to perform additional actions after a custom action has been executed.

I was actually in the process of writing a response, having checked our documentation!

I’m doing some testing right now to see what might be going on here. It should be possible to respond with a custom message in a non-form response.

So… I got this to work. For anyone else who may come upon this. Make apparently needs one line JSON, not the properly formatted, indented JSON I was throwing in there from the builder/API docs during my scenario testing. I feel dumb. But now I know.

Phew, glad you figured it out! Sorry for all that back and forth.

We definitely want to make Custom Actions easier to user/work with in the future. Stay tuned for improvements there!

No reason to be sorry… I really appreciate your responsiveness here. Can’t wait for Custom Action updates, though. This seems to be a Make thing… Older (no longer active) custom actions made when it was Integromat ran fine with multi-line json in the body, so was a weird issue that it took a while to isolate. Took having the same issue with the Asana API for me to narrow it down to that.

Gotta love it.