Skip to main content
A request template is a saved, reusable definition of an HTTP request — its method, path, headers, body shape, and recommended configuration. Templates live in the request template library and are the source of truth for how a particular API call is structured. Journeys pull from this library to compose end-to-end workflows.

When to use it

You work with request templates whenever you add a step to a journey. Instead of hand-writing every request from scratch, you pick an existing template and then configure how the journey supplies values to it. If the API changes, updating the template propagates the correction to every journey that uses it. Templates are most valuable when:
  • Multiple journeys call the same endpoint and you want a single authoritative definition.
  • You want to share recommended request configurations across your team.
  • You’re importing from an OpenAPI spec and need a starting point for each operation.

Key concepts

Templates define structure, journeys define flow. A template answers “what does this request look like?” A journey answers “when does it run, what data does it get, and what must be true when it returns?” Template values describe the placeholders a request has — path parameters, query params, headers, body fields. When you add a template to a journey as a step, you configure how the journey fills those placeholders. Template assertions can provide a sensible default set of assertions for a request (for example, “status code is 200”). Journey-level assertions can extend or override these. Import from OpenAPI — you can seed the template library from an OpenAPI spec, giving you a template per operation. See Import from OpenAPI.

How it works

  1. Templates are created and managed in the request template library (/templates/request-template-library).
  2. When you add a step to a journey in Build mode, you select a template from the library.
  3. Reqflo shows the template’s value placeholders and lets you map each one to a source: run input, variable, step output, hard-coded value, and so on.
  4. The template’s structure (method, path, headers, body) stays consistent. The journey controls the data flowing into it.

Examples

A template for POST /auth/token might define:
method: POST
path: /auth/token
headers:
  Content-Type: application/json
body:
  username: "{{ username }}"
  password: "{{ password }}"
When a journey uses this template, it maps username and password to run inputs, variables, or a case. The template shape never changes — only the data source does.