Skip to main content
Interpolation replaces placeholders with actual values at runtime, enabling integrations that adapt to different contexts, time periods, and data.

When to use

Use interpolation when you need to:
  • Insert parameter values into API URLs or paths
  • Add dynamic dates to requests (today, yesterday, last week)
  • Reference dates from extraction datapoints
  • Generate file names with timestamps
  • Build parameterized query strings

Simple Variables

Replace placeholders with values from your integration’s parameters. The variable name must match exactly.

Using datapoints with simple variables

To interpolate a datapoint value, add a query param with the datapoint field name. The param name becomes available as a variable.

DateTime Interpolation

Insert current dates, calculate relative dates, and format output for API requirements. DateTime interpolation supports three prefixes: After the prefix, chain operations with dots. Date operations apply in the order they are written and can be repeated: A misspelled or unsupported operation fails the request with a clear error instead of being silently ignored.

Format Patterns

Use .format(pattern) to control output. Patterns follow dayjs format tokens.

Timezone Conversion

Use .timezone(tz) to evaluate the date in a specific timezone. The default timezone is America/Sao_Paulo. tz is an alias for timezone.

Locale

Use .locale(name) to output formatted names (month names, weekday names) in another language. The default is English; pt-br is available. A locale that is not available falls back to English.
format, timezone, and locale are context settings: they can appear anywhere in the chain and their position does not change the result.

Date Arithmetic

Add or subtract time using .add(amount.unit) and .subtract(amount.unit) — the amount and the unit are separated by a dot. plus is an alias for add; remove and minus are aliases for subtract. Available units: day, week, month, quarter, year, hour, minute, second (plural forms also work)

Period Boundaries

Use .startOf(unit) and .endOf(unit) to jump to the boundary of a period. endOf resolves real month lengths, including leap years. Available units: day, week, isoWeek, month, quarter, year, hour, minute, second
week starts on Sunday; use isoWeek for weeks that start on Monday:

Setting Units

Use .set(unit.value) to pin a unit to an exact value, keeping everything else.

Operation Order

Date operations run left to right, so chaining reads exactly like what happens — and the same operation can appear more than once:

Using Data Fields

Reference dates from your extraction datapoints with the date() function. Pass the field path as the argument.
This is useful when you need to calculate dates relative to data values rather than the current time.

Full Example

A monthly extraction that always covers the previous calendar month, whatever the length of the month:
And a longer chain, read left to right: go back one quarter, jump to its start, land on the Monday of that week, at 9:00, with the whole expression evaluated in UTC:

When a parameter is missing

If a {{ parameter }} referenced in a URL, header, or body has no value at runtime, the request is not sent. It fails with a clear parsing error naming the missing parameter. An empty string counts as missing: sending it would produce a malformed request (e.g. /items//details) that the target API would misroute instead of reject. Parameter names are case-sensitive and must match the data field exactly.