For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SupportDeveloper ForumLogin
  • Overview
    • Introduction
    • Getting Started
    • Integration Example (PSA)
    • Authentication
    • Error Handling
    • Pagination
    • Filtering
    • Ordering
    • Rate Limits
    • Permissions
    • Webhooks
    • MCP Server
    • Versioning
    • Changelog
    • Support
  • API v1 Reference
    • Projects Overview
    • Tasks Overview
    • Time Tracking Overview
    • Documents Overview
    • Search Overview
    • Companies Overview
    • Users Overview
    • Files & Images Overview
    • Custom Fields Overview
    • Workload & Planning Overview
    • Project Templates Overview
    • Workflows Overview
    • Login & Access Overview
    • API Management Overview
      • GETReturns all configured webhooks.
      • POSTCreates a new webhook.
      • GETReturns all available event types.
      • GETReturns all available event types for Slack webhooks.
      • GETReturns the webhook with the specified id.
      • PUTUpdates the webhook with the specified id.
      • DELDeletes the webhook with the specified id.
      • GETReturns all logs of the webhook with the specified id.
LogoLogo
SupportDeveloper ForumLogin
API v1 ReferenceWebhooks

Creates a new webhook.

POST
https://api.awork.com/api/v1/webhooks
POST
/api/v1/webhooks
$curl -X POST https://api.awork.com/api/v1/webhooks \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "name": "Post to Slack",
> "uri": "https://hooks.slack.com/services/T578C/EY8979",
> "events": "task_comment_added",
> "isActive": true,
> "authenticationType": "none"
>}'
1{
2 "name": "Post to Slack",
3 "uri": "https://hooks.slack.com/services/T578C/EY8979",
4 "events": "task_comment_added",
5 "isActive": true,
6 "authenticationType": "none",
7 "language": "en-GB",
8 "onlyTriggerForMainEntityChanges": true,
9 "authentication": null,
10 "id": "123e4567-e89b-12d3-a456-426614174000",
11 "receiverType": "slack",
12 "lastFailureReason": null,
13 "createdOn": "2024-01-15T09:30:00Z",
14 "createdBy": "123e4567-e89b-12d3-a456-426614174000",
15 "updatedOn": "2024-01-15T09:30:00Z",
16 "updatedBy": "123e4567-e89b-12d3-a456-426614174000"
17}
The receiver type is inferred from the URI. All unknown receivers are treated as 'custom'. <Check title="Required Permissions" icon="key">The user must be an admin or have `workspace-manage-config:write` permissions.</Check>
Was this page helpful?
Previous

Returns all available event types.

Next
Built with

The receiver type is inferred from the URI. All unknown receivers are treated as ‘custom’.

Required Permissions
The user must be an admin or have workspace-manage-config:write permissions.

Authentication

AuthorizationBearer

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

Request

This endpoint expects an object.
namestringRequired>=1 character
The name of this webhook event.
uristringRequired>=1 character
The URI to call.
eventsstringRequired>=1 character

The event(s) that trigger the web hook. A comma-separated list of events that trigger the webhook. The allowed events depend on the webhook type. For type ‘custom’: retrieve the list of allowed events from ‘/webhooks/eventTypes’ For type ‘slack’: retrieve the list of allowed events from ‘/webhooks/eventTypes/slack’

isActivebooleanRequired
Whether the web hook is currently active.
authenticationTypestringRequired>=1 character
The authentication type to use when calling the URI. Can be 'none', 'header'.
languagestring or nullOptional
The language of the web hook message that will be sent to the receiver. Not required for custom web hooks.
onlyTriggerForMainEntityChangesbooleanOptional
Whether to only send events for main entity changes and not for nested entities if the webhook is for a model.
authenticationstring or nullOptional

The authentication value to use when calling the URI. Should be ‘key=value’. In case of header authentication, this should be ‘headername=headervalue’. Only required when the AuthenticationType is anything other than ‘none’.

Response

OK
namestring>=1 character
The name of this webhook event.
uristring>=1 character
The URI to call.
eventsstring>=1 character

The event(s) that trigger the web hook. A comma-separated list of events that trigger the webhook. The allowed events depend on the webhook type. For type ‘custom’: retrieve the list of allowed events from ‘/webhooks/eventTypes’ For type ‘slack’: retrieve the list of allowed events from ‘/webhooks/eventTypes/slack’

isActiveboolean
Whether the web hook is currently active.
authenticationTypestring>=1 character
The authentication type to use when calling the URI. Can be 'none', 'header'.
languagestring or null
The language of the web hook message that will be sent to the receiver. Not required for custom web hooks.
onlyTriggerForMainEntityChangesboolean
Whether to only send events for main entity changes and not for nested entities if the webhook is for a model.
authenticationstring or null

The authentication value to use when calling the URI. Should be ‘key=value’. In case of header authentication, this should be ‘headername=headervalue’. Only required when the AuthenticationType is anything other than ‘none’.

idstringformat: "uuid"
The id of the webhook config.
receiverTypestring or null
The type of the web hook. Can be 'custom', 'slack'.
lastFailureReasonstring or null
The most recent failure reason.
createdOnstringformat: "date-time"
The date this webhook config was created.
createdBystringformat: "uuid"
The id of the user who created this webhook config.
updatedOnstringformat: "date-time"
The date this webhook config was last modified.
updatedBystringformat: "uuid"
The id of the user who last modified this webhook config.

Errors

400
Bad Request Error