Each integration has a client that performs the actual HTTP requests. Usually this is a wrapper around an official SDK provided by the service.
src/index.ts
Slack
instead of something like SlackIntegration
or
SlackConnector
TriggerIntegration
interface requires three properties and one method to be implemented:
id
that uniquely identifies the Integration. This should always be passed through the
constructor options.run()
method is called on a Job. This is important because the
authentication data is dynamic, and can change (like OAuth credentials refreshing). This method
should return a new instance of the Integration, with the new authentication data, io, and
connectionKey set so they can be used by runTask and any Triggers.