Skip to main content
POST
Create webhook subscription

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string<uuid>
required

Workstation application ID

Body

application/json
name
string
required

Display name of the subscription.

Maximum string length: 256
url
string
required

Endpoint URL. Must not resolve to localhost or private network ranges; HTTPS is required in production.

Maximum string length: 2048
events
enum<string>[]
required

Events to subscribe to.

Events a webhook can subscribe to:

  • task.completed — a task run finished successfully and is ready for review.
  • task.approved — a task was reviewed and approved.
  • task.approval-revoke — an approved task was sent back to validating.
  • task.failed — a task run ended with a failure (errorMessage is set in the payload).
Available options:
task.completed,
task.approved,
task.approval-revoke,
task.failed
headers
object | null

Headers sent with every delivery (authentication tokens, correlation ids, ...).

sensitiveHeaders
string[]

Names of the headers you consider sensitive. Defaults to [].

method
string | null

HTTP method for deliveries. Defaults to POST.

Maximum string length: 10
isActive
boolean

Defaults to true.

promptApplicationId
string<uuid> | null

Ignored; the application is taken from the path.

Callbacks

POST
{$request.body#/url}taskEvent

Body

application/json

JSON body Tela sends to your endpoint for every event. inputContent and outputContent are present when the task has them; errorMessage is present for task.failed. outputContent is the task result: a string for plain-text outputs, or an object/array for structured outputs.

id
string<uuid>
required

Unique id of this notification. Use it for deduplication; resends get a new id.

event
enum<string>
required

Events a webhook can subscribe to:

  • task.completed — a task run finished successfully and is ready for review.
  • task.approved — a task was reviewed and approved.
  • task.approval-revoke — an approved task was sent back to validating.
  • task.failed — a task run ended with a failure (errorMessage is set in the payload).
Available options:
task.completed,
task.approved,
task.approval-revoke,
task.failed
timestamp
string<date-time>
required

When the notification was sent.

task
object
required

Snapshot of the task at the time of the event.

inputContent
object | null

The input the task was executed with.

outputContent

Task result. String, object or array depending on the canvas output format.

errorMessage
string

Failure reason, present on task.failed.

Response

2XX

Acknowledge the event. Any 2xx status marks the delivery as success.

Response

Webhook created

A webhook subscription of a Workstation application.

id
string<uuid>
required
promptApplicationId
string<uuid> | null
required

Application the webhook belongs to.

name
string
required
Maximum string length: 256
url
string
required

Endpoint that receives the events.

Maximum string length: 2048
events
enum<string>[]
required

Events a webhook can subscribe to:

  • task.completed — a task run finished successfully and is ready for review.
  • task.approved — a task was reviewed and approved.
  • task.approval-revoke — an approved task was sent back to validating.
  • task.failed — a task run ended with a failure (errorMessage is set in the payload).
Available options:
task.completed,
task.approved,
task.approval-revoke,
task.failed
headers
object | null
required

Headers sent verbatim with every delivery. Use them for authentication (for example authorization or x-api-key).

sensitiveHeaders
string[]
required

Names of headers considered sensitive. Stored as provided; the API does not currently mask them in responses.

method
string | null
required

HTTP method used for deliveries. Defaults to POST.

Maximum string length: 10
isActive
boolean
required

Inactive webhooks receive no deliveries.

createdAt
string<date-time>
required
updatedAt
string<date-time>
required
deletedAt
string<date-time> | null
required