docs/content/changelog/11-10-25.mdx
Added toolkit version support to trigger operations (create and getType) in both Python and TypeScript SDKs. This allows users to explicitly specify which toolkit version to use when creating trigger instances and retrieving trigger type information, ensuring consistent behavior across different toolkit versions.
Trigger operations now respect the global toolkitVersions configuration set during Composio initialization, providing better control over which trigger versions are used in your applications.
ts/packages/core/)toolkit_versions parameter to triggers.create() method
'latest' when no version is specifiedtriggers.getType() to respect global toolkit versions
python/composio/core/models/)toolkit_versions parameter to triggers.create() method
None to omit for API compatibilitytriggers.get_type() to respect toolkit versions
Creating Triggers with Toolkit Versions:
// @noErrors
// TypeScript - Configure versions at initialization
const composio = new Composio({
apiKey: 'your-api-key',
toolkitVersions: {
gmail: '12082025_00',
github: '10082025_01'
}
});
// Create trigger - uses version '12082025_00' for Gmail
const trigger = await composio.triggers.create('[email protected]', 'GMAIL_NEW_MESSAGE', {
connectedAccountId: 'ca_abc123',
triggerConfig: {
labelIds: 'INBOX',
userId: 'me',
interval: 60,
},
});
# Python - Configure versions at initialization
composio = Composio(
api_key="your-api-key",
toolkit_versions={"gmail": "12082025_00", "github": "10082025_01"}
)
# Create trigger - uses version '12082025_00' for Gmail
trigger = composio.triggers.create(
slug="GMAIL_NEW_MESSAGE",
user_id="[email protected]",
trigger_config={"labelIds": "INBOX", "userId": "me", "interval": 60}
)
Retrieving Trigger Types with Specific Versions:
// @noErrors
// TypeScript
const composio = new Composio({
apiKey: 'your-api-key',
toolkitVersions: { github: '10082025_01' }
});
// Get trigger type for specific version
const triggerType = await composio.triggers.getType('GITHUB_COMMIT_EVENT');
// Returns trigger type for version '10082025_01'
# Python
composio = Composio(
api_key="your-api-key",
toolkit_versions={"github": "10082025_01"}
)
# Get trigger type for specific version
trigger_type = composio.triggers.get_type("GITHUB_COMMIT_EVENT")
# Returns trigger type for version '10082025_01'
This is a non-breaking change. Existing code will continue to work with default behavior:
Before (still works):
// @noErrors
// Uses 'latest' version by default
const trigger = await composio.triggers.create('user', 'GITHUB_COMMIT_EVENT', {...});
After (recommended for production):
// @noErrors
// Explicitly configure versions for better control
const composio = new Composio({
apiKey: 'your-api-key',
toolkitVersions: { github: '10082025_01' }
});
const trigger = await composio.triggers.create('user', 'GITHUB_COMMIT_EVENT', {...});
For more details on toolkit versioning, see the Toolkit Versioning documentation.