Triggers

@composio/core


@composio/core / models/Triggers / Triggers

Class: Triggers<TProvider>

Defined in: ts/packages/core/src/models/Triggers.ts:50

Trigger (Instance) class /api/v3/trigger_instances

Type Parameters

TProvider

TProvider extends BaseComposioProvider<unknown, unknown, unknown>

Constructors

Constructor

new Triggers<TProvider>(client, config?): Triggers<TProvider>

Defined in: ts/packages/core/src/models/Triggers.ts:55

Parameters

client

Composio

config?

ComposioConfig<TProvider>

Returns

Triggers<TProvider>

Methods

create()

create(userId, slug, body?): Promise<{ }>

Defined in: ts/packages/core/src/models/Triggers.ts:117

Create a new trigger instance for a user If the connected account id is not provided, the first connected account for the user and toolkit will be used

Parameters

userId

string

The user id of the trigger instance

slug

string

The slug of the trigger instance

body?

The parameters to create the trigger instance

Returns

Promise<{ }>

The created trigger instance


delete()

delete(triggerId): Promise<{ }>

Defined in: ts/packages/core/src/models/Triggers.ts:239

Delete a trigger instance

Parameters

triggerId

string

The slug of the trigger instance

Returns

Promise<{ }>


disable()

disable(triggerId): Promise<ManageUpdateResponse>

Defined in: ts/packages/core/src/models/Triggers.ts:252

Disable a trigger instance

Parameters

triggerId

string

The id of the trigger instance

Returns

Promise<ManageUpdateResponse>

The updated trigger instance


enable()

enable(triggerId): Promise<ManageUpdateResponse>

Defined in: ts/packages/core/src/models/Triggers.ts:264

Enable a trigger instance

Parameters

triggerId

string

The id of the trigger instance

Returns

Promise<ManageUpdateResponse>

The updated trigger instance


getType()

getType(slug): Promise<{ }>

Defined in: ts/packages/core/src/models/Triggers.ts:302

Retrieve a trigger type by its slug for the provided version of the app Use the global toolkit versions param when initializing composio to pass a toolkitversion

Parameters

slug

string

The slug of the trigger type

Returns

Promise<{ }>

The trigger type object


listActive()

listActive(query?): Promise<{ }>

Defined in: ts/packages/core/src/models/Triggers.ts:79

Fetch list of all the active triggers

Parameters

query?

The query parameters to filter the trigger instances

Returns

Promise<{ }>

List of trigger instances

Throws

If the parameters are invalid

Throws

If the client is not authenticated

Example

1const triggers = await triggers.listActive({
2 authConfigIds: ['123'],
3 connectedAccountIds: ['456'],
4});

listEnum()

listEnum(): Promise<TriggersTypeRetrieveEnumResponse>

Defined in: ts/packages/core/src/models/Triggers.ts:316

Fetches the list of all the available trigger enums

This method is used by the CLI where filters are not required.

Returns

Promise<TriggersTypeRetrieveEnumResponse>


listTypes()

listTypes(query?): Promise<{ }>

Defined in: ts/packages/core/src/models/Triggers.ts:280

List all the trigger types

Parameters

query?

The query parameters to filter the trigger types

Returns

Promise<{ }>

The list of trigger types


subscribe()

subscribe(fn, filters): Promise<void>

Defined in: ts/packages/core/src/models/Triggers.ts:412

Subscribe to all the triggers

Parameters

fn

(_data) => void

The function to call when a trigger is received

filters

The filters to apply to the triggers

Returns

Promise<void>

Example

1triggers.subscribe((data) => {
2 console.log(data);
3}, );

unsubscribe()

unsubscribe(): Promise<void>

Defined in: ts/packages/core/src/models/Triggers.ts:460

Unsubscribe from all the triggers

Returns

Promise<void>

Example

1composio.trigger.subscribe((data) => {
2 console.log(data);
3});
4
5await triggers.unsubscribe();

update()

update(triggerId, body): Promise<{ }>

Defined in: ts/packages/core/src/models/Triggers.ts:226

Update an existing trigger instance

Parameters

triggerId

string

The Id of the trigger instance

body

The parameters to update the trigger instance

Returns

Promise<{ }>

The updated trigger instance response


verifyWebhook()

verifyWebhook(params): object

Defined in: ts/packages/core/src/models/Triggers.ts:503

Verify an incoming webhook payload and signature.

This method validates that the webhook request is authentic by:

  1. Verifying the HMAC-SHA256 signature matches the payload
  2. Optionally checking that the webhook timestamp is within the tolerance window

Parameters

params

The verification parameters

Returns

object

The verified and parsed webhook payload

Throws

If the parameters are invalid

Throws

If the signature verification fails

Throws

If the payload cannot be parsed or is invalid

Example

1// In an Express.js webhook handler
2app.post('/webhook', express.raw({ type: 'application/json' }), (req, res) => {
3 try {
4 const payload = composio.triggers.verifyWebhook({
5 payload: req.body.toString(),
6 signature: req.headers['x-composio-signature'] as string,
7 secret: process.env.COMPOSIO_WEBHOOK_SECRET!,
8 });
9
10 // Process the verified payload
11 console.log('Received trigger:', payload.triggerSlug);
12 res.status(200).send('OK');
13 } catch (error) {
14 console.error('Webhook verification failed:', error);
15 res.status(401).send('Unauthorized');
16 }
17});