Skip to main content
A single function can be bound to as many triggers as needed. Just call registerTrigger / register_trigger multiple times with the same function_id. Inside the handler, inspect the input shape to dispatch to the right branch.

Register one function, three triggers

Dual-trigger shorthand

When you only need two trigger types, the pattern is identical — just skip the third registerTrigger call.

Key concepts

  • There is no framework-level ctx.match() — distinguish trigger types by inspecting the input shape at runtime.
  • HTTP trigger input always has path_params, query_params, body, and headers fields.
  • Queue trigger input is the raw event payload you published with iii::durable::publish.
  • Cron trigger input is null / None / json!(null) — the invocation itself is the signal.
  • Registering the same function_id with multiple triggers is intentional and supported; the engine dispatches independently.