Skip to main content
Some apps need configuration details that your end users don’t have, or shouldn’t have to enter. An app override lets workspace and project admins define those values once, so end users can connect their accounts without them.

The problem app overrides solve

Take ServiceNow. To connect a ServiceNow account, Pipedream needs:
  • Instance name — the host portion of the instance URL, for example dev123 in https://dev123.service-now.com
  • OAuth client ID
  • OAuth client secret
Asking your end users for this is a poor experience:
  • They often don’t have the information, because of permissions or lack of technical context.
  • They can enter it incorrectly — typos, the wrong host, missing context.
  • Admins can’t make sure that every user connects with the same configuration.
With an app override, an admin defines the instance name once, and optionally attaches a custom OAuth client. When an end user connects, Pipedream reads the pre-defined values from the override, asks the user only for the fields that remain, then starts the connection flow.

How overrides are scoped

Each override is owned by a workspace or a project. The owner_id field shows which: When you list overrides for a project, the response includes the project’s own overrides and those of its parent workspace. Override names are unique per owner.

End-to-end example

This example creates a custom OAuth client for ServiceNow, pre-defines the instance name in an override, then connects an end user’s account with it.
1

Create a custom OAuth client

Workspaces and projects can use their own OAuth clients instead of Pipedream’s official ones. Pipedream calls these OAuth clients, and each one stores a client ID and secret, scopes, and a name and description. Read more about OAuth clients.Skip this step if the app is key-based, or if you want to keep using Pipedream’s official OAuth client. The app must also have custom OAuth clients enabled.
The clientId and clientSecret you pass here are the credentials ServiceNow issued to you. They are not your Pipedream OAuth credentials, which you pass to the client constructor.
Each OAuth client returns a unique redirect_uri. Register it with the third-party app so it redirects users back to Pipedream.
The client secret is write-only. Pipedream never returns it in a response. On update, a blank value keeps the existing secret.
2

Find the app's custom fields

An override pre-defines the custom fields that an app declares. Retrieve the app to read them from custom_fields_json, which is a JSON string you need to parse.
For ServiceNow, the custom field is named instance_name.
3

Create the app override

Pass the custom field values in cfmap, keyed by the field names from the previous step. Attach the OAuth client from step 1 with oauthAppId.
Sensitive custom fields, meaning any field of type password, can’t be pre-defined. The API rejects them in cfmap.
4

Connect an account

Pass the override’s ID as appOverrideId when the end user connects. Pipedream applies the pre-defined field values and the attached OAuth client, then asks the user only for the fields that remain.
See the Connect quickstart for the full account connection flow, and Connect Link if you don’t run JavaScript in your frontend.

Updating and removing overrides

  • Update an override to change its name, cfmap, or oauthAppId.
  • To detach a custom OAuth client and fall back to the official one, set oauthAppId to null on update.
  • Deleting an override does not disconnect accounts that were already connected with it.

API reference

App Overrides

List, create, retrieve, update, and delete app overrides

OAuth Clients

Manage custom OAuth clients through the API