SDK ReferenceTypeScript SDK

WebhookSubscriptions

Usage

Access this class through the composio.webhookSubscriptions property:

const composio = new Composio({ apiKey: 'your-api-key' });
const result = await composio.webhookSubscriptions.list();

Methods

delete()

Delete a webhook subscription. Deliveries stop immediately.

async delete(id: string, requestOptions?: ComposioRequestOptions): Promise<WebhookSubscriptionDeleteResponse>

Parameters

NameTypeDescription
idstringThe subscription id
requestOptions?ComposioRequestOptions

Returns

Promise<WebhookSubscriptionDeleteResponse> — \{ success \}

Example

await composio.webhooks.subscriptions.delete('whs_abc123');

get()

Retrieve a webhook subscription by id.

async get(id: string, requestOptions?: ComposioRequestOptions): Promise<WebhookSubscription>

Parameters

NameTypeDescription
idstringThe subscription id
requestOptions?ComposioRequestOptions

Returns

Promise<WebhookSubscription> — The subscription, including its signing secret

Example

const subscription = await composio.webhooks.subscriptions.get('whs_abc123');
console.log(subscription.enabledEvents);

list()

List the project's webhook subscriptions.

async list(query?: WebhookSubscriptionListParams, requestOptions?: ComposioRequestOptions): Promise<WebhookSubscriptionListResponse>

Parameters

NameTypeDescription
query?WebhookSubscriptionListParamsPagination options
requestOptions?ComposioRequestOptions

Returns

Promise<WebhookSubscriptionListResponse> — Paginated subscriptions

Example

const { items } = await composio.webhooks.subscriptions.list();
console.log(items[0]?.webhookUrl);

listEventTypes()

List the event types a subscription can enable, with the payload versions each one supports.

async listEventTypes(requestOptions?: ComposioRequestOptions): Promise<WebhookSubscriptionEventTypesResponse>

Parameters

NameType
requestOptions?ComposioRequestOptions

Returns

Promise<WebhookSubscriptionEventTypesResponse> — The available event types

Example

const { items } = await composio.webhooks.subscriptions.listEventTypes();
console.log(items.map(item => item.eventType));

rotateSecret()

Rotate the signing secret of a webhook subscription. The previous secret stops validating, so update your verifier with the returned secret.

async rotateSecret(id: string, requestOptions?: ComposioRequestOptions): Promise<WebhookSubscriptionRotateSecretResponse>

Parameters

NameTypeDescription
idstringThe subscription id
requestOptions?ComposioRequestOptions

Returns

Promise<WebhookSubscriptionRotateSecretResponse> — \{ id, secret \}

Example

const { secret } = await composio.webhooks.subscriptions.rotateSecret('whs_abc123');

set()

Create or update the project webhook subscription.

If a subscription already exists it is updated in place, otherwise a new one is created. By default this subscribes to V3 trigger message events.

async set(params: WebhookSubscriptionSetParams, requestOptions?: ComposioRequestOptions): Promise<WebhookSubscription>

Parameters

NameTypeDescription
paramsWebhookSubscriptionSetParamswebhookUrl, optional enabledEvents and version
requestOptions?ComposioRequestOptions

Returns

Promise<WebhookSubscription> — The resulting subscription

Example

const subscription = await composio.webhooks.subscriptions.set({
  webhookUrl: `${APP_URL}/webhooks/composio`,
  enabledEvents: ['composio.trigger.message', 'composio.connected_account.expired'],
});
process.env.COMPOSIO_WEBHOOK_SECRET = subscription.secret;

update()

Update an existing webhook subscription. Only the provided fields change.

async update(id: string, params: WebhookSubscriptionUpdateParams, requestOptions?: ComposioRequestOptions): Promise<WebhookSubscription>

Parameters

NameTypeDescription
idstringThe subscription id
paramsWebhookSubscriptionUpdateParamsFields to update
requestOptions?ComposioRequestOptions

Returns

Promise<WebhookSubscription> — The updated subscription

Example

await composio.webhooks.subscriptions.update('whs_abc123', {
  enabledEvents: ['composio.trigger.message'],
});