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,
  };
});
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.