Test-Lab.aiDocs

Template tokens & filters

Reference run context, pipeline context, data fixtures, and credentials in your prompts. Format dates and times with optional timezone.

Template tokens & filters

Test-Lab resolves four kinds of {{...}} placeholders in your prompts, cookies, headers, and data-fixture values.

NamespaceWhat it isResolved at
{{run.X}}Per-step run identifiers and timestampsExecutor (re-resolves on every replay)
{{pipeline.X}}Per-dispatch identifiers and timestamps, shared across every step in a pipelineDispatch (frozen for the run)
{{data.<name>.<field>}}A field from a project-scoped data setDispatch (rolls dynamic fields per run)
{{credentials.<key>}}An account-scoped secretJust before Playwright launches (never visible to the AI)

Run context

TokenValue
{{run.id}}Full UUID of the current step's run
{{run.shortId}}First 8 characters of the run UUID
{{run.timestamp}}Unix seconds at run time (10 digits)
{{run.timestampMs}}Unix milliseconds at run time (13 digits)

Use run.shortId to tag resources the test creates so a per-run cleanup webhook can scope its DELETE:

Create a property named "QA-{{run.shortId}}".

Both timestamp variants come from the same source; pick the precision your use case needs.

Pipeline context

For multi-step pipelines, each step runs as its own job. {{run.timestampMs}} resolves to slightly different values in step 1 vs. step 2 (off by milliseconds), and {{run.id}} is the step's own job id, not a shared identifier.

{{pipeline.X}} is allocated once per dispatch and shared across every step. Step 1 and step 2 see identical values, which is what makes flows like "step 1 creates a contact, step 2 finds the same contact" work.

TokenValue
{{pipeline.id}}Full UUID generated at dispatch
{{pipeline.shortId}}First 8 characters of the pipeline UUID
{{pipeline.timestamp}}Unix seconds at dispatch
{{pipeline.timestampMs}}Unix milliseconds at dispatch

Single-step plans also get a fresh pipeline context per dispatch, so the same prompt vocabulary works in both cases.

Data fixtures

See Test data for the full reference. Quick summary:

Sign up as {{data.contact.first_name}} {{data.contact.last_name}}
with email {{data.contact.email}}.

Each field is either Static (same value every run, until you change it) or Dynamic (auto-generates a fresh value on every dispatch).

A static field's stored value can itself embed {{run.X}} or {{pipeline.X}} for per-run uniqueness. The substitution chain resolves the embedded tokens after the fixture lookup.

Credentials

See Credentials.

Filters

Apply a filter chain to format any resolved value, Liquid-style:

{{ run.timestamp | format: 'DD.MM.YYYY' }}
{{ pipeline.timestampMs | format: 'YYYY-MM-DD HH:mm' }}
{{ run.timestamp | format: 'YYYY-MM-DD HH:mm', 'Australia/Sydney' }}

Whitespace inside the braces is tolerated. Filters apply after the namespace lookup resolves the bare value, so they work on any of the four namespaces above.

format

The first argument is the pattern. The second (optional) argument is an IANA timezone name (Europe/London, America/Los_Angeles, Asia/Tokyo, Australia/Sydney, etc.). When omitted, the value formats in UTC.

Supported timezones

Pass the exact string from the list below. The canonical source is the IANA tz database; the 417 zones below are what the runtime accepts today.

Show all 417 supported zones

Africa (52)

Africa/Abidjan, Africa/Accra, Africa/Addis_Ababa, Africa/Algiers, Africa/Asmera, Africa/Bamako, Africa/Bangui, Africa/Banjul, Africa/Bissau, Africa/Blantyre, Africa/Brazzaville, Africa/Bujumbura, Africa/Cairo, Africa/Casablanca, Africa/Ceuta, Africa/Conakry, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Douala, Africa/El_Aaiun, Africa/Freetown, Africa/Gaborone, Africa/Harare, Africa/Johannesburg, Africa/Juba, Africa/Kampala, Africa/Khartoum, Africa/Kigali, Africa/Kinshasa, Africa/Lagos, Africa/Libreville, Africa/Lome, Africa/Luanda, Africa/Lubumbashi, Africa/Lusaka, Africa/Malabo, Africa/Maputo, Africa/Maseru, Africa/Mbabane, Africa/Mogadishu, Africa/Monrovia, Africa/Nairobi, Africa/Ndjamena, Africa/Niamey, Africa/Nouakchott, Africa/Ouagadougou, Africa/Porto-Novo, Africa/Sao_Tome, Africa/Tripoli, Africa/Tunis, Africa/Windhoek

America (143)

