diff --git a/.gitignore b/.gitignore
index 35fb5a98b2393..1d854768ceef9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,5 @@ docs/.vuepress/dist
components/**/package-lock.json
/packages/evals/
/packages/sdk/examples/.next/
+
+**/.claude/settings.local.json
diff --git a/docs-v2/next.config.mjs b/docs-v2/next.config.mjs
index 544a8ed73c604..935ae3d3a475a 100644
--- a/docs-v2/next.config.mjs
+++ b/docs-v2/next.config.mjs
@@ -34,6 +34,11 @@ export default withNextra({
},
async redirects() {
return [
+ {
+ source: "/apps/apps/",
+ destination: "/apps/",
+ permanent: true,
+ },
{
source: "/v3/",
destination: "/",
@@ -69,11 +74,6 @@ export default withNextra({
destination: "https://pipedream.com/apps/",
permanent: true,
},
- {
- source: "/apps/:path*/",
- destination: "https://pipedream.com/apps/:path*/",
- permanent: true,
- },
{
source: "/support/",
destination: "https://pipedream.com/support/",
@@ -481,6 +481,11 @@ export default withNextra({
destination: "/integrations/oauth-clients/",
permanent: true,
},
+ {
+ source: "/integrations/",
+ destination: "/apps/",
+ permanent: true,
+ },
{
source: "/integrations/:path*/",
destination: "/apps/:path*/",
@@ -561,6 +566,10 @@ export default withNextra({
source: "/api-demo-connect/accounts/:id/",
destination: "/api/demo-connect/accounts/:id",
},
+ {
+ source: "/workflows/errors/",
+ destination: "/workflows/building-workflows/errors/",
+ },
];
},
env: {
diff --git a/docs-v2/pages/apps/apps.mdx b/docs-v2/pages/apps/apps.mdx
deleted file mode 100644
index 62b64f8941bc0..0000000000000
--- a/docs-v2/pages/apps/apps.mdx
+++ /dev/null
@@ -1,79 +0,0 @@
-import Callout from '@/components/Callout'
-
-# Integrated Apps
-
-Pipedream has built-in integrations with more than {process.env.PUBLIC_APPS} apps. Since you can [write any code](/workflows/building-workflows/code/nodejs/) on Pipedream, and pass API keys or credentials using [environment variables](/workflows/environment-variables/), you can connect to virtually any service, so the list is not exhaustive.
-
-But Pipedream-integrated apps provide a few benefits:
-
-- You can [connect the app once](/apps/connected-accounts/) and [link that connected account to any step of a workflow](/apps/connected-accounts/#connecting-accounts)
-- Pipedream provides [pre-built actions](/components/contributing/#actions) that wrap common operations for the app. You shouldn't have to write the code to send a message to Slack, or add a new row to a Google Sheet, so actions make that easy. Actions are just code, so you can fork and modify them, or even [publish your own to the Pipedream community](/components/contributing/).
-- [You have access to your API keys and access tokens in code steps](/workflows/building-workflows/code/nodejs/auth/), so you can write any code to authorize custom requests to these apps.
-
-## Premium Apps
-
-The vast majority of integrated apps on Pipedream are free to use in your workflows across any plan. However, to use any of the below apps in an active workflow, your workspace will need to have access to [Premium Apps](https://pipedream.com/pricing):
-
-- [ActiveCampaign](https://pipedream.com/apps/activecampaign)
-- [ADP](https://pipedream.com/apps/adp)
-- [Amazon Advertising](https://pipedream.com/apps/amazon_advertising)
-- [Asana](https://pipedream.com/apps/asana)
-- [AWS](https://pipedream.com/apps/aws)
-- [Azure OpenAI Service](https://pipedream.com/apps/azure-openai-service)
-- [BigCommerce](https://pipedream.com/apps/bigcommerce)
-- [Cisco Webex](https://pipedream.com/apps/cisco-webex)
-- [Cisco Webex (Custom App)](https://pipedream.com/apps/cisco-webex-custom-app)
-- [Close](https://pipedream.com/apps/close)
-- [Cloudinary](https://pipedream.com/apps/cloudinary)
-- [Customer.io](https://pipedream.com/apps/customer-io)
-- [Datadog](https://pipedream.com/apps/datadog)
-- [dbt Cloud](https://pipedream.com/apps/dbt)
-- [ERPNext](https://pipedream.com/apps/erpnext)
-- [Exact](https://pipedream.com/apps/exact)
-- [Freshdesk](https://pipedream.com/apps/freshdesk)
-- [Google Cloud](https://pipedream.com/apps/google-cloud)
-- [Gorgias](https://pipedream.com/apps/gorgias-oauth)
-- [HubSpot](https://pipedream.com/apps/hubspot)
-- [Intercom](https://pipedream.com/apps/intercom)
-- [Jira](https://pipedream.com/apps/jira)
-- [Jira Service Desk](https://pipedream.com/apps/jira-service-desk)
-- [Klaviyo](https://pipedream.com/apps/klaviyo)
-- [Linkedin](https://pipedream.com/apps/linkedin)
-- [Linkedin Ads](https://pipedream.com/apps/linkedin-ads)
-- [Mailchimp](https://pipedream.com/apps/mailchimp)
-- [Mailgun](https://pipedream.com/apps/mailgun)
-- [MongoDB](https://pipedream.com/apps/mongodb)
-- [Outreach](https://pipedream.com/apps/outreach)
-- [PagerDuty](https://pipedream.com/apps/pagerduty)
-- [Pinterest](https://pipedream.com/apps/pinterest)
-- [Pipedrive](https://pipedream.com/apps/pipedrive)
-- [Pipefy](https://pipedream.com/apps/pipefy)
-- [Propeller](https://pipedream.com/apps/propeller)
-- [Quickbooks](https://pipedream.com/apps/quickbooks)
-- [Rebrandly](https://pipedream.com/apps/rebrandly)
-- [ReCharge](https://pipedream.com/apps/recharge)
-- [Salesforce (REST API)](https://pipedream.com/apps/salesforce_rest_api)
-- [Segment](https://pipedream.com/apps/segment)
-- [SendinBlue](https://pipedream.com/apps/sendinblue)
-- [ServiceNow](https://pipedream.com/apps/servicenow)
-- [ShipStation](https://pipedream.com/apps/shipstation)
-- [Shopify](https://pipedream.com/apps/shopify)
-- [Snowflake](https://pipedream.com/apps/snowflake)
-- [Stripe](https://pipedream.com/apps/stripe)
-- [Twilio SendGrid](https://pipedream.com/apps/sendgrid)
-- [WhatsApp Business](https://pipedream.com/apps/whatsapp-business)
-- [WooCommerce](https://pipedream.com/apps/woocommerce)
-- [Xero Accounting](https://pipedream.com/apps/xero_accounting_api)
-- [Zendesk](https://pipedream.com/apps/zendesk)
-- [Zoom Admin](https://pipedream.com/apps/zoom_admin)
-- [Zoho Books](https://pipedream.com/apps/zoho_books)
-- [Zoho CRM](https://pipedream.com/apps/zoho_crm)
-- [Zoho People](https://pipedream.com/apps/zoho_people)
-- [Zoho SalesIQ](https://pipedream.com/apps/zoho_salesiq)
-
-
-Missing an integration?
-If we don't have an integration for an app that you'd like to see, please [let us know](https://pipedream.com/support) or [contribute it to the source available Pipedream registry](/components/contributing/).
-
-
-**Check out the full list of integrated apps [here](https://pipedream.com/apps).**
diff --git a/docs-v2/pages/connect/api.mdx b/docs-v2/pages/connect/api.mdx
index 23522e7838b71..151803177f953 100644
--- a/docs-v2/pages/connect/api.mdx
+++ b/docs-v2/pages/connect/api.mdx
@@ -67,7 +67,7 @@ const pd = createBackendClient({
You'll primarily use the browser SDK to let your users securely connect apps from your frontend. Here, you
-1. [Create a short-lived token on your server](#create-a-new-token)
+1. [Create a short-lived token on your server](#create-token)
2. Initiate auth with that token to securely connect an account for a specific user
Here's a Next.js example [from our quickstart](/connect/managed-auth/quickstart/):
@@ -240,7 +240,7 @@ Your app will initiate the account connection flow for your end users in your fr
See [the Connect tokens docs](/connect/tokens/) for more information.
-#### Create a new token
+#### Create token
```
POST /{project_id}/tokens
@@ -383,9 +383,9 @@ curl -X POST https://api.pipedream.com/v1/connect/{project_id}/tokens \
### Accounts
-#### List all accounts
+#### List All Accounts
-List all connected accounts for all end users within a project.
+List all connected accounts for all externalusers within a project.
```
GET /{project_id}/accounts/
@@ -650,7 +650,7 @@ curl -X GET \
}
```
-#### Retrieve account details by ID
+#### Retrieve Account Details by ID
Retrieve the account details for a specific account based on the account ID
@@ -823,9 +823,9 @@ curl -X GET \
}
```
-#### Delete connected account
+#### Delete Connected Account
-Delete a specific connected account for an end user, and any deployed triggers.
+Delete a specific connected account for an external user, and any deployed triggers.
```
DELETE /{project_id}/accounts/{account_id}
@@ -910,7 +910,7 @@ curl -X DELETE "https://api.pipedream.com/v1/connect/{project_id}/accounts/{acco
Pipedream returns a `204 No Content` response on successful account deletion
-#### Delete all connected accounts for an app
+#### Delete All Connected Accounts for an App
Delete all connected accounts for a specific app
@@ -999,9 +999,9 @@ curl -X DELETE "https://api.pipedream.com/v1/connect/{project_id}/accounts/{acco
Pipedream returns a `204 No Content` response on successful account deletion
-#### Delete an end user
+#### Delete External User
-Delete an end user, all their connected accounts, and any deployed triggers.
+Delete an external user, all their connected accounts, and any deployed triggers.
```
DELETE /{project_id}/users/{external_user_id}
@@ -1091,7 +1091,7 @@ Pipedream returns a `204 No Content` response on successful account deletion
### Components
-#### List components
+#### List Components
List all the components in the Pipedream registry.
@@ -1239,7 +1239,7 @@ curl -X GET "https://api.pipedream.com/v1/connect/{your_project_id}/components?a
```
-#### Retrieve a component
+#### Retrieve Component
Retrieve a specific component from the Pipedream registry.
@@ -1378,7 +1378,7 @@ curl -X GET "https://api.pipedream.com/v1/connect/{your_project_id}/components/g
-#### Configure a component
+#### Configure Component
Configure the a component's prop, based on the current component's
configuration. This endpoint will use the component's configuration to retrieve
@@ -1592,7 +1592,7 @@ curl -X POST "https://api.pipedream.com/v1/connect/{your_project_id}/components/
}
```
-#### Reload a component's props (i.e. configure dynamic props)
+#### Reload Component Props
Reload the component's props after configuring a dynamic prop, based on the
current component's configuration. This endpoint will use the component's
@@ -1820,7 +1820,7 @@ curl -X POST "https://api.pipedream.com/v1/connect/{your_project_id}/components/
}
```
-#### Invoke an action
+#### Invoke Action
Invoke an action component for a Pipedream Connect user in a project.
@@ -2009,7 +2009,7 @@ curl -X POST "https://api.pipedream.com/v1/connect/{your_project_id}/actions/run
}
```
-#### Deploy a trigger
+#### Deploy Trigger
See [here](/connect/components/#deploying-triggers) for more info on supported trigger types with example payloads
@@ -2242,7 +2242,7 @@ curl -X POST "https://api.pipedream.com/v1/connect/{your_project_id}/triggers/de
}
```
-#### List deployed triggers
+#### List Deployed Triggers
List all of the deployed triggers for a given user.
@@ -2503,7 +2503,7 @@ curl -X GET \
}
```
-#### Retrieve a deployed trigger
+#### Retrieve Deployed Trigger
Retrieve a single deployed trigger for a given user.
@@ -2688,7 +2688,7 @@ curl -X GET \
}
```
-#### Delete a deployed trigger
+#### Delete Deployed Trigger
Delete deployed trigger for a given user.
@@ -2798,7 +2798,7 @@ curl -X DELETE \
Pipedream returns a `204 No Content` response on successful deletion
-#### Retrieve the events emitted by a deployed trigger
+#### Retrieve Events Emitted by Deployed Trigger
Retrieve a list of the last events that a deployed trigger emitted.
@@ -2995,7 +2995,7 @@ curl -X GET \
}
```
-#### Retrieve the webhooks listening to a deployed trigger
+#### Retrieve Webhooks Listening to Deployed Trigger
Retrieve the list of webhook URLs listening to a deployed trigger.
@@ -3116,7 +3116,7 @@ curl -X GET \
}
```
-#### Update the webhooks listening to a deployed trigger
+#### Update Webhooks Listening to Deployed Trigger
Update the list of webhook URLs that will listen to a deployed trigger.
@@ -3255,7 +3255,7 @@ curl -X PUT \
}
```
-#### Retrieve the workflows listening to a deployed trigger
+#### Retrieve Workflows Listening to Deployed Trigger
Retrieve the list of workflow IDs listening to a deployed trigger.
@@ -3377,7 +3377,7 @@ curl -X GET \
}
```
-#### Update the workflows listening to a deployed trigger
+#### Update Workflows Listening to Deployed Trigger
Update the list of workflows that will listen to a deployed trigger.
diff --git a/docs-v2/pages/connect/components.mdx b/docs-v2/pages/connect/components.mdx
index f64c32baaa865..14b8309747752 100644
--- a/docs-v2/pages/connect/components.mdx
+++ b/docs-v2/pages/connect/components.mdx
@@ -821,7 +821,7 @@ These are 2 categories of triggers you can deploy on behalf of your end users:
- [Native triggers](#native-triggers)
-Refer to the [full Connect API reference](/connect/api/#deploy-a-trigger) to list, retrieve, delete, and manage triggers for your user.
+Refer to the [full Connect API reference](/connect/api/#deploy-trigger) to list, retrieve, delete, and manage triggers for your user.
### App-based event sources
@@ -833,7 +833,7 @@ Refer to the [full Connect API reference](/connect/api/#deploy-a-trigger) to lis
- Many event sources attempt to retrieve a small set of historical events on deploy to provide visibility into the event shape for end users and developers
- Exposing real test events make it easier to consume the event in downstream systems without requiring users to trigger real events ([more info](/components/contributing/guidelines/#surfacing-test-events))
- However, this results in emitting those events to the listening webhook immediately, which may not always be ideal, depending on your use case
-- If you'd like to avoid emitting historical events, you can deploy a trigger without defining a `webhook_url`, then [update the listening webhooks for the deployed trigger](/connect/api/#update-the-webhooks-listening-to-a-deployed-trigger) after roughly a minute
+- If you'd like to avoid emitting historical events, you can deploy a trigger without defining a `webhook_url`, then [update the listening webhooks for the deployed trigger](/connect/api/#update-webhooks-listening-to-deployed-trigger) after roughly a minute
### Native triggers
diff --git a/docs-v2/pages/connect/environments.mdx b/docs-v2/pages/connect/environments.mdx
index b897c9b2f54fb..5d2efde5eb1c7 100644
--- a/docs-v2/pages/connect/environments.mdx
+++ b/docs-v2/pages/connect/environments.mdx
@@ -27,7 +27,7 @@ The `development` environment is not intended for production use with your custo
## How to specify the environment
-You specify the environment when [creating a new Connect token](/connect/api/#create-a-new-token) with the Pipedream SDK or API. When users successfully connect their account, Pipedream saves the account credentials (API key, access token, etc.) for that `external_user_id` in the specified environment.
+You specify the environment when [creating a new Connect token](/connect/api/#create-token) with the Pipedream SDK or API. When users successfully connect their account, Pipedream saves the account credentials (API key, access token, etc.) for that `external_user_id` in the specified environment.
Always set the environment when you create the SDK client:
diff --git a/docs-v2/pages/connect/managed-auth/connect-link.mdx b/docs-v2/pages/connect/managed-auth/connect-link.mdx
index 212213868667a..2ec0ac3ae19df 100644
--- a/docs-v2/pages/connect/managed-auth/connect-link.mdx
+++ b/docs-v2/pages/connect/managed-auth/connect-link.mdx
@@ -27,6 +27,6 @@ https://pipedream.com/_static/connect.html?token={token}&connectLink=true&app={a
## Success and error redirect URLs
-To automatically redirect users somewhere after they complete the connection flow (or if an error occurs), define the `success_redirect_uri` and `error_redirect_uri` parameters during token creation. [See the API docs](/connect/api/#create-a-new-token) for details.
+To automatically redirect users somewhere after they complete the connection flow (or if an error occurs), define the `success_redirect_uri` and `error_redirect_uri` parameters during token creation. [See the API docs](/connect/api/#create-token) for details.
In the absence of these URLs, Pipedream will redirect the user to a Pipedream-hosted success or error page at the end of the connection flow.
diff --git a/docs-v2/pages/connect/managed-auth/quickstart.mdx b/docs-v2/pages/connect/managed-auth/quickstart.mdx
index 9803350d98b4b..ffb79dca8aa4d 100644
--- a/docs-v2/pages/connect/managed-auth/quickstart.mdx
+++ b/docs-v2/pages/connect/managed-auth/quickstart.mdx
@@ -78,7 +78,7 @@ In the code below you can see how we generate a Connect token for an example use
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](#or-use-connect-link).
-Refer to the API docs for [full set of parameters you can pass](/connect/api/#create-a-new-token) in the `ConnectTokenCreate` call.
+Refer to the API docs for [full set of parameters you can pass](/connect/api/#create-token) in the `ConnectTokenCreate` call.
### Connect your user's account
@@ -121,7 +121,7 @@ After generating a token in the [step above](#generate-a-short-lived-token), you
Make sure to add the `app` parameter to the end of the URL to specify the app.
-Check out the [full API docs](/connect/api/#create-a-new-token) for all parameters you can pass when creating tokens, including setting redirect URLs for success or error cases.
+Check out the [full API docs](/connect/api/#create-token) for all parameters you can pass when creating tokens, including setting redirect URLs for success or error cases.
### Make authenticated requests
diff --git a/docs-v2/pages/connect/managed-auth/tokens.mdx b/docs-v2/pages/connect/managed-auth/tokens.mdx
index 338bdf3de475c..12d6abfa5a22c 100644
--- a/docs-v2/pages/connect/managed-auth/tokens.mdx
+++ b/docs-v2/pages/connect/managed-auth/tokens.mdx
@@ -17,7 +17,7 @@ Connect tokens currently have a 4-hour expiry, and can only be used once.
## Creating a token
-See docs on [the `/tokens` endpoint](/connect/api/#create-a-new-token) to create new tokens.
+See docs on [the `/tokens` endpoint](/connect/api/#create-token) to create new tokens.
## Webhooks
@@ -27,6 +27,6 @@ When you generate a token, you can specify a `webhook_uri` where Pipedream will
## Tokens are scoped to end users and environments
-When you [create a new Connect token](/connect/api/#create-a-new-token), you pass an `external_user_id` and an `environment`. See the docs on [environments](/connect/environments/) for more information on passing environment in the SDK and API.
+When you [create a new Connect token](/connect/api/#create-token), you pass an `external_user_id` and an `environment`. See the docs on [environments](/connect/environments/) for more information on passing environment in the SDK and API.
Tokens are scoped to this user and environment. When the user successfully connects an account with that token, it will be saved for that `external_user_id` in the specified environment.
diff --git a/docs-v2/pages/connect/managed-auth/users.mdx b/docs-v2/pages/connect/managed-auth/users.mdx
index 39244519f7dc3..177673622aa8a 100644
--- a/docs-v2/pages/connect/managed-auth/users.mdx
+++ b/docs-v2/pages/connect/managed-auth/users.mdx
@@ -69,4 +69,4 @@ curl -X DELETE "https://api.pipedream.com/v1/connect/{project_id}/users/{externa
-H "Authorization: Bearer {access_token}"
```
-For complete API details including TypeScript and Node.js examples, see the [API reference](/connect/api/#delete-an-end-user).
\ No newline at end of file
+For complete API details including TypeScript and Node.js examples, see the [API reference](/connect/api/#delete-end-user).
\ No newline at end of file
diff --git a/docs-v2/pages/connect/managed-auth/webhooks.mdx b/docs-v2/pages/connect/managed-auth/webhooks.mdx
index 82b444cb80742..51caf5c9e892f 100644
--- a/docs-v2/pages/connect/managed-auth/webhooks.mdx
+++ b/docs-v2/pages/connect/managed-auth/webhooks.mdx
@@ -1,6 +1,6 @@
# Connect Webhooks
-When you [generate a Connect token](/connect/managed-auth/quickstart/#generate-a-short-lived-token), you can pass a `webhook_uri` parameter. Pipedream will send a POST request to this URL when the user completes the connection flow, or if an error occurs at any point. [See the API docs](/connect/api/#create-a-new-token) for details.
+When you [generate a Connect token](/connect/managed-auth/quickstart/#generate-a-short-lived-token), you can pass a `webhook_uri` parameter. Pipedream will send a POST request to this URL when the user completes the connection flow, or if an error occurs at any point. [See the API docs](/connect/api/#create-token) for details.
## Webhook events
diff --git a/docs-v2/pages/connect/workflows.mdx b/docs-v2/pages/connect/workflows.mdx
index 41b19e1c54f35..c46e69e2a38de 100644
--- a/docs-v2/pages/connect/workflows.mdx
+++ b/docs-v2/pages/connect/workflows.mdx
@@ -358,13 +358,13 @@ curl -X POST https://{your-endpoint-url} \
### Deploy an event source
-You can [programmatically deploy triggers via the API](/connect/api/#deploy-a-trigger) to have events from integrated apps (like [new Slack messages](https://pipedream.com/apps/slack/triggers/new-message-in-channels) or [new emails in Gmail](https://pipedream.com/apps/gmail/triggers/new-email-received)) trigger your workflow. This allows you to:
+You can [programmatically deploy triggers via the API](/connect/api/#deploy-trigger) to have events from integrated apps (like [new Slack messages](https://pipedream.com/apps/slack/triggers/new-message-in-channels) or [new emails in Gmail](https://pipedream.com/apps/gmail/triggers/new-email-received)) trigger your workflow. This allows you to:
- Deploy triggers for specific users from your application
- Configure trigger parameters per-user
- Manage deployed triggers via the API
-See the [API documentation](/connect/api/#deploy-a-trigger) for detailed examples of deploying and managing triggers.
+See the [API documentation](/connect/api/#deploy-trigger) for detailed examples of deploying and managing triggers.
## OAuth client requirements
diff --git a/docs-v2/pages/privacy-and-security/index.mdx b/docs-v2/pages/privacy-and-security/index.mdx
index 776f5bdbe3a49..8cea1cd5b2060 100644
--- a/docs-v2/pages/privacy-and-security/index.mdx
+++ b/docs-v2/pages/privacy-and-security/index.mdx
@@ -124,7 +124,7 @@ Pipedream provides a [client-side SDK](/connect/api/#typescript-sdk-browser) to
When you initiate authorization, you must:
-1. [Create a server-side token for a specific end user](/connect/api/#create-a-new-token)
+1. [Create a server-side token for a specific end user](/connect/api/#create-token)
2. Initiate auth with that token, connecting an account for a specific user
These tokens can only initiate the auth connection flow. They have no permissions to access credentials or perform other operations against the REST API. They are meant to be scoped to a specific user, for use in clients that need to initiate auth flows.
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index fdede4cf4f4d7..ef94e2b20e1c8 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11182,8 +11182,7 @@ importers:
components/ryver: {}
- components/sage_intacct:
- specifiers: {}
+ components/sage_intacct: {}
components/sailpoint: {}
@@ -34788,6 +34787,8 @@ snapshots:
'@putout/operator-filesystem': 5.0.0(putout@36.13.1(eslint@8.57.1)(typescript@5.6.3))
'@putout/operator-json': 2.2.0
putout: 36.13.1(eslint@8.57.1)(typescript@5.6.3)
+ transitivePeerDependencies:
+ - supports-color
'@putout/operator-regexp@1.0.0(putout@36.13.1(eslint@8.57.1)(typescript@5.6.3))':
dependencies: