Connected Accounts
Pipedream provides native integrations for 2,000+ APIs. Once you connect an account, you can
- Link that account to any step of a workflow, using the associated credentials to make API requests to any service.
- Manage permissions, limiting access to sensitive accounts
- Access credentials via API, letting you build services anywhere and use Pipedream to handle auth
Pipedream handles OAuth for you, ensuring you always have a fresh access token to authorize requests, and credentials are tightly-secured.
If you use an existing secrets store, or manage credentials in a database, you can also pass those to Pipedream at runtime instead of connecting accounts in the UI.
Supported Apps
Pipedream supports 2,000+ apps, and we're adding more every day.
If you don't see an integration for a service you need, you can request the integration here, or use environment variables to manage custom credentials.
Types of Integrations
OAuth
For services that support OAuth, Pipedream operates an OAuth application that mediates access to the service so you don't have to maintain your own app, store refresh and access tokens, and more.
When you connect an account, you'll see a new window open where you authorize the Pipedream application to access data in your account. Pipedream stores the OAuth refresh token tied to your authorization grant, automatically generating access tokens you can use to authorized requests to the service's API. You can access these tokens in code steps.
Key-based
We also support services that use API keys or other long-lived tokens to authorize requests.
For those services, you'll have to create your keys in the service itself, then add them to your connected accounts in Pipedream.
For example, if you add a new connected account for Sendgrid, you'll be asked to add your Sendgrid API key.
Connecting accounts
From an action
Prebuilt actions that connect to a specific service require you connect your account for that service before you run your workflow. Click the Connect [APP] button to get started.
Depending on the integration, this will either:
- Open the OAuth flow for the target service, prompting you to authorize Pipedream to access your account, or
- Open a modal asking for your API credentials for key-based services
If you've already connected an account for this app, you'll also see a list of existing accounts to select from.
From the HTTP Request action
Craft a custom HTTP request in a workflow with a connected account without code.
In a new step, select the Send any HTTP Request to start a new HTTP Request action.
Then, within the new HTTP request, open the Authorization Type dropdown to select a Select an app:
This will open a new prompt to select an app to connect with. Once you select an app, the HTTP request will be updated with the correct headers to authenticate with that app's API.
Once you connect the selected app account Pipedream will autmatically include your account's authentication keys in the request in the headers, as well as update the URL to match the selected service.
Now you can modify the request path, method, body or query params to perform an action on the endpoint with your authenticated account.
From a code step
You can connect accounts to code steps by using an app
prop. Refer to the connecting apps in Node.js documentation.
For example, you can connect to Slack from Pipedream (via their OAuth integration), and use the access token Pipedream generates to authorize requests:
import { WebClient } from '@slack/web-api';
// Sends a message to a Slack Channel
export default defineComponent({
props: {
slack: {
type: 'app',
app: 'slack'
}
},
async run({ steps, $ }) {
const web = new WebClient(this.slack.$auth.oauth_access_token)
return await web.chat.postMessage({
text: "Hello, world!",
channel: "#general",
})
}
});
Managing Connected Accounts
Visit your Accounts Page to see a list of all your connected accounts.
On this page you can:
- Connect your account for any integrated app
- View and manage access for your connected accounts
- Delete a connected account
- Reconnect an account
- Change the nickname associated with an account
You'll also see some data associated with these accounts:
- For many OAuth apps, we'll list the scopes for which you've granted Pipedream access
- The workflows that are using the account
Connecting a new account
- Visit https://pipedream.com/accounts
- Click the Connect an app button at the top-right.
- Select the app you'd like to connect.
Reconnecting an account
If you encounter errors in a step that appear to be related to credentials or authorization, you can reconnect your account:
- Visit https://pipedream.com/accounts
- Search for your account
- Click on the ... next to your account, on the right side of the page
- Select the option to Reconnect your account
Access Control
New connected accounts are private by default and can only be used by the person who added it.
Connected accounts created prior to August 2023 were accessible to all workspace members by default. You can restrict access at any time.
Managing access
- Find the account on the Accounts page and click the 3 dots on the far right of the row
- Select Manage Access
- You may be prompted to reconnect your account first to verify ownership of the account
- You can enable access to the entire workspace or individual members
Collaborating with others
Even if a workspace member doesn't have access to a private connected account, you can still collaborate together on the same workflows.
Workspace members who don't have access to a connected account can perform the following actions on workflows:
- Reference step exports
- Inspect prop inputs, step logs, and errors
- Test any step, so they can effectively develop and debug workflows end to end
Workspace members who do not have access to a given connected account cannot modify prop inputs or edit any code with that account.
To make changes to steps that are locked in read-only mode, you can:
- Ask the account owner to grant access
- Click More Actions and change the connected account to one that you have access to (note that this may remove some prop configurations)
Access
Access to connected accounts is enforced at the step-level within workflows and is designed with security and control in mind.
When you connect an account in Pipedream, you are the owner of that connected account, and you always have full access. You can:
- Manage access
- Delete
- Reconnect
- Add to any step or trigger
For connected accounts that are not shared with other workspace members:
Operation | Workspace Owner & Admin | Other Members |
---|---|---|
View on Accounts | ✅ | ❌ |
Add to a new trigger or step | ❌ | ❌ |
Modify existing steps | ❌ | ❌ |
Test exising steps | ✅ | ✅ |
Manage access | ✅ | ❌ |
Reconnect | ✅ | ❌ |
Delete | ✅ | ❌ |
For connected accounts that are shared with other workspace members:
Operations | Workspace Owner & Admin | Other Members |
---|---|---|
View on Accounts | ✅ | ✅ |
Add to a new trigger or step | ✅ | ✅ |
Modify existing steps | ✅ | ✅ |
Test exising steps | ✅ | ✅ |
Manage access | ✅ | ❌ |
Reconnect | ✅ | ❌ |
Delete | ✅ | ❌ |
Frequently Asked Questions
Why isn't my connected account showing up in the legacy workflow builder?
In order to use a connected account in the legacy (v1) workflow builder, the account must be shared with the entire workspace. Private accounts are accessible in the latest version of the workflow builder.
What is the "Owner" column?
The owner column on the Accounts page indicates who in the workspace originally connected the account (that is the only person who has permissions to manage access).
Why is there no "Owner" for certain connected accounts?
Accounts that were connected before August 2023 don't have an owner associated with them, and are shared with the entire workspace. In order to manage access for any of those accounts, we'll first prompt you to reconnect.
How can I restrict access to a connected account shared with the workspace?
See above for info on managing access.
Can I still work with other people on a single workflow, even if I don't want them to have access to my connected account?
Yes, see the section on collaborating with others.
Accessing credentials via API
You can access credentials for any connected account via API, letting you build services anywhere and use Pipedream to handle auth. See the guide for accessing credentials via API for more details.
Passing external credentials at runtime
If you use a secrets store like HashiCorp Vault or AWS Secrets Manager, store credentials in a database, or use a service like Nango to manage auth, you can retrieve these secrets at runtime and pass them to any step. See the full guide here.
Account security
See our security docs for details on how Pipedream secures your connected accounts.
Requesting a new app or service
- Visit https://pipedream.com/support
- Scroll to the bottom, where you'll see a Support form.
- Select App / Integration questions and submit the request.