Integrations
Integrations make it easy to use APIs in your Jobs
You can use any API in your Jobs by using existing Node.js SDKs or HTTP requests. Integrations just make it much easier especially when you want to use OAuth. And you get great logging.
An Integration is a package you install that makes it easy to work with a specific API. They:
- Create a connection to the API (using OAuth, API keys or tokens)
- Provide a set of Tasks to work with the API
- Provide a set of Triggers to listen for events from the API
- Allow you to use the full underlying authenticated SDK client directly
An example
This job sends Slack messages when a new GitHub issue is opened on the triggerdotdev/trigger.dev
repo.
There are some things worth highlighting here:
- Integration clients can use API keys or tokens.
- Integration clients can use OAuth.
- Integrations are added to a Job by adding them to the
integrations
. - The Job Trigger can use an Integration to listen for events from the API.
- You can use the Integration to make API calls inside the
run
function.
Authentication
API Keys and Tokens
You provide the API Key value when creating your Integration client. Keys aren’t sent from your server by the Trigger.dev service, they are local to your servers. We recommend you use a secure method of storing these values and passing them to your code, like environment variables.
OAuth
You can use the Integrations Dashboard to setup OAuth for an Integration. We make it easy to use OAuth by dealing with the OAuth flow, token refreshing and storage for you.
You can use OAuth to authenticate your internal team with an Integration or to allow your users to authenticate with an Integration – we call user authentication Trigger.dev Connect.
References
Integrations Dashboard
The Integrations Dashboard allows you to manage your Integrations and setup OAuth.
Trigger.dev Connect
Authenticate your users with an Integration using Trigger.dev Connect.
View Integrations
Trigger.dev integrates with a wide range of services.
Create an Integration
Create an Integration for your own use or as a public package.
Was this page helpful?