client.defineAuthResolver(slack, async (ctx) => {
  if (!ctx.account?.id) {
    return;
  }

  const tokens = await clerk.users.getUserOauthAccessToken(ctx.account.id, "oauth_slack");

  if (tokens.length === 0) {
    throw new Error(`Could not find Slack auth for account ${ctx.account.id}`);
  }

  return {
    type: "oauth",
    token: tokens[0].token,
  };
});

These are the docs for Trigger.dev v2 which will be deprecated on January 31st, 2025. You probably want the v3 docs.

Auth Resolvers allow you to inject the authentication credentials of your users, using a third-party service like Clerk or Nango or your own custom solution.

See our Bring-your-own Auth Guide for more about how this works.

client.defineAuthResolver(slack, async (ctx) => {
  if (!ctx.account?.id) {
    return;
  }

  const tokens = await clerk.users.getUserOauthAccessToken(ctx.account.id, "oauth_slack");

  if (tokens.length === 0) {
    throw new Error(`Could not find Slack auth for account ${ctx.account.id}`);
  }

  return {
    type: "oauth",
    token: tokens[0].token,
  };
});

Parameters

integration
TriggerIntegration
required

The Integration client (e.g. slack) to define the auth resolver for.

resolver
AuthResolver
required

The resolver function to use for this integration. Should return a AuthResolverResult object.

AuthResolverResult

type
string
required

Should be either “apiKey” or “oauth”

token
string
required

The authentication token to use for this integration.

additionalFields
Record<string, string>

Additional fields to pass to the integration.