Debugging actions

While you’re developing actions for your application, to debug faster you may want to see the exact details of the webhook call for the action as well.

To do so, start the server in debugging mode. In the case of errors, the GraphQL response will contain debugging information of the webhook calls in the extensions.internal field.

If you are using action transforms, then you will also see the transformed_request inside the request field.

For example:

mutation {
    create_user(email: "foo@bar.com", name: "Foo"){
      id
      user {
        name
        email
      }
    }
  }
mutation { create_user(email: "foo@bar.com", name: "Foo"){ id user { name email } } }
{ "errors": [ { "message": "got scalar String for the action webhook response, expecting UserId", "extensions": { "code": "unexpected", "path": "$", "internal": { "error": "got scalar String for the action webhook response, expecting UserId", "response": { "status": 200, "headers": [ { "value": "application/json", "name": "Content-Type" } ], "body": "[incorrect response]" }, "request": { "url": "http://127.0.0.1:5593/scalar-response", "headers": [], "body": { "action": { "name": "create_user" }, "session_variables": { "x-hasura-role": "admin" }, "input": { "email": "foo@boo.com", "name": "Foo" }, "request_query": "mutation {\n create_user(email: \"foo@bar.com\", name: \"Foo\"){\n id\n user {\n name\n email\n }\n }\n }\n" }, "transformed_request": { "query_string": "", "body": "[transformed body]", "url": "http://127.0.0.1:3000/abcd", "headers": [ [ "Content-Type", "application/json" ] ], "method": "PATCH", "response_timeout": "30000000" }, } } } } ] }

Additional Resources

Introduction to Hasura Actions - View Recording.