···57575858### Template body
59596060-Below the frontmatter is an [eta](https://eta.js.org) template. Write it as a
6161-natural language prompt for the LLM that will process the webhook. The
6262-following are available on `it`:
6060+Below the frontmatter is a [Liquid](https://liquidjs.com) template. Write it
6161+as a natural language prompt for the LLM that will process the webhook. The
6262+following variables are available:
63636464-- `it.payload` — the request body (parsed JSON for `contentType: json`)
6565-- `it.headers` — request headers as a `Headers` object (`it.headers.get("X-Foo")`)
6666-- `it.query` — query string as a `URLSearchParams` object (`it.query.get("foo")`)
6464+- `payload` — the request body (parsed JSON for `contentType: json`)
6565+- `headers` — request headers as a plain object with lowercase keys (e.g. `{{ headers["x-my-header"] }}`)
6666+- `query` — query string as a plain object (e.g. `{{ query.foo }}`)
67676868-Use `<%= expression %>` to interpolate values into the prompt.
6868+Use `{{ expression }}` to interpolate values and `{% if %}...{% endif %}` for
6969+conditionals.
69707071## Notes
7172
+20-14
README.md
···3838 someValue: 3
3939---
40404141-You have received information about a <%= it.payload.event %> event on My
4141+You have received information about a {{ payload.event }} event on My
4242Service. Read the following payload and respond according to your skills:
43434444-<%= it.payload.body %>
4444+{{ payload.body }}
4545```
46464747Different verification methods can be supported, for generic implementations or
···50505151### Template scope
52525353-Templates are evaluated using [eta](https://eta.js.org). The following
5454-properties are available on `it`:
5353+Templates are evaluated using [Liquid](https://liquidjs.com). The following
5454+variables are available:
55555656-- `it.payload`: The request body. For `contentType: json`, this is the parsed
5656+- `payload`: The request body. For `contentType: json`, this is the parsed
5757 JSON value.
5858-- `it.headers`: The request headers as a [`Headers`](https://developer.mozilla.org/en-US/docs/Web/API/Headers) object.
5959-- `it.query`: The query string parameters as a [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) object.
5858+- `headers`: The request headers as a plain object with lowercase keys
5959+ (e.g. `{{ headers["x-my-header"] }}`).
6060+- `query`: The query string parameters as a plain object
6161+ (e.g. `{{ query.foo }}`).
6262+6363+Use `{{ expression }}` to interpolate values and `{% if %}...{% endif %}` for
6464+conditionals.
60656166## Usage
6267···129134130135## Template body
131136132132-Below the frontmatter is an eta template (https://eta.js.org). Write it as a
133133-natural language prompt for the LLM that will process the webhook. The
134134-following are available on `it`:
137137+Below the frontmatter is a Liquid template (https://liquidjs.com). Write it as
138138+a natural language prompt for the LLM that will process the webhook. The
139139+following variables are available:
135140136136-- `it.payload` — the request body (parsed JSON for `contentType: json`)
137137-- `it.headers` — request headers as a Headers object (`it.headers.get("X-Foo")`)
138138-- `it.query` — query string as a URLSearchParams object (`it.query.get("foo")`)
141141+- `payload` — the request body (parsed JSON for `contentType: json`)
142142+- `headers` — request headers as a plain object with lowercase keys (e.g. `{{ headers["x-my-header"] }}`)
143143+- `query` — query string as a plain object (e.g. `{{ query.foo }}`)
139144140140-Use `<%= expression %>` to interpolate values into the prompt.
145145+Use `{{ expression }}` to interpolate values and `{% if %}...{% endif %}` for
146146+conditionals.
141147142148## Task
143149