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": "expecting null, object or array of objects for action webhook response", "extensions": { "code": "parse-failed", "path": "$", "internal": { "error": "expecting null, object or array of objects for action webhook response", "response": { "status": 200, "headers": [ { "value": "application/json", "name": "Content-Type" } ], "body": "[incorrect response]" }, "request": { "url": "http://127.0.0.1:5593/invalid-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.