Glue step guides

Every Glue step type, with its fields, behaviour and worked examples.

Every Glue job is a list of steps. These guides cover each step type in turn: what it does, every field in the step editor (with its data name for the API), how it behaves on retries, and worked examples you can copy.

New to Glue? Start with Creating Glue integrations, which explains triggers, variables, Liquid templates, retries and limits.

Call other systems

SteptypeUse it to
API RequestapiCall the Smooth POS API as your company.
REST RequestrestCall any other HTTP API.
Shopify GraphQLshopify_graphqlRun a query or mutation on your connected Shopify store.
Fetch all pagesa switch on api and shopify_graphqlRead every page of a list in one step.
EmailemailSend an email.
Send NotificationnotifyPost to Slack or Microsoft Teams.
FilefileWrite or fetch CSV and JSON files, in cloud storage or over FTP, FTPS and SFTP.

Work with data

SteptypeUse it to
ScriptscriptRun JavaScript to read and shape your data.
Transform DatatransformFilter, map, sort and group a list without a script.
HeaderheaderRead a header from the webhook request that started the job.
CachecacheRemember values between runs and share them between jobs.
SignaturesignatureSign a message, or check a webhook's signature.

Control the flow

SteptypeUse it to
If ConditionifRun steps only when a condition is true, with an optional else branch.
LoopforeachRun steps once for each item in a list.
Stop JobstopEnd the run early, as a success or an error.
LocklockStop two runs from doing the same work at once.
WaitsleepPause for up to 60 seconds.
Schedule LaterdelayRun the rest of the job, or another job, up to 30 days later.
Run Jobrun_jobStart another Glue job, and optionally wait for its result.

Things every step has in common

  • A Name and an Enabled switch. A disabled step is skipped, along with everything nested under it.
  • Two ways to use variables. Script steps and If Conditions use $.name. Every other field uses Liquid: {{ name }}.
  • A Response variable on most steps, which saves the step's result for later steps.
  • Retries pick up where they can. When a job is retried, top-level steps that change things outside Glue (API Request, REST Request, Shopify GraphQL, Email, Send Notification, Schedule Later, Run Job, and File writes) are skipped if they already worked. Steps inside an If Condition, Loop or Lock run again. See Order your steps so retries are safe.
  • Tests run for real, with a few exceptions: when you select Run in the job editor, Schedule Later and an Async Run Job only log what they would do.
After a run, the Console shows each step's log, which you can filter by All, Log, Info, Warn or Error. Here the If branch runs and the Else branch is skipped.

Did this page help you?