chesterdocs

#Define a GraphQL action

A GraphQL action is one query or mutation — its text, its arguments and its return type; imported actions come complete, while hand-made ones cannot yet receive variables from a step.

#From action to request

flowchart LR
  Q["Query text<br/>query ($id: ID!) { customer(id: $id) { name } }"] --> R["POST { query, variables }"]
  A["Arguments<br/>id: ID! — required"] --> S["The task's Request body<br/>id = StartEvent_order.customerId"]
  S --> R
  R --> D["data.customer → the task's result"]

#Imported or hand-made

Imported by introspection when the adapter was created, an action has everything: the query text, its Arguments — shown as "Taken from introspection" — and its Return Type. The step's Request body offers one field per argument, and those become the variables.

Hand-made with Create action, it has a name, a type (query or mutation) and the query text.

⚠️ A hand-made action has no arguments and no return type, so its step shows no Request body to fill the variables in, and later steps find no fields to pick.

#The Schema tab

  • GraphQL Query/Mutation — the query text, editable after Edit. Write the variables as $name.
  • Arguments — read-only: name, type, and whether each is required (● Pflicht).
  • Return Type — read-only.
  • Transformationen — decode fields of the answer's data. See Schemas and transformations.

#The Settings tab

Operation type (query or mutation) and Operation name, plus the same Metadaten, Behaviour and Status cards as an HTTP action.

⚠️ The operation type is only a label; the query text decides. The operation name is only sent when the query text itself names the operation — query GetCustomer (…). Imported queries are unnamed.

#What you cannot do

  • ❌ Subscriptions.
  • ❌ Edit the arguments or the return type.
  • ❌ Delete or duplicate a single action.