America/Adak, America/Anchorage, America/Anguilla, America/Antigua, America/Araguaina, America/Argentina/La_Rioja, America/Argentina/Rio_Gallegos, America/Argentina/Salta, America/Argentina/San_Juan, America/Argentina/San_Luis, America/Argentina/Tucuman, America/Argentina/Ushuaia, America/Aruba, America/Asuncion, America/Bahia, America/Bahia_Banderas, America/Barbados, America/Belem, America/Belize, America/Blanc-Sablon, America/Boa_Vista, America/Bogota, America/Boise, America/Buenos_Aires, America/Cambridge_Bay, America/Campo_Grande, America/Cancun, America/Caracas, America/Catamarca, America/Cayenne, America/Cayman, America/Chicago, America/Chihuahua, America/Ciudad_Juarez, America/Coral_Harbour, America/Cordoba, America/Costa_Rica, America/Creston, America/Cuiaba, America/Curacao, America/Danmarkshavn, America/Dawson, America/Dawson_Creek, America/Denver, America/Detroit, America/Dominica, America/Edmonton, America/Eirunepe, America/El_Salvador, America/Fort_Nelson, America/Fortaleza, America/Glace_Bay, America/Godthab, America/Goose_Bay, America/Grand_Turk, America/Grenada, America/Guadeloupe, America/Guatemala, America/Guayaquil, America/Guyana, America/Halifax, America/Havana, America/Hermosillo, America/Indiana/Knox, America/Indiana/Marengo, America/Indiana/Petersburg, America/Indiana/Tell_City, America/Indiana/Vevay, America/Indiana/Vincennes, America/Indiana/Winamac, America/Indianapolis, America/Inuvik, America/Iqaluit, America/Jamaica, America/Jujuy, America/Juneau, America/Kentucky/Monticello, America/Kralendijk, America/La_Paz, America/Lima, America/Los_Angeles, America/Louisville, America/Lower_Princes, America/Maceio, America/Managua, America/Manaus, America/Marigot, America/Martinique, America/Matamoros, America/Mazatlan, America/Mendoza, America/Menominee, America/Merida, America/Metlakatla, America/Mexico_City, America/Miquelon, America/Moncton, America/Monterrey, America/Montevideo, America/Montserrat, America/Nassau, America/New_York, America/Nome, America/Noronha, America/North_Dakota/Beulah, America/North_Dakota/Center, America/North_Dakota/New_Salem, America/Ojinaga, America/Panama, America/Paramaribo, America/Phoenix, America/Port-au-Prince, America/Port_of_Spain, America/Porto_Velho, America/Puerto_Rico, America/Punta_Arenas, America/Rankin_Inlet, America/Recife, America/Regina, America/Resolute, America/Rio_Branco, America/Santarem, America/Santiago, America/Santo_Domingo, America/Sao_Paulo, America/Scoresbysund, America/Sitka, America/St_Barthelemy, America/St_Johns, America/St_Kitts, America/St_Lucia, America/St_Thomas, America/St_Vincent, America/Swift_Current, America/Tegucigalpa, America/Thule, America/Tijuana, America/Toronto, America/Tortola, America/Vancouver, America/Whitehorse, America/Winnipeg, America/Yakutat

Antarctica (11)

Antarctica/Casey, Antarctica/Davis, Antarctica/DumontDUrville, Antarctica/Macquarie, Antarctica/Mawson, Antarctica/McMurdo, Antarctica/Palmer, Antarctica/Rothera, Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok

Arctic (1)

Arctic/Longyearbyen

Asia (82)

Asia/Aden, Asia/Almaty, Asia/Amman, Asia/Anadyr, Asia/Aqtau, Asia/Aqtobe, Asia/Ashgabat, Asia/Atyrau, Asia/Baghdad, Asia/Bahrain, Asia/Baku, Asia/Bangkok, Asia/Barnaul, Asia/Beirut, Asia/Bishkek, Asia/Brunei, Asia/Calcutta, Asia/Chita, Asia/Colombo, Asia/Damascus, Asia/Dhaka, Asia/Dili, Asia/Dubai, Asia/Dushanbe, Asia/Famagusta, Asia/Gaza, Asia/Hebron, Asia/Hong_Kong, Asia/Hovd, Asia/Irkutsk, Asia/Jakarta, Asia/Jayapura, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Katmandu, Asia/Khandyga, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuching, Asia/Kuwait, Asia/Macau, Asia/Magadan, Asia/Makassar, Asia/Manila, Asia/Muscat, Asia/Nicosia, Asia/Novokuznetsk, Asia/Novosibirsk, Asia/Omsk, Asia/Oral, Asia/Phnom_Penh, Asia/Pontianak, Asia/Pyongyang, Asia/Qatar, Asia/Qostanay, Asia/Qyzylorda, Asia/Rangoon, Asia/Riyadh, Asia/Saigon, Asia/Sakhalin, Asia/Samarkand, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Thimphu, Asia/Tokyo, Asia/Tomsk, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Ust-Nera, Asia/Vientiane, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan

