You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs-v2/pages/connect/api.mdx
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -104,7 +104,7 @@ export default function Home() {
104
104
105
105
## External users
106
106
107
-
When you use the Connect API, you'll pass an `external_id` parameter when initiating account connections and retrieving credentials. This is your user's ID, in your system — whatever you use to uniquely identify them.
107
+
When you use the Connect API, you'll pass an `external_user_id` parameter when initiating account connections and retrieving credentials. This is your user's ID, in your system — whatever you use to uniquely identify them.
108
108
109
109
Pipedream associates this ID with user accounts, so you can retrieve credentials for a specific user, and invoke workflows on their behalf.
110
110
@@ -114,7 +114,7 @@ External IDs are limited to 250 characters.
|`POST /tokens`| 100 requests per minute per `external_id`|
117
+
|`POST /tokens`| 100 requests per minute per `external_user_id`|
118
118
|`GET */accounts/*`| The sum of requests across all `*/accounts/*` endpoints must not exceed 100 requests per minute. This includes requests to `/accounts`, `/apps/:app_id/accounts`, `/accounts/:account_id`, and more — any request for account metadata and credentials is counted towards this total. |
119
119
120
120
If you need higher rate limits, please [reach out](https://pipedream.com/support).
@@ -722,7 +722,7 @@ curl -X GET "https://api.pipedream.com/v1/connect/{project_id}/accounts/{account
722
722
Retrieve the account details for a specific account based on the external user ID
723
723
724
724
```
725
-
GET /{project_id}/users/{external_id}/accounts
725
+
GET /{project_id}/users/{external_user_id}/accounts
726
726
```
727
727
728
728
##### Path parameters
@@ -733,7 +733,7 @@ GET /{project_id}/users/{external_id}/accounts
733
733
734
734
---
735
735
736
-
`external_id`**string**
736
+
`external_user_id`**string**
737
737
738
738
[The external user ID](#external-users) in your system that you want to retrieve accounts for.
739
739
@@ -1095,7 +1095,7 @@ Pipedream returns a `204 No Content` response on successful account deletion
1095
1095
Delete an end user and all their connected accounts
Copy file name to clipboardExpand all lines: docs-v2/pages/connect/index.mdx
+2-7Lines changed: 2 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ import VideoPlayer from "@/components/VideoPlayer";
6
6
# Pipedream Connect
7
7
8
8
<Callouttype="info">
9
-
**Pipedream Connect is currently in preview, and we're looking for design partners to pair with us on the product roadmap and provide feedback**. If you're building apps, AI agents, or anything else that needs to integrate with many third-party APIs, please reach out at `[email protected]` or our [Slack community](https://pipedream.com/support)
9
+
**Pipedream Connect is currently in preview, and we're looking for design partners to pair with us on the product roadmap and provide feedback**. If you're building apps, AI agents, or anything else that needs to integrate with many third-party APIs, please reach out at `[email protected]` or in our [Slack community](https://pipedream.com/support).
10
10
11
11
During the preview phase, Connect is free to use for any workspace. The API may change without notice, which may cause breaking changes. We'll do our best to communicate these changes. Please let us know how you're using it, what's not working, and what else you'd like to see.
12
12
</Callout>
@@ -20,6 +20,7 @@ Connect lets you:
20
20
1. Handle authorization or accept API keys on behalf of your users, for any of Pipedream's [{process.env.PUBLIC_APPS}+ APIs](https://pipedream.com/apps). Use the [Client SDK](https://github.com/PipedreamHQ/pipedream/tree/master/packages/sdk) or [Connect Link](/connect/quickstart#use-connect-link) to accept auth in minutes.
21
21
2. Securely retrieve OAuth access tokens, API keys, and other credentials for your end users with Pipedream's [REST API](/connect/api)
22
22
3. Run workflows for your end users with Pipedream's [workflow builder](/workflows), [serverless runtime](/), and thousands of no-code [triggers](/workflows/triggers) and [actions](/workflows/actions). Build complex integrations in minutes, writing code when you need it and using no-code components when you don't. Pipedream workflows are easy to modify, debug, and scale.
23
+
4. Run [any Pipedream action](https://pipedream.com/explore) or [deploy any Pipedream trigger](https://pipedream.com/explore) on behalf of your users, directly from within your application.
23
24
24
25
<br />
25
26
@@ -61,12 +62,6 @@ All credentials and tokens are sent to Pipedream securely over HTTPS, and encryp
61
62
-**Use secure, session-based auth between your client and server** — authorize all requests from your client to your server using a secure, session-based auth mechanism. Use well-known identity providers with services like [Clerk](https://clerk.com/), [Firebase](https://firebase.google.com/), or [Auth0](https://auth0.com/) to securely generate and validate authentication tokens. The same follows for Pipedream workflows — if you trigger Pipedream workflows from your client or server, validate all requests in the workflow before executing workflow code.
62
63
-**Secure your workflows** — See our [standard security practices](/privacy-and-security/best-practices) for recommendations on securing your Pipedream workflows.
63
64
64
-
## Product roadmap for Connect
65
-
66
-
- Address bugs and feedback during the preview phase
67
-
- Invoke Pipedream workflows on behalf of your end users
68
-
- And more!
69
-
70
65
## Glossary of terms
71
66
72
67
-**App**: GitHub, Notion, Slack, Google Sheets, and more. The app is the API you want your users to connect to in your product. See the [full list here](https://pipedream.com/apps).
Copy file name to clipboardExpand all lines: docs-v2/pages/connect/quickstart.mdx
+31-31Lines changed: 31 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,11 @@ There are two types of apps in Pipedream:
35
35
1.**Key-based**: These apps require static credentials, like API keys. Pipedream stores these credentials securely and exposes them via API.
36
36
2.**OAuth**: These apps require OAuth authorization. Pipedream manages the OAuth flow for these apps, ensuring you always have a fresh access token for requests.
37
37
38
-
**OAuth apps require you [create your own OAuth client](#creating-a-custom-oauth-client):**
38
+
**OAuth apps require you create your own OAuth client to [deploy to production](/connect/environments):**
39
+
40
+
<Callouttype="info">
41
+
To get started in [development mode](/connect/environments), you can skip these steps. To deploy your app to production, you'll need to create an OAuth client for the app you're integrating.
42
+
</Callout>
39
43
40
44
1. First, [create an OAuth client](/connected-accounts/oauth-clients#configuring-custom-oauth-clients) for the app you'd like to integrate.
41
45
2. Now when selecting an OAuth app in the **Apps** tab, you'll be prompted to select the OAuth client you've created.
@@ -44,7 +48,7 @@ There are two types of apps in Pipedream:
44
48
45
49
Pipedream uses OAuth to authorize requests to the REST API. To create an OAuth application:
46
50
47
-
1. Visit your workspace's [API settings](https://pipedream.com/settings/api).
51
+
1. Visit the [API settings](https://pipedream.com/settings/api) for your workspace.
48
52
2. Click the **New OAuth App** button.
49
53
3. Name your app and click **Create**.
50
54
4. Copy the app's client secret. **It will not be accessible again**. Click **Close**.
@@ -61,7 +65,7 @@ You'll need to do two things to add Pipedream Connect to your app:
61
65
62
66
We'll walk through these steps below, using [an example Next.js app](https://github.com/PipedreamHQ/pipedream-connect-examples/tree/master/next-app/). To follow along, clone [the repo](https://github.com/PipedreamHQ/pipedream-connect-examples/) and follow the instructions in [the app's `README`](https://github.com/PipedreamHQ/pipedream-connect-examples/tree/master/next-app/). That will run the app on `localhost:3000`.
63
67
64
-
<Callout>
68
+
<Callouttype="info">
65
69
The Next.js app is just an example. You can build Connect apps in any framework, using any language. We've provided examples in Python, Ruby, and others below.
If you're building your own app, you'll need to provide these values to the environment, or retrieve them from your secrets store.
83
87
84
-
### Generate a token or Connect Link URL for your end users
85
-
86
-
To securely initiate account connections for your users, you'll need to either:
87
-
88
-
1.[Generate a short-lived token](#generate-a-token) for your users and return that to your frontend, passing that to the account connection flow. Use this method when you want to handle the account connection flow yourself, in your app. For example, you might want to show a **Connect Slack** button in your app that triggers the account connection flow.
89
-
2. Redirect your users to [a Pipedream-hosted URL](#use-connect-link), which handles the account connection flow for you. Use this option when you can't execute JavaScript in your environment (e.g. mobile apps), or when you want to offload the account connection flow to Pipedream. You can also send these links in email or SMS.
90
-
91
-
#### Generate a token
88
+
### Generate a short-lived token
92
89
93
-
See [the docs on Connect tokens](/connect/tokens) for a general overview of why we need to create tokens and scope them to end users.
90
+
To securely initiate account connections for your users, you'll need generate a short-lived token for your users and use that in the [account connection flow](#connect-a-users-account). See [the docs on Connect tokens](/connect/tokens) for a general overview of why we need to create tokens and scope them to end users.
94
91
95
92
In the Next.js example here, we're running [Next server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) in `app/server.ts`. We call the `serverConnectTokenCreate` method from the frontend to retrieve a token **for a specific user**.
If you're using a different server / API framework, you'll need to make secure calls to that API to create a new token for your users.
106
103
107
-
Once you have a token, return it to your frontend to start the account connection flow for the user, or redirect them to a Pipedream-hosted URL with [Connect Link](#using-connect-link).
108
-
109
-
#### Use Connect Link
110
-
111
-
Connect Link lets you connect third-party accounts without any frontend implementation in your app.
112
-
113
-
If you aren't able to execute JavaScript or open an iFrame in your frontend, or you want to send users a URL to connect accounts via email or SMS, use Connect Link. That URL opens a Pipedream-hosted page that guides the user through the account connection flow. The URL is scoped to the specific end user, and expires after 4 hours.
104
+
Once you have a token, return it to your frontend to start the account connection flow for the user, or redirect them to a Pipedream-hosted URL with [Connect Link](#use-connect-link).
114
105
115
-
1. First, [generate a token](#generate-a-token) for your users.
116
-
2. Extract the `connect_link_url` from the token response.
117
-
3. Before returning the URL to your user, add an `app` parameter to the end of the query string:
Refer to the API docs for [all the parameters you can pass](/connect/api#create-a-new-token) in the `ConnectTokenCreate` call.
108
+
</Callout>
127
109
128
110
### Connect a user's account
129
111
@@ -134,6 +116,8 @@ To connect a third-party account for a user, you have two options:
134
116
135
117
#### Use the Pipedream SDK in your frontend
136
118
119
+
Use this method when you want to handle the account connection flow yourself, in your app. For example, you might want to show a **Connect Slack** button in your app that triggers the account connection flow.
120
+
137
121
First, install the [Pipedream SDK](https://www.npmjs.com/package/@pipedream/sdk) in your frontend:
138
122
139
123
```bash
@@ -173,6 +157,22 @@ export default function Home() {
173
157
174
158
Press that button to connect an account for the app you configured.
175
159
160
+
#### Use Connect Link
161
+
162
+
Use this option when you can't execute JavaScript or open an iFrame in your environment (e.g. mobile apps), or when you want to offload the account connection flow to Pipedream and avoid frontend work. You can also send these links via email or SMS.
163
+
164
+
The Connect Link opens a Pipedream-hosted page, guiding users through the account connection process. The URL is specific to the user and expires after 4 hours.
165
+
166
+
1. First, [generate a token](#generate-a-token) for your users.
167
+
2. Extract the `connect_link_url` from the token response.
168
+
3. Before returning the URL to your user, add an `app` parameter to the end of the query string:
0 commit comments