Python SDKFeature Clients

Webhooks Client

Bases: BaseRestClient

The webhooks client provides methods for managing incoming webhooks in Hatchet.

Webhooks allow external systems to trigger Hatchet workflows by sending HTTP requests to dedicated endpoints. This enables real-time integration with third-party services like GitHub, Stripe, Slack, or any system that can send webhook events.

Methods:

NameDescription
aio_createCreate a new webhook.
aio_deleteDelete a webhook by its name.
aio_getGet a webhook by its name.
aio_listList webhooks for a given tenant.
aio_updateUpdate a webhook by its name.
createCreate a new webhook.
deleteDelete a webhook by its name.
getGet a webhook by its name.
listList webhooks for a given tenant.
updateUpdate a webhook by its name.

Functions

aio_create

Create a new webhook.

Parameters:

NameTypeDescriptionDefault
source_nameV1WebhookSourceNameThe source name identifying the external system sending webhook events.required
namestrThe name of the webhook.required
event_key_expressionstrA CEL expression used to extract the event key from the incoming payload.required
authV1WebhookBasicAuth | V1WebhookAPIKeyAuth | V1WebhookHMACAuthThe authentication configuration for the webhook (basic auth, API key, or HMAC).required
scope_expressionstr | NoneAn optional CEL expression used to extract the scope from the incoming payload.None
static_payloaddict[str, Any] | NoneAn optional static payload to merge into every triggered event.None
return_event_as_response_payloadboolWhether to return the triggered event as the response payload of the webhook request.True

Returns:

TypeDescription
V1WebhookThe created webhook.

aio_delete

Delete a webhook by its name.

Parameters:

NameTypeDescriptionDefault
webhook_namestrThe name of the webhook to delete.required

Returns:

TypeDescription
V1WebhookThe deleted webhook.

aio_get

Get a webhook by its name.

Parameters:

NameTypeDescriptionDefault
webhook_namestrThe name of the webhook to retrieve.required

Returns:

TypeDescription
V1WebhookThe webhook with the specified name.

aio_list

List webhooks for a given tenant.

Parameters:

NameTypeDescriptionDefault
limitint | NoneThe maximum number of webhooks to return.None
offsetint | NoneThe number of webhooks to skip before starting to collect the result set.None
webhook_nameslist[str] | NoneA list of webhook names to filter by.None
source_nameslist[V1WebhookSourceName] | NoneA list of source names to filter by.None

Returns:

TypeDescription
V1WebhookListA list of webhooks matching the specified criteria.

aio_update

Update a webhook by its name.

Parameters:

NameTypeDescriptionDefault
webhook_namestrThe name of the webhook to update.required
event_key_expressionstr | NoneAn updated CEL expression used to extract the event key from the incoming payload.None
scope_expressionstr | NoneAn updated CEL expression used to extract the scope from the incoming payload.None
static_payloaddict[str, Any] | NoneAn updated static payload to merge into every triggered event.None
return_event_as_response_payloadbool | NoneWhether to return the triggered event as the response payload of the webhook request.None

Returns:

TypeDescription
V1WebhookThe updated webhook.

create

Create a new webhook.

Parameters:

NameTypeDescriptionDefault
source_nameV1WebhookSourceNameThe source name identifying the external system sending webhook events.required
namestrThe name of the webhook.required
event_key_expressionstrA CEL expression used to extract the event key from the incoming payload.required
authV1WebhookBasicAuth | V1WebhookAPIKeyAuth | V1WebhookHMACAuthThe authentication configuration for the webhook (basic auth, API key, or HMAC).required
scope_expressionstr | NoneAn optional CEL expression used to extract the scope from the incoming payload.None
static_payloaddict[str, Any] | NoneAn optional static payload to merge into every triggered event.None
return_event_as_response_payloadboolWhether to return the triggered event as the response payload of the webhook request.True

Returns:

TypeDescription
V1WebhookThe created webhook.

delete

Delete a webhook by its name.

Parameters:

NameTypeDescriptionDefault
webhook_namestrThe name of the webhook to delete.required

Returns:

TypeDescription
V1WebhookThe deleted webhook.

get

Get a webhook by its name.

Parameters:

NameTypeDescriptionDefault
webhook_namestrThe name of the webhook to retrieve.required

Returns:

TypeDescription
V1WebhookThe webhook with the specified name.

list

List webhooks for a given tenant.

Parameters:

NameTypeDescriptionDefault
limitint | NoneThe maximum number of webhooks to return.None
offsetint | NoneThe number of webhooks to skip before starting to collect the result set.None
webhook_nameslist[str] | NoneA list of webhook names to filter by.None
source_nameslist[V1WebhookSourceName] | NoneA list of source names to filter by.None

Returns:

TypeDescription
V1WebhookListA list of webhooks matching the specified criteria.

update

Update a webhook by its name.

Parameters:

NameTypeDescriptionDefault
webhook_namestrThe name of the webhook to update.required
event_key_expressionstr | NoneAn updated CEL expression used to extract the event key from the incoming payload.None
scope_expressionstr | NoneAn updated CEL expression used to extract the scope from the incoming payload.None
static_payloaddict[str, Any] | NoneAn updated static payload to merge into every triggered event.None
return_event_as_response_payloadbool | NoneWhether to return the triggered event as the response payload of the webhook request.None

Returns:

TypeDescription
V1WebhookThe updated webhook.

Last updated on September 1, 2026

On this page