Atlantic (10)

Atlantic/Azores, Atlantic/Bermuda, Atlantic/Canary, Atlantic/Cape_Verde, Atlantic/Faeroe, Atlantic/Madeira, Atlantic/Reykjavik, Atlantic/South_Georgia, Atlantic/St_Helena, Atlantic/Stanley

Australia (11)

Australia/Adelaide, Australia/Brisbane, Australia/Broken_Hill, Australia/Darwin, Australia/Eucla, Australia/Hobart, Australia/Lindeman, Australia/Lord_Howe, Australia/Melbourne, Australia/Perth, Australia/Sydney

Europe (58)

Europe/Amsterdam, Europe/Andorra, Europe/Astrakhan, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Busingen, Europe/Chisinau, Europe/Copenhagen, Europe/Dublin, Europe/Gibraltar, Europe/Guernsey, Europe/Helsinki, Europe/Isle_of_Man, Europe/Istanbul, Europe/Jersey, Europe/Kaliningrad, Europe/Kiev, Europe/Kirov, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/Luxembourg, Europe/Madrid, Europe/Malta, Europe/Mariehamn, Europe/Minsk, Europe/Monaco, Europe/Moscow, Europe/Oslo, Europe/Paris, Europe/Podgorica, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/San_Marino, Europe/Sarajevo, Europe/Saratov, Europe/Simferopol, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Tirane, Europe/Ulyanovsk, Europe/Vaduz, Europe/Vatican, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Europe/Zurich

Indian (11)

Indian/Antananarivo, Indian/Chagos, Indian/Christmas, Indian/Cocos, Indian/Comoro, Indian/Kerguelen, Indian/Mahe, Indian/Maldives, Indian/Mauritius, Indian/Mayotte, Indian/Reunion

Pacific (38)

Pacific/Apia, Pacific/Auckland, Pacific/Bougainville, Pacific/Chatham, Pacific/Easter, Pacific/Efate, Pacific/Enderbury, Pacific/Fakaofo, Pacific/Fiji, Pacific/Funafuti, Pacific/Galapagos, Pacific/Gambier, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Kiritimati, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro, Pacific/Marquesas, Pacific/Midway, Pacific/Nauru, Pacific/Niue, Pacific/Norfolk, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Palau, Pacific/Pitcairn, Pacific/Ponape, Pacific/Port_Moresby, Pacific/Rarotonga, Pacific/Saipan, Pacific/Tahiti, Pacific/Tarawa, Pacific/Tongatapu, Pacific/Truk, Pacific/Wake, Pacific/Wallis

Format tokens

TokenOutputExample
YYYY4-digit year2026
YY2-digit year26
MM2-digit month01–12
M1–2 digit month1–12
DD2-digit day01–31
D1–2 digit day1–31
HH2-digit hour, 24h00–23
H1–2 digit hour, 24h0–23
hh2-digit hour, 12h01–12
h1–2 digit hour, 12h1–12
mm2-digit minute00–59
m1–2 digit minute0–59
ss2-digit second00–59
s1–2 digit second0–59
SSS3-digit millisecond000–999
AAM/PMAM, PM
aam/pmam, pm

Anything else in the pattern emits verbatim. Separators like ., -, :, /, and spaces don't need escaping.

Examples

PatternTimezoneOutput (input: 2026-05-09T13:30:45.123Z)
'YYYY-MM-DD'(UTC default)2026-05-09
'DD.MM.YYYY'(UTC default)09.05.2026
'YYYY-MM-DD HH:mm:ss'(UTC default)2026-05-09 13:30:45
'YYYY-MM-DD HH:mm'Europe/London2026-05-09 14:30
'YYYY-MM-DD HH:mm'Asia/Tokyo2026-05-09 22:30
'YYYY-MM-DD HH:mm'Australia/Sydney2026-05-09 23:30
'YYYY-MM-DD HH:mm'Pacific/Auckland2026-05-10 01:30
'h:mm A'(UTC default)1:30 PM
'YYYY-MM-DD HH:mm:ss.SSS'(UTC default)2026-05-09 13:30:45.123

Input formats

The format filter accepts:

  • Unix seconds (10-digit string): {{run.timestamp}} emits this shape.
  • Unix milliseconds (13-digit string): {{run.timestampMs}} and {{pipeline.timestampMs}} emit this shape.
  • ISO 8601 strings, useful when a data-fixture value stores a date.

Anything else passes through unchanged.

Unknown filters

A typo in a filter name (e.g. | upper when only format is supported) is a no-op: the value passes through unchanged. The substitution stays lossy-but-survivable so a typo doesn't blow up the middle of an AI prompt.

On this page