Skip to Content
GuidesContextual AccessHow Hooks Work

How Hooks Work

This page explains how Arcade invokes your external logic at each stage of execution, how you configure extensions and hook points, and how ordering and failures are handled.

Hook points

Arcade defines three hook points. You do not create new ones, you configure behavior at the ones that exist:

Hook pointWhen it firesWhat you can do
Access HookWhen listing tools for a userReturn an allow list or deny list to control which tools the user can see. Results are cached.
Pre-Execution HookBefore each tool executionAllow, deny, or modify the request (inputs, secrets, routing).
Post-Execution HookAfter tool execution completesAllow, deny, or modify the output (e.g. PII redaction, content filtering).

You only need to implement the hook points you care about. If you only need post-execution filtering, you only implement the post-execution endpoint.

Extensions

A Webhook extension is the connection between Arcade and your webhook server. It stores:

  • Endpoint URLs for each hook point you implement (access, pre-execution, post-execution)
  • Authentication method (Bearer token or mTLS)
  • Timeout (default 5s), retry, and cache settings
  • Scope — bound to an organization or a specific

One extension can serve multiple hook configurations. When you change a URL or rotate a credential, you update the extension once and every hook that uses it picks up the change.

Scoping

ScopeWho can use itUse case
OrganizationAny hook configuration in the organizationCompany-wide compliance, access control
ProjectOnly hook configurations in that projectProject-specific validation or enrichment

Hook configurations

A hook configuration attaches an extension to a specific hook point and controls its behavior:

  • Hook point — Which of the three hooks to run at
  • Extension — Which extension to call (must be in scope)
  • Phasebefore or after (organization hooks only; see execution order below)
  • Priority — Order within the same phase and extension scope (lower number = runs first)
  • Failure mode — What happens when the webhook is unreachable

You can have multiple configurations on the same hook point (e.g. an organization access check and a -level access check). They all run in a defined order.

Execution order

Hooks at both organization and scope run together. Arcade executes them in this fixed order:

  1. Organization before — Organization-scoped hook configs with phase before, ordered by priority
  2. — Project-scoped hook configs, ordered by priority
  3. Organization after — Organization-scoped hook configs with phase after, ordered by priority

Organization hooks have a phase setting (before or after) that controls whether they run before or after hooks. Project hooks always run in the middle and do not have a phase setting.

Within each group, lower priority numbers run first. Each hook sees the accumulated result from all previous hooks (e.g. modified inputs from an earlier hook). Any denial stops the entire pipeline and the operation fails immediately.

GoalScopeConfiguration
Company-wide check runs firstOrganizationPhase: before (default)
Company-wide audit runs lastOrganizationPhase: after
Project-specific validationProjectNo phase needed

Failure modes

When your webhook is unreachable (timeout, 5xx, connection error, etc), Arcade applies the hook’s failure mode:

ModeBehavior
Fail closedBlock the operation. Use for security-critical checks (e.g. access control).
Fail openAllow the operation to proceed. Use for non-critical enhancements (e.g. metrics, optional enrichment).

Set the failure mode per hook configuration. Timeout can be overridden per hook; otherwise the extension default applies.

Setting up in the Dashboard

You configure extensions and hook points from the Arcade Dashboard:

  1. Create an extension — Navigate to Contextual Access, click Create Extension, fill in endpoint URLs, auth, scope, and timeout/retry settings.
  2. Create a hook configuration — Navigate to Logic Extensions → Hook Points, click Create Hook Configuration, select the extension, hook point, phase, priority, and failure mode.

Next steps

Last updated on