How-to library · Developer docs

How-to library

Task-shaped pages: a title that starts with a verb, the situation in a few lines, the steps, the working code in both engines, and why this way rather than another. Found from a search, done, and left.

Topic 8 how-tos

Jobs and automation

Send an email when a record is created A job on the record's create event, or a form's Completed event, with one Send mail action whose body is a template in your repository. Read a submission's answers through data, escape them, and reply-to the sender. Post a record to an external API when it changes An UpdateRecord job with Pre-Event properties, a condition that passes only real changes, a payload built as a value, and an idempotent PUT to the other system with retries. Build a nightly export as a CSV file A scheduled job that retrieves the records, renders them as properly escaped CSV from a template, saves the file with an expiry, and emails a link to it. Generate a PDF certificate from a template Render the certificate's HTML from a template, send it to an HTML-to-PDF service with an HTTP request, save the answer with Create file under an unguessable name, and email the link. Loop over a set of records without timing out Run the work in the background, in bounded chunks selected by what is still to do, in a parallel loop that contains its failures, on a schedule that repeats until nothing is left. Stop a job from triggering itself Run it asynchronously where you can, guard it with a condition on Pre-Event data, write the watched field only when the write changes something, and cap chains of jobs with a depth. Move jobs from staging to production safely Deploy the templates, export and import the jobs, then set what did not travel (site, schedule, site data), check what did (record ids, URLs, slugs), and publish one job at a time. Debug a job run that failed halfway Read the batch log in order: the event, the first failed action and what it received, then what already happened. Fix the cause, and re-run only a job that is safe to run twice.