A provider represents a third-party service that users can connect to through Pipes. Providers are configured in the WorkOS Dashboard and define the OAuth scopes and credentials used during the authorization flow.
When listed for a specific user, each provider includes a connected_account field showing the user’s connection status.
Retrieves a list of available providers and the user’s connection status for each. Returns all providers configured for your environment, along with the user’s connected account information where applicable.
import { WorkOS } from '@workos-inc/node'; const workos = new WorkOS('sk_example_123456789'); const providers = await workos.pipes.listProviders({ userId: 'user_01EHZNVPK3SFK441A1RGBFSHRT', });
GET/user_management /users /:user_id /data_providersParameters Returns Retrieves the providers available to an organization, each with the configuration in effect for it. The enabled flag and scopes reflect the organization’s override when one exists, otherwise the provider’s environment-wide defaults. A credentials object is present only for providers whose OAuth credentials are supplied by the organization.
import { WorkOS } from '@workos-inc/node'; const workos = new WorkOS('sk_example_123456789'); const providers = await workos.pipes.listOrganizationProviders({ organizationId: 'org_01EHZNVPK3SFK441A1RGBFSHRT', });
GET/organizations /:organization_id /data_integration_configurationsParameters Returns Creates or updates an organization’s override for a provider. Send only the fields to change; provide at least one of enabled, scopes, or client_id. Client credentials can only be set for providers whose credentials are supplied by the organization, and client_id and client_secret must be sent together. The client secret is stored encrypted and is never returned.
import { WorkOS } from '@workos-inc/node'; const workos = new WorkOS('sk_example_123456789'); const configuration = await workos.pipes.configureOrganizationProvider({ organizationId: 'org_01EHZNVPK3SFK441A1RGBFSHRT', provider: 'gitlab', enabled: true, scopes: ['read_api'], clientId: 'client_01EHZNVPK3SFK441A1RGBFSHRT', clientSecret: 'example_client_secret_value', });
PUT/organizations /:organization_id /data_integration_configurations /:slugParameters Returns