Zapier handoff
the governed runtime for agent skill workflows, off the leash but on the record
npx -y skills add runxhq/runx --skill zapier-handoffAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Validate a runx execution context and hand off a governed payload to a Zapier Catch Hook with scoped auth, idempotency, and receipt expectations.
SKILL.md
2.7 KB, as published. Nobody here has run it
Zapier Handoff
Hand off governed runx work to a Zapier Catch Hook while keeping authority, provider credentials, and receipts in runx.
This skill is for the outbound side of the Zapier integration story. It is not the public Zapier App Directory app; that app should call hosted runx APIs. This skill gives the same execution-context contract to local dogfood and any operator-owned Zap that receives governed effects from runx.
Runners
preflight: validates and normalizes the handoff context without network.send: validates the context and posts the payload to the Zapier Catch Hook.
Use preflight for reviews, CI, and local harnesses; it never needs approval.
The send runner opens approval immediately before the outbound webhook and
posts through Runx's native http.execute capability. The skill binds the
credential to https://hooks.zapier.com, so caller-supplied hook path segments
cannot redirect it to another host. Configure the token through the normal
profile path:
printf '%s' "$ZAPIER_WEBHOOK_TOKEN" |
runx credential set zapier \
--profile catch-hook \
--auth-mode bearer \
--from-stdin
Execution context
execution_context must identify where the handoff came from. Include at least
one of:
callerorcaller_idprincipalorprincipal_idworkflow,workflow_id,workflow_ref, orsource_workflowupstream_execution_idorupstream_run_id
When present, these fields must match the top-level inputs:
platformevent_ididempotency_keyhandoff_scopehandoff_audience
Edge cases
- Public Zapier directory work must use hosted HTTPS runx APIs, not a local Catch Hook template.
- Do not include payment, token-transfer, or settlement actions in public Zapier v1. This local skill can model a hook handoff, but the public app must stay non-payment until review constraints are satisfied.
- Do not put raw provider credentials into
payloadorexecution_context. Pass credential references or let runx hold the provider secret. - Zapier may retry or replay hook deliveries. The Zap must dedupe by
event_idbefore downstream actions.
Inputs
event_id(required): stable id for receiver-side dedupe.execution_context(required): explicit caller/workflow context.payload(required): business payload delivered to Zapier.handoff_audience(optional): defaults tozapier:zap:runx-governed-effect.zapier_account_idandzapier_hook_id(send runner): Catch Hook path segments.idempotency_key(optional): defaults toevent_id.