diff --git a/docs-v2/.gitignore b/docs-v2/.gitignore
index decf95162e2e0..7e3ff65bac0df 100644
--- a/docs-v2/.gitignore
+++ b/docs-v2/.gitignore
@@ -32,3 +32,7 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts
+
+# sitemap
+/public/sitemap*.xml
+/public/robots.txt
diff --git a/docs-v2/next-sitemap.config.js b/docs-v2/next-sitemap.config.js
new file mode 100644
index 0000000000000..af36b94bdc385
--- /dev/null
+++ b/docs-v2/next-sitemap.config.js
@@ -0,0 +1,33 @@
+/** @type {import('next-sitemap').IConfig} */
+module.exports = {
+ siteUrl: "https://pipedream.com/docs",
+ generateRobotsTxt: true,
+ outDir: "public",
+ changefreq: "daily",
+ priority: 0.7,
+ generateIndexSitemap: false,
+ exclude: [
+ "/hidden/*",
+ "/deprecated/*",
+ ],
+ transform: async (config, path) => {
+ // Add any custom transformations for URL paths here if needed in the future
+ return {
+ loc: path,
+ changefreq: config.changefreq,
+ priority: config.priority,
+ lastmod: config.autoLastmod
+ ? new Date().toISOString()
+ : undefined,
+ alternateRefs: config.alternateRefs ?? [],
+ };
+ },
+ robotsTxtOptions: {
+ policies: [
+ {
+ userAgent: "*",
+ allow: "/",
+ },
+ ],
+ },
+};
diff --git a/docs-v2/next.config.mjs b/docs-v2/next.config.mjs
index e740655de5cd3..030e4a017ea0f 100644
--- a/docs-v2/next.config.mjs
+++ b/docs-v2/next.config.mjs
@@ -461,6 +461,46 @@ export default withNextra({
destination: "/integrations/oauth-clients/",
permanent: true,
},
+ {
+ source: "/integrations/:path*/",
+ destination: "/apps/:path*/",
+ permanent: true,
+ },
+ {
+ source: "/workflows/contributing/components/:path*/",
+ destination: "/components/contributing/:path*/",
+ permanent: true,
+ },
+ {
+ source: "/workflows/contributing/components/",
+ destination: "/components/contributing/",
+ permanent: true,
+ },
+ {
+ source: "/workflows/contributing/",
+ destination: "/components/contributing/",
+ permanent: true,
+ },
+ {
+ source: "/workflows/projects/:path*/",
+ destination: "/projects/:path*/",
+ permanent: true,
+ },
+ {
+ source: "/workflows/projects/",
+ destination: "/projects/",
+ permanent: true,
+ },
+ {
+ source: "/workflows/workspaces/:path*/",
+ destination: "/workspaces/:path*/",
+ permanent: true,
+ },
+ {
+ source: "/workflows/workspaces/",
+ destination: "/workspaces/",
+ permanent: true,
+ },
];
},
async rewrites() {
diff --git a/docs-v2/package-lock.json b/docs-v2/package-lock.json
index 4cac1a70625e5..53cc1690b9214 100644
--- a/docs-v2/package-lock.json
+++ b/docs-v2/package-lock.json
@@ -25,6 +25,7 @@
"devDependencies": {
"@types/node": "18.11.10",
"autoprefixer": "^10.4.19",
+ "next-sitemap": "^4.2.3",
"postcss": "^8.4.40",
"prettier": "^3.3.3",
"tailwindcss": "^3.4.7",
@@ -744,6 +745,12 @@
"resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz",
"integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ=="
},
+ "node_modules/@corex/deepmerge": {
+ "version": "4.0.43",
+ "resolved": "https://registry.npmjs.org/@corex/deepmerge/-/deepmerge-4.0.43.tgz",
+ "integrity": "sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==",
+ "dev": true
+ },
"node_modules/@docsearch/css": {
"version": "3.8.1",
"resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.1.tgz",
@@ -8604,6 +8611,15 @@
"node": "*"
}
},
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/minipass": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
@@ -8739,6 +8755,39 @@
}
}
},
+ "node_modules/next-sitemap": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/next-sitemap/-/next-sitemap-4.2.3.tgz",
+ "integrity": "sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==",
+ "dev": true,
+ "funding": [
+ {
+ "url": "https://github.com/iamvishnusankar/next-sitemap.git"
+ }
+ ],
+ "dependencies": {
+ "@corex/deepmerge": "^4.0.43",
+ "@next/env": "^13.4.3",
+ "fast-glob": "^3.2.12",
+ "minimist": "^1.2.8"
+ },
+ "bin": {
+ "next-sitemap": "bin/next-sitemap.mjs",
+ "next-sitemap-cjs": "bin/next-sitemap.cjs"
+ },
+ "engines": {
+ "node": ">=14.18"
+ },
+ "peerDependencies": {
+ "next": "*"
+ }
+ },
+ "node_modules/next-sitemap/node_modules/@next/env": {
+ "version": "13.5.11",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.11.tgz",
+ "integrity": "sha512-fbb2C7HChgM7CemdCY+y3N1n8pcTKdqtQLbC7/EQtPdLvlMUT9JX/dBYl8MMZAtYG4uVMyPFHXckb68q/NRwqg==",
+ "dev": true
+ },
"node_modules/next-themes": {
"version": "0.4.6",
"resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz",
diff --git a/docs-v2/package.json b/docs-v2/package.json
index bcf1102f59973..4fc8e985d9244 100644
--- a/docs-v2/package.json
+++ b/docs-v2/package.json
@@ -6,6 +6,7 @@
"scripts": {
"dev": "next dev",
"build": "next build",
+ "postbuild": "next-sitemap",
"start": "next start"
},
"packageManager": "pnpm@9.14.2",
@@ -33,6 +34,7 @@
"devDependencies": {
"@types/node": "18.11.10",
"autoprefixer": "^10.4.19",
+ "next-sitemap": "^4.2.3",
"postcss": "^8.4.40",
"prettier": "^3.3.3",
"tailwindcss": "^3.4.7",
diff --git a/docs-v2/pages/_meta.tsx b/docs-v2/pages/_meta.tsx
index 475593add603a..5901170e7dbaa 100644
--- a/docs-v2/pages/_meta.tsx
+++ b/docs-v2/pages/_meta.tsx
@@ -1,9 +1,12 @@
export default {
"index": "What is Pipedream?",
"quickstart": "Quickstart",
- "integrations": "Integrations",
- "workflows": "Workflows",
+ "workspaces": "Workspaces",
+ "projects": "Projects",
"connect": "Connect",
+ "workflows": "Workflows",
+ "apps": "Apps",
+ "components": "Components",
"rest-api": "REST API",
"pricing": "Pricing",
"account": "Account",
diff --git a/docs-v2/pages/account/user-settings.mdx b/docs-v2/pages/account/user-settings.mdx
index 665b625b84cc0..233fd7052c860 100644
--- a/docs-v2/pages/account/user-settings.mdx
+++ b/docs-v2/pages/account/user-settings.mdx
@@ -50,7 +50,7 @@ Pipedream recommends enabling 2FA with your identity provider.
### Requiring 2-Factor Authentication
-Workspaces on the Business plan can [require all workspace members to configure 2FA](/workflows/workspaces/#requiring-two-factor-authentication) in order to log in to Pipedream.
+Workspaces on the Business plan can [require all workspace members to configure 2FA](/workspaces/#requiring-two-factor-authentication) in order to log in to Pipedream.
If you are a member of any workspace where 2FA is required, you cannot disable 2FA, but you can still reconfigure it in your [account settings](https://pipedream.com/account/) if necessary.
diff --git a/docs-v2/pages/integrations/_meta.tsx b/docs-v2/pages/apps/_meta.tsx
similarity index 77%
rename from docs-v2/pages/integrations/_meta.tsx
rename to docs-v2/pages/apps/_meta.tsx
index de53e70fccddc..da292f5887414 100644
--- a/docs-v2/pages/integrations/_meta.tsx
+++ b/docs-v2/pages/apps/_meta.tsx
@@ -2,6 +2,8 @@ export default {
"apps": "Integrated Apps",
"connected-accounts": "Connected Accounts",
"oauth-clients": "OAuth Clients",
- "external-auth": "External Auth",
+ "external-auth": {
+ display: "hidden",
+ },
"app-partners": "App Partners",
} as const
diff --git a/docs-v2/pages/integrations/app-partners.mdx b/docs-v2/pages/apps/app-partners.mdx
similarity index 100%
rename from docs-v2/pages/integrations/app-partners.mdx
rename to docs-v2/pages/apps/app-partners.mdx
diff --git a/docs-v2/pages/integrations/apps.mdx b/docs-v2/pages/apps/apps.mdx
similarity index 86%
rename from docs-v2/pages/integrations/apps.mdx
rename to docs-v2/pages/apps/apps.mdx
index e23e9c228534a..fa697c32bde6f 100644
--- a/docs-v2/pages/integrations/apps.mdx
+++ b/docs-v2/pages/apps/apps.mdx
@@ -6,8 +6,8 @@ Pipedream has built-in integrations with more than {process.env.PUBLIC_APPS} app
But Pipedream-integrated apps provide a few benefits:
-- You can [connect the app once](/integrations/connected-accounts/) and [link that connected account to any step of a workflow](/integrations/connected-accounts/#connecting-accounts)
-- Pipedream provides [pre-built actions](/workflows/contributing/components/#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](/workflows/contributing/).
+- 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
@@ -73,7 +73,7 @@ The vast majority of integrated apps on Pipedream are free to use in your workfl
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](/workflows/contributing/).
+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/integrations/connected-accounts.mdx b/docs-v2/pages/apps/connected-accounts.mdx
similarity index 98%
rename from docs-v2/pages/integrations/connected-accounts.mdx
rename to docs-v2/pages/apps/connected-accounts.mdx
index f998acd3146ad..29ee8f51d0f5d 100644
--- a/docs-v2/pages/integrations/connected-accounts.mdx
+++ b/docs-v2/pages/apps/connected-accounts.mdx
@@ -12,7 +12,7 @@ Pipedream provides native integrations for [{process.env.PUBLIC_APPS}+ APIs](htt
Pipedream handles OAuth for you, ensuring you always have a fresh access token to authorize requests, and [credentials are tightly-secured](/privacy-and-security/#third-party-oauth-grants-api-keys-and-environment-variables).
-If you use an existing secrets store, or manage credentials in a database, you can also [pass those to Pipedream at runtime](/integrations/connected-accounts/external-auth/) instead of connecting accounts in the UI.
+If you use an existing secrets store, or manage credentials in a database, you can also [pass those to Pipedream at runtime](/apps/connected-accounts/external-auth/) instead of connecting accounts in the UI.
## Supported Apps
@@ -236,7 +236,7 @@ You can access credentials for any connected account via API, letting you build
## Passing external credentials at runtime
-If you use a secrets store like [Pipedream Connect](/connect/) or [HashiCorp Vault](https://www.vaultproject.io/), or if you store credentials in a database, you can retrieve these secrets at runtime and pass them to any step. [See the full guide here](/integrations/connected-accounts/external-auth/).
+If you use a secrets store like [Pipedream Connect](/connect/) or [HashiCorp Vault](https://www.vaultproject.io/), or if you store credentials in a database, you can retrieve these secrets at runtime and pass them to any step. [See the full guide here](/apps/connected-accounts/external-auth/).
## Connecting to apps with IP restrictions
diff --git a/docs-v2/pages/integrations/external-auth.mdx b/docs-v2/pages/apps/external-auth.mdx
similarity index 100%
rename from docs-v2/pages/integrations/external-auth.mdx
rename to docs-v2/pages/apps/external-auth.mdx
diff --git a/docs-v2/pages/integrations/oauth-clients.mdx b/docs-v2/pages/apps/oauth-clients.mdx
similarity index 100%
rename from docs-v2/pages/integrations/oauth-clients.mdx
rename to docs-v2/pages/apps/oauth-clients.mdx
diff --git a/docs-v2/pages/workflows/contributing/_meta.tsx b/docs-v2/pages/components/_meta.tsx
similarity index 60%
rename from docs-v2/pages/workflows/contributing/_meta.tsx
rename to docs-v2/pages/components/_meta.tsx
index 84706974aef5d..751b3c794f6a2 100644
--- a/docs-v2/pages/workflows/contributing/_meta.tsx
+++ b/docs-v2/pages/components/_meta.tsx
@@ -1,4 +1,4 @@
export default {
"index": "Overview",
- "components": "Components",
+ "contributing": "Contributing",
} as const
diff --git a/docs-v2/pages/workflows/contributing/components/_meta.tsx b/docs-v2/pages/components/contributing/_meta.tsx
similarity index 100%
rename from docs-v2/pages/workflows/contributing/components/_meta.tsx
rename to docs-v2/pages/components/contributing/_meta.tsx
diff --git a/docs-v2/pages/workflows/contributing/components/actions-quickstart.mdx b/docs-v2/pages/components/contributing/actions-quickstart.mdx
similarity index 93%
rename from docs-v2/pages/workflows/contributing/components/actions-quickstart.mdx
rename to docs-v2/pages/components/contributing/actions-quickstart.mdx
index 709269fede014..0b2e6b8788a6e 100644
--- a/docs-v2/pages/workflows/contributing/components/actions-quickstart.mdx
+++ b/docs-v2/pages/components/contributing/actions-quickstart.mdx
@@ -6,7 +6,7 @@ import Callout from '@/components/Callout'
## Overview
-This document is intended for developers who want to author and edit [Pipedream Actions](/workflows/contributing/components/#actions). After completing this quickstart, you'll understand how to:
+This document is intended for developers who want to author and edit [Pipedream Actions](/components/contributing/#actions). After completing this quickstart, you'll understand how to:
- Develop Pipedream components
- Publish private actions and use them in workflows
@@ -16,7 +16,7 @@ This document is intended for developers who want to author and edit [Pipedream
- Use Pipedream managed auth for a 3rd party app
-If you previously developed actions using Pipedream's UI, we recommend reviewing our [migration guide](/workflows/contributing/components/migrating/) after completing this quickstart.
+If you previously developed actions using Pipedream's UI, we recommend reviewing our [migration guide](/components/contributing/migrating/) after completing this quickstart.
## Prerequisites
@@ -57,7 +57,7 @@ We recommend that you complete the examples below in order.
### hello world!
-The following code represents a simple component that can be published as an action ([learn more](/workflows/contributing/components/api/) about the component structure). When used in a workflow, it will export `hello world!` as the return value for the step.
+The following code represents a simple component that can be published as an action ([learn more](/components/contributing/api/) about the component structure). When used in a workflow, it will export `hello world!` as the return value for the step.
```javascript
export default {
@@ -109,7 +109,7 @@ Keep the browser tab open. We'll return to this workflow in the rest of the exam
### hello [name]!
-Next, let's update the component to capture some user input. First, add a `string` [prop](/workflows/contributing/components/api/#props) called `name` to the component.
+Next, let's update the component to capture some user input. First, add a `string` [prop](/components/contributing/api/#props) called `name` to the component.
```java
export default {
@@ -340,7 +340,7 @@ export default {
};
```
-Then add an [app prop](/workflows/contributing/components/api/#app-props) to use Pipedream managed auth with this component. For this example, we'll add an app prop for Github:
+Then add an [app prop](/components/contributing/api/#app-props) to use Pipedream managed auth with this component. For this example, we'll add an app prop for Github:
```javascript
import { Octokit } from "@octokit/rest";
@@ -397,7 +397,7 @@ export default {
};
```
-In order to help users understand what's happening with each action step, we recommend surfacing a brief summary with `$summary` ([read more](/workflows/contributing/components/api/#actions) about exporting data using `$.export`).
+In order to help users understand what's happening with each action step, we recommend surfacing a brief summary with `$summary` ([read more](/components/contributing/api/#actions) about exporting data using `$.export`).
```javascript
import { Octokit } from "@octokit/rest";
@@ -486,6 +486,6 @@ Select an existing account or connect a new one, and then deploy your workflow a
## What's Next?
-You're ready to start authoring and publishing actions on Pipedream! You can also check out the [detailed component reference](/workflows/contributing/components/api/#component-api) at any time!
+You're ready to start authoring and publishing actions on Pipedream! You can also check out the [detailed component reference](/components/contributing/api/#component-api) at any time!
If you have any questions or feedback, please [reach out](https://pipedream.com/community)!
diff --git a/docs-v2/pages/workflows/contributing/components/api.mdx b/docs-v2/pages/components/contributing/api.mdx
similarity index 97%
rename from docs-v2/pages/workflows/contributing/components/api.mdx
rename to docs-v2/pages/components/contributing/api.mdx
index 802290200b37e..443d6b5423e83 100644
--- a/docs-v2/pages/workflows/contributing/components/api.mdx
+++ b/docs-v2/pages/components/contributing/api.mdx
@@ -3,10 +3,10 @@ import Callout from '@/components/Callout'
# Component API Reference
-Our TypeScript component API is in **beta**. If you're interested in developing TypeScript components and providing feedback, [see our TypeScript docs](/workflows/contributing/components/typescript/).
+Our TypeScript component API is in **beta**. If you're interested in developing TypeScript components and providing feedback, [see our TypeScript docs](/components/contributing/typescript/).
-This document was created to help developers author and use [Pipedream components](/workflows/contributing/components/). Not only can you develop [sources](/workflows/contributing/components/sources-quickstart/) (workflow triggers) and [actions](/workflows/contributing/components/actions-quickstart/) using the component API, but you can also develop [Node.js steps](/workflows/building-workflows/code/nodejs/) right in your workflows - without leaving your browser! You can publish components to your account for private use, or [contribute them to the Pipedream registry](/workflows/contributing/) for anyone to run.
+This document was created to help developers author and use [Pipedream components](/components/contributing/). Not only can you develop [sources](/components/contributing/sources-quickstart/) (workflow triggers) and [actions](/components/contributing/actions-quickstart/) using the component API, but you can also develop [Node.js steps](/workflows/building-workflows/code/nodejs/) right in your workflows - without leaving your browser! You can publish components to your account for private use, or [contribute them to the Pipedream registry](/components/contributing/) for anyone to run.
While sources and actions share the same core component API, they differ in both how they're used and written, so certain parts of the component API apply only to one or the other. [This section of the docs](#differences-between-sources-and-actions) explains the core differences. When this document uses the term "component", the corresponding feature applies to both sources and actions. If a specific feature applies to only sources _or_ actions, the correct term will be used.
@@ -27,7 +27,7 @@ Components are Node.js modules that run on Pipedream's serverless infrastructure
### Quickstarts
-To help you get started, we created a step-by-step walkthrough for developing both [sources](/workflows/contributing/components/sources-quickstart/) and [actions](/workflows/contributing/components/actions-quickstart/). We recommend starting with those docs and using the API reference below as you develop.
+To help you get started, we created a step-by-step walkthrough for developing both [sources](/components/contributing/sources-quickstart/) and [actions](/components/contributing/actions-quickstart/). We recommend starting with those docs and using the API reference below as you develop.
### Differences between sources and actions
@@ -89,7 +89,7 @@ export default {
| `name` | `string` | required | The name of the component, a string which identifies components deployed to users' accounts. This name will show up in the Pipedream UI, in CLI output (for example, from `pd list` commands), etc. It will also be converted to a unique slug on deploy to reference a specific component instance (it will be auto-incremented if not unique within a user account). |
| `key` | `string` | recommended | The `key` uniquely identifies a component within a namespace. The default namespace for components is your account.
When publishing components to the Pipedream registry, the `key` must be unique across registry components and should follow the pattern:
`app_name_slug`-`slugified-component-name` |
| `type` | `string` | required | When publishing an action, `type: "action"` is required. When publishing a source, use `type: "source"`. |
-| `version` | `string` | required | The component version. There are no constraints on the version, but [semantic versioning](https://semver.org/) is required for any components published to the [Pipedream registry](/workflows/contributing/components/guidelines/). |
+| `version` | `string` | required | The component version. There are no constraints on the version, but [semantic versioning](https://semver.org/) is required for any components published to the [Pipedream registry](/components/contributing/guidelines/). |
| `description` | `string` | recommended | The description will appear in the Pipedream UI to aid in discovery and to contextualize instantiated components |
| `props` | `object` | optional | [Props](#props) are custom attributes you can register on a component. When a value is passed to a prop attribute, it becomes a property on that component instance. You can reference these properties in component code using `this` (e.g., `this.propName`). |
| `methods` | `object` | optional | Define component methods for the component instance. They can be referenced via `this` (e.g., `this.methodName()`). |
@@ -624,7 +624,7 @@ props: {
#### App Props
-App props are normally defined in an [app file](/workflows/contributing/components/guidelines/#app-files), separate from individual components. See [the `components/` directory of the pipedream GitHub repo](https://github.com/PipedreamHQ/pipedream/tree/master/components) for example app files.
+App props are normally defined in an [app file](/components/contributing/guidelines/#app-files), separate from individual components. See [the `components/` directory of the pipedream GitHub repo](https://github.com/PipedreamHQ/pipedream/tree/master/components) for example app files.
**Definition**
@@ -642,7 +642,7 @@ props: {
| Property | Type | Required? | Description |
| ----------------- | -------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `type` | `string` | required | Value must be `app` |
-| `app` | `string` | required | Value must be set to the name slug for an app registered on Pipedream. [App files](/workflows/contributing/components/guidelines/#app-files) are programmatically generated for all integrated apps on Pipedream. To find your app's slug, visit the `components` directory of [the Pipedream GitHub repo](https://github.com/PipedreamHQ/pipedream/tree/master/components), find the app file (the file that ends with `.app.mjs`), and find the `app` property at the root of that module. If you don't see an app listed, please [open an issue here](https://github.com/PipedreamHQ/pipedream/issues/new?assignees=&labels=app%2C+enhancement&template=app---service-integration.md&title=%5BAPP%5D). |
+| `app` | `string` | required | Value must be set to the name slug for an app registered on Pipedream. [App files](/components/contributing/guidelines/#app-files) are programmatically generated for all integrated apps on Pipedream. To find your app's slug, visit the `components` directory of [the Pipedream GitHub repo](https://github.com/PipedreamHQ/pipedream/tree/master/components), find the app file (the file that ends with `.app.mjs`), and find the `app` property at the root of that module. If you don't see an app listed, please [open an issue here](https://github.com/PipedreamHQ/pipedream/issues/new?assignees=&labels=app%2C+enhancement&template=app---service-integration.md&title=%5BAPP%5D). |
| `propDefinitions` | `object` | optional | An object that contains objects with predefined user input props. See the section on User Input Props above to learn about the shapes that can be defined and how to reference in components using the `propDefinition` property |
| `methods` | `object` | optional | Define app-specific methods. Methods can be referenced within the app object context via `this` (e.g., `this.methodName()`) and within a component via `this.myAppPropName` (e.g., `this.myAppPropName.methodName()`). |
diff --git a/docs-v2/pages/workflows/contributing/components/guidelines.mdx b/docs-v2/pages/components/contributing/guidelines.mdx
similarity index 94%
rename from docs-v2/pages/workflows/contributing/components/guidelines.mdx
rename to docs-v2/pages/components/contributing/guidelines.mdx
index e02b8c95da32a..90ac12b4c56e3 100644
--- a/docs-v2/pages/workflows/contributing/components/guidelines.mdx
+++ b/docs-v2/pages/components/contributing/guidelines.mdx
@@ -113,7 +113,7 @@ scoped components are easier for users to understand and use.
### Required Metadata
-Registry [components](/workflows/contributing/components/api/#component-structure) require a unique
+Registry [components](/components/contributing/api/#component-structure) require a unique
`key` and `version`, and a friendly `name` and `description`. Action components
require a `type` field to be set to `action` (sources will require a type to be
set in the future).
@@ -195,7 +195,7 @@ directory](https://github.com/PipedreamHQ/pipedream/tree/master/components).
#### Using APIs vs Client Libraries
If the app has a well-supported [Node.js client
-library](/workflows/contributing/components/api/#using-npm-packages), feel free to use that instead of
+library](/components/contributing/api/#using-npm-packages), feel free to use that instead of
manually constructing API requests.
### `package.json`
@@ -321,7 +321,7 @@ logic should:
#### Capturing Sensitive Data
If users are required to enter sensitive data, always use
-[secret](/workflows/contributing/components/api/#general) props.
+[secret](/components/contributing/api/#general) props.
### Promoting Reusability
@@ -336,7 +336,7 @@ out](https://pipedream.com/community/c/dev/11).
##### Prop Definitions
Whenever possible, reuse existing [prop
-definitions](/workflows/contributing/components/api/#prop-definitions-example).
+definitions](/components/contributing/api/#prop-definitions-example).
If a prop definition does not exist and you are adding an app-specific prop that
may be reused in future components, add it as a prop definition to the app file.
@@ -344,7 +344,7 @@ Prop definitions will also be surfaced for apps the Pipedream marketplace.
##### Methods
-Whenever possible, reuse [methods](/workflows/contributing/components/api/#methods) defined in the app
+Whenever possible, reuse [methods](/components/contributing/api/#methods) defined in the app
file. If you need to use an API for which a method is not defined and it may be
used in future components, define a new method in the app file.
@@ -436,7 +436,7 @@ simply as possible.
### Labels
-Use [prop](/workflows/contributing/components/api/#user-input-props) labels to customize the name of a
+Use [prop](/components/contributing/api/#user-input-props) labels to customize the name of a
prop or propDefinition (independent of the variable name in the code). The label
should mirror the name users of an app are familiar with; i.e., it should mirror
the equivalent label in the app’s UI. This applies to usage in labels,
@@ -445,7 +445,7 @@ but its label is set to “Search Term”.
### Descriptions
-Include a description for [props](/workflows/contributing/components/api/#user-input-props) if it helps
+Include a description for [props](/components/contributing/api/#user-input-props) if it helps
the user understand what they need to do. Use Markdown as appropriate to improve
the clarity of the description or instructions. When using Markdown:
@@ -474,7 +474,7 @@ Examples:
### Optional vs Required Props
-Use optional [props](/workflows/contributing/components/api/#user-input-props) whenever possible to
+Use optional [props](/components/contributing/api/#user-input-props) whenever possible to
minimize the input fields required to use a component.
For example, the Twitter search mentions source only requires that a user
@@ -486,7 +486,7 @@ activate the source:
### Default Values
-Provide [default values](/workflows/contributing/components/api/#user-input-props) whenever possible.
+Provide [default values](/components/contributing/api/#user-input-props) whenever possible.
NOTE: the best default for a source doesn’t always map to the default
recommended by the app. For example, Twitter defaults search results to an
algorithm that balances recency and popularity. However, the best default for
@@ -495,7 +495,7 @@ the use case on Pipedream is recency.
### Async Options
Avoid asking users to enter ID values. Use [async
-options](/workflows/contributing/components/api/#async-options-example) (with label/value definitions)
+options](/components/contributing/api/#async-options-example) (with label/value definitions)
so users can make selections from a drop down menu. For example, Todoist
identifies projects by numeric IDs (e.g., 12345). The async option to select a
project displays the name of the project as the label, so that’s the value the
@@ -503,7 +503,7 @@ user sees when interacting with the source (e.g., “My Project”). The code
referencing the selection receives the numeric ID (12345).
Async options should also support
-[pagination](/workflows/contributing/components/api/#async-options-example) (so users can navigate
+[pagination](/components/contributing/api/#async-options-example) (so users can navigate
across multiple pages of options for long lists). See
[Hubspot](https://github.com/PipedreamHQ/pipedream/blob/a9b45d8be3b84504dc22bb2748d925f0d5c1541f/components/hubspot/hubspot.app.mjs#L136)
for an example of offset-based pagination. See
@@ -512,7 +512,7 @@ for an example of cursor-based pagination.
### Dynamic Props
-[Dynamic props](/workflows/contributing/components/api/#dynamic-props) can improve the user experience
+[Dynamic props](/components/contributing/api/#dynamic-props) can improve the user experience
for components. They let you render props in Pipedream dynamically, based on the
value of other props, and can be used to collect more specific information that
can make it easier to use the component. See the Google Sheets example in the
@@ -521,8 +521,8 @@ linked component API docs.
### Interface & Service Props
In the interest of consistency, use the following naming patterns when defining
-[interface](/workflows/contributing/components/api/#interface-props) and
-[service](/workflows/contributing/components/api/#service-props) props in source components:
+[interface](/components/contributing/api/#interface-props) and
+[service](/components/contributing/api/#service-props) props in source components:
| Prop | **Recommended Prop Variable Name** |
| ------------------- | ---------------------------------- |
@@ -567,7 +567,7 @@ search criteria”.
### Emit a Summary
-Always [emit a summary](/workflows/contributing/components/api/#emit) for each event. For example, the
+Always [emit a summary](/components/contributing/api/#emit) for each event. For example, the
summary for each new Tweet emitted by the Search Mentions source is the content
of the Tweet itself.
@@ -576,7 +576,7 @@ format as the summary.
### Deduping
-Use built-in [deduping strategies](/workflows/contributing/components/api/#dedupe-strategies) whenever
+Use built-in [deduping strategies](/components/contributing/api/#dedupe-strategies) whenever
possible (`unique`, `greatest`, `last`) vs developing custom deduping code.
Develop custom deduping code if the existing strategies do not support the
requirements for a source.
@@ -673,9 +673,9 @@ of just letting the error bubble up).
#### Hooks
-[Hooks](/workflows/contributing/components/api/#hooks) are methods that are automatically invoked by
+[Hooks](/components/contributing/api/#hooks) are methods that are automatically invoked by
Pipedream at different stages of the [component
-lifecycle](/workflows/contributing/components/api/#source-lifecycle). Webhook subscriptions are
+lifecycle](/components/contributing/api/#source-lifecycle). Webhook subscriptions are
typically created when components are instantiated or activated via the
`activate()` hook, and deleted when components are deactivated or deleted via
the `deactivate()` hook.
@@ -683,7 +683,7 @@ the `deactivate()` hook.
#### Helper Methods
Whenever possible, create methods in the app file to manage [creating and
-deleting webhook subscriptions](/workflows/contributing/components/api/#hooks).
+deleting webhook subscriptions](/components/contributing/api/#hooks).
| **Description** | **Method Name** |
| --------------------------------------- | --------------- |
@@ -765,7 +765,7 @@ number of records to return.
### Use `$.summary` to Summarize What Happened
-[Describe what happened](/workflows/contributing/components/api/#returning-data-from-steps) when an
+[Describe what happened](/components/contributing/api/#returning-data-from-steps) when an
action succeeds by following these guidelines:
- Use plain language and provide helpful and contextually relevant information
diff --git a/docs-v2/pages/workflows/contributing/index.mdx b/docs-v2/pages/components/contributing/index.mdx
similarity index 90%
rename from docs-v2/pages/workflows/contributing/index.mdx
rename to docs-v2/pages/components/contributing/index.mdx
index ab01aa0c1aeb2..9e7186241471e 100644
--- a/docs-v2/pages/workflows/contributing/index.mdx
+++ b/docs-v2/pages/components/contributing/index.mdx
@@ -3,7 +3,7 @@ import { FileTree } from 'nextra/components'
# Pipedream Registry
-When developing workflows with pre-built actions and triggers, under the hood you're using [components](/workflows/contributing/components/) from the [Pipedream Registry Github Repository](https://github.com/PipedreamHQ/pipedream).
+When developing workflows with pre-built actions and triggers, under the hood you're using [components](/components/contributing/) from the [Pipedream Registry Github Repository](https://github.com/PipedreamHQ/pipedream).
Components contributed to the [Pipedream Registry Github Repository](https://github.com/PipedreamHQ/pipedream) are published to the [Pipedream marketplace](https://pipedream.com/apps) and are listed in
the Pipedream UI when building workflows.
@@ -11,8 +11,8 @@ the Pipedream UI when building workflows.
What is a component?
-If you haven't yet, we recommend starting with our Component Development Quickstart Guides for [sources](/workflows/contributing/components/quickstart/nodejs/sources/)
-and [actions](/workflows/contributing/components/actions-quickstart/) to learn how to build components and privately publish them to your account.
+If you haven't yet, we recommend starting with our Component Development Quickstart Guides for [sources](/components/contributing/quickstart/nodejs/sources/)
+and [actions](/components/contributing/actions-quickstart/) to learn how to build components and privately publish them to your account.
## Registry Components Structure
@@ -54,14 +54,14 @@ Once the Pipedream team integrates the app, we'll create a directory for the app
## Contribution Process
-Anyone from the community can build [sources](/workflows/building-workflows/triggers/) and [actions](/workflows/contributing/components/#actions) for integrated apps.
+Anyone from the community can build [sources](/workflows/building-workflows/triggers/) and [actions](/components/contributing/#actions) for integrated apps.
To submit new components or update existing components:
1. Fork the public [Pipedream Registry Github Repository](https://github.com/PipedreamHQ/pipedream).
2. Create a new component within the corresponding app's directory within the `components` directory (if applicable).
3. [Create a PR for the Pipedream team to review](https://github.com/PipedreamHQ/pipedream/compare).
-4. Address any feedback provided by Pipedream based on the best practice [Component Guidelines & Patterns](/workflows/contributing/components/guidelines/).
+4. Address any feedback provided by Pipedream based on the best practice [Component Guidelines & Patterns](/components/contributing/guidelines/).
5. Once the review is complete and approved, Pipedream will merge the PR to the `master` branch
6. The component will be available for use within workflows for all Pipedream developers! 🎉
diff --git a/docs-v2/pages/workflows/contributing/components/sources-quickstart.mdx b/docs-v2/pages/components/contributing/sources-quickstart.mdx
similarity index 99%
rename from docs-v2/pages/workflows/contributing/components/sources-quickstart.mdx
rename to docs-v2/pages/components/contributing/sources-quickstart.mdx
index 29b50b8c12611..c9aa3548fb47c 100644
--- a/docs-v2/pages/workflows/contributing/components/sources-quickstart.mdx
+++ b/docs-v2/pages/components/contributing/sources-quickstart.mdx
@@ -679,6 +679,6 @@ Save and reload your source in the Pipedream UI. You should now see a countdown
## What's Next?
-You're ready to start authoring and deploying components on Pipedream! You can also check out the [detailed component reference](/workflows/contributing/components/api/) at any time!
+You're ready to start authoring and deploying components on Pipedream! You can also check out the [detailed component reference](/components/contributing/api/) at any time!
If you have any questions or feedback, please join our [public Slack](https://pipedream.com/support).
diff --git a/docs-v2/pages/workflows/contributing/components/typescript.mdx b/docs-v2/pages/components/contributing/typescript.mdx
similarity index 94%
rename from docs-v2/pages/workflows/contributing/components/typescript.mdx
rename to docs-v2/pages/components/contributing/typescript.mdx
index d2cf6fa10d317..ca3d317c8fbea 100644
--- a/docs-v2/pages/workflows/contributing/components/typescript.mdx
+++ b/docs-v2/pages/components/contributing/typescript.mdx
@@ -21,7 +21,7 @@ If you haven't written TypeScript, start with [this tutorial](https://www.typesc
## Quickstart
-If you've never developed Pipedream components before, [start here](/workflows/contributing/components/).
+If you've never developed Pipedream components before, [start here](/components/contributing/).
### Developing TypeScript components in the `PipedreamHQ/pipedream` registry
@@ -88,7 +88,7 @@ See [the RSS sources and actions](https://github.com/PipedreamHQ/pipedream/tree/
We welcome PRs in [the `PipedreamHQ/pipedream` repo](https://github.com/PipedreamHQ/pipedream), where we store all sources and actions, the `@pipedream/types` package, these docs, and other Pipedream code. Here are a few known issues durin the **beta**:
-- `this` is strictly-typed within `methods`, `run`, `hooks`, and everywhere you have access to `this` in [the component API](/workflows/contributing/components/api/). But this typing can be improved. For example, we don't yet map props to their appropriate TypeScript type (everything is typed with `any`).
+- `this` is strictly-typed within `methods`, `run`, `hooks`, and everywhere you have access to `this` in [the component API](/components/contributing/api/). But this typing can be improved. For example, we don't yet map props to their appropriate TypeScript type (everything is typed with `any`).
- The compile -> publish lifecycle hasn't been fully-automated when you're developing in the `pipedream` repo. Currently, you have to run `npm run build` from the repo root, then use the `pd` CLI to publish components after compilation. It would be nice to run `tsc-watch` and have that compile and publish the new version of the component using the `--onSuccess` flag, publishing any sources or actions accordingly.
- We should add a linter (like `dtslint`) to all TypeScript components). Currently, `dtslint` is configured only for the `@pipedream/types` package.
diff --git a/docs-v2/pages/workflows/contributing/components/index.mdx b/docs-v2/pages/components/index.mdx
similarity index 87%
rename from docs-v2/pages/workflows/contributing/components/index.mdx
rename to docs-v2/pages/components/index.mdx
index 123f403f316ef..603111efe202d 100644
--- a/docs-v2/pages/workflows/contributing/components/index.mdx
+++ b/docs-v2/pages/components/index.mdx
@@ -5,12 +5,12 @@ import VideoPlayer from '@/components/VideoPlayer'
## What are Components?
-Components are [Node.js modules](api/#component-structure) that run on Pipedream's serverless infrastructure. They can use Pipedream managed auth for [{process.env.PUBLIC_APPS}+ apps](https://pipedream.com/explore) (for both OAuth and key-based APIs) and [use most npm packages](api/#using-npm-packages) with no `npm install` or `package.json` required.
+Components are [Node.js modules](/components/contributing/api/#component-structure) that run on Pipedream's serverless infrastructure. They can use Pipedream managed auth for [{process.env.PUBLIC_APPS}+ apps](https://pipedream.com/explore) (for both OAuth and key-based APIs) and [use most npm packages](/components/contributing/api/#using-npm-packages) with no `npm install` or `package.json` required.
Components are most commonly used as the building blocks of Pipedream workflows, but they can also be used like typical serverless functions. You can explore curated components for popular apps in Pipedream's [Marketplace](https://pipedream.com/explore) and [GitHub repo](https://github.com/PipedreamHQ/pipedream/tree/master/components) or you can author and share your own.
-Our TypeScript component API is in **beta**. If you're interested in developing TypeScript components and providing feedback, [see our TypeScript docs](/workflows/contributing/components/typescript/).
+Our TypeScript component API is in **beta**. If you're interested in developing TypeScript components and providing feedback, [see our TypeScript docs](/components/contributing/typescript/).
## Component Types
@@ -24,10 +24,10 @@ Pipedream supports two types of components — [sources](#sources) and [actions]
**Capabilities**
- Accept user input on deploy via `props`
-- [Trigger](api/#interface-props) on HTTP requests, timers, cron schedules, or manually
+- [Trigger](/components/contributing/api/#interface-props) on HTTP requests, timers, cron schedules, or manually
- Emit events that can be inspected, trigger Pipedream [workflows](/workflows/building-workflows/) and that can be consumed in your own app via [API](/rest-api/)
-- Store and retrieve state using the [built-in key-value store](api/#db)
-- Use any of Pipedream's built-in [deduping strategies](api/#dedupe-strategies)
+- Store and retrieve state using the [built-in key-value store](/components/contributing/api/#db)
+- Use any of Pipedream's built-in [deduping strategies](/components/contributing/api/#dedupe-strategies)
- Deploy via Pipedream's UI, CLI or API
**Example**
@@ -94,12 +94,12 @@ Finally, the target app must be integrated with Pipedream. You can explore all a
### Quickstart Guides
-- [Sources](/workflows/contributing/components/sources-quickstart/)
-- [Actions](/workflows/contributing/components/actions-quickstart/)
+- [Sources](/components/contributing/sources-quickstart/)
+- [Actions](/components/contributing/actions-quickstart/)
### Component API Reference
-After getting familiar with source/action development using the quickstart guides, check out [the Component API Reference](/workflows/contributing/components/api/) and [examples on GitHub](https://github.com/PipedreamHQ/pipedream/tree/master/components) to learn more.
+After getting familiar with source/action development using the quickstart guides, check out [the Component API Reference](/components/contributing/api/) and [examples on GitHub](https://github.com/PipedreamHQ/pipedream/tree/master/components) to learn more.
## Managing Privately Published Components
@@ -127,7 +127,7 @@ Contribute to the Pipedream community by publishing and sharing new components,
### Verified Components
-Pipedream maintains a source-available registry of components (sources and actions) that have been curated for the community. Registered components are verified by Pipedream through the [GitHub PR process](/workflows/contributing/#contribution-process) and:
+Pipedream maintains a source-available registry of components (sources and actions) that have been curated for the community. Registered components are verified by Pipedream through the [GitHub PR process](/components/contributing/#contribution-process) and:
- Can be trusted by end users
- Follow consistent patterns for usability
diff --git a/docs-v2/pages/connect/api.mdx b/docs-v2/pages/connect/api.mdx
index 2c046d72008da..84251db49dfa2 100644
--- a/docs-v2/pages/connect/api.mdx
+++ b/docs-v2/pages/connect/api.mdx
@@ -7,7 +7,7 @@ Pipedream provides a TypeScript SDK and a REST API to interact with the Connect
## REST API base URL
-Pipedream Connect resources are scoped to [projects](/workflows/projects/), so you'll need to pass [the project's ID](/workflows/projects/#finding-your-projects-id) as a part of the base URL:
+Pipedream Connect resources are scoped to [projects](/projects/), so you'll need to pass [the project's ID](/projects/#finding-your-projects-id) as a part of the base URL:
```
https://api.pipedream.com/v1/connect/{project_id}
@@ -250,7 +250,7 @@ POST /{project_id}/tokens
`project_id` **string**
-[The project's ID](/workflows/projects/#finding-your-projects-id)
+[The project's ID](/projects/#finding-your-projects-id)
##### Body parameters
@@ -395,7 +395,7 @@ GET /{project_id}/accounts/
`project_id` **string**
-[The project's ID](/workflows/projects/#finding-your-projects-id)
+[The project's ID](/projects/#finding-your-projects-id)
##### Query parameters
@@ -662,7 +662,7 @@ GET /{project_id}/accounts/{account_id}
`project_id` **string**
-[The project's ID](/workflows/projects/#finding-your-projects-id)
+[The project's ID](/projects/#finding-your-projects-id)
---
@@ -835,7 +835,7 @@ DELETE /{project_id}/accounts/{account_id}
`project_id` **string**
-[The project's ID](/workflows/projects/#finding-your-projects-id)
+[The project's ID](/projects/#finding-your-projects-id)
---
@@ -922,7 +922,7 @@ DELETE /{project_id}/apps/{app_id}/accounts
`project_id` **string**
-[The project's ID](/workflows/projects/#finding-your-projects-id)
+[The project's ID](/projects/#finding-your-projects-id)
---
@@ -1011,7 +1011,7 @@ DELETE /{project_id}/users/{external_user_id}
`project_id` **string**
-[The project's ID](/workflows/projects/#finding-your-projects-id)
+[The project's ID](/projects/#finding-your-projects-id)
---
@@ -1121,7 +1121,7 @@ apps](/rest-api/#list-apps) endpoint, and the name slug under the
`q` **string** (_optional_)
A search query to filter the components by key (see the [component structure
-table](/workflows/contributing/components/api/#component-structure)).
+table](/components/contributing/api/#component-structure)).
##### Examples
@@ -1258,7 +1258,7 @@ Either `triggers`, `actions`, or `components`.
`component_key` **string**
The key that identifies the component (see the [component structure
-table](/workflows/contributing/components/api/#component-structure)).
+table](/components/contributing/api/#component-structure)).
##### Examples
@@ -1415,7 +1415,7 @@ want to retrieve accounts for.
`id` **string**
The key that identifies the component (see the [component structure
-table](/workflows/contributing/components/api/#component-structure)).
+table](/components/contributing/api/#component-structure)).
---
@@ -1630,7 +1630,7 @@ want to retrieve accounts for.
`id` **string**
The key that identifies the component (see the [component structure
-table](/workflows/contributing/components/api/#component-structure)).
+table](/components/contributing/api/#component-structure)).
---
@@ -1833,7 +1833,7 @@ POST /actions/run
`id` **string**
The key that identifies the action component (see the [component structure
-table](/workflows/contributing/components/api/#component-structure)).
+table](/components/contributing/api/#component-structure)).
---
@@ -2026,7 +2026,7 @@ POST /triggers/deploy
`id` **string**
The key that identifies the action component (see the [component structure
-table](/workflows/contributing/components/api/#component-structure)).
+table](/components/contributing/api/#component-structure)).
---
diff --git a/docs-v2/pages/connect/components.mdx b/docs-v2/pages/connect/components.mdx
index 1d9c4433be5fa..e58d3f661b844 100644
--- a/docs-v2/pages/connect/components.mdx
+++ b/docs-v2/pages/connect/components.mdx
@@ -3,13 +3,13 @@ import Callout from '@/components/Callout'
# Pre-built tools for your app or agent
-Pipedream Connect provides APIs to embed pre-built tools ([triggers and actions](/workflows/contributing/components/)) directly in your application
+Pipedream Connect provides APIs to embed pre-built tools ([triggers and actions](/components/contributing/)) directly in your application
or AI agent, enabling access to 10,000+ built-in API operations. Enable [your end users](/connect/api/#external-users) to
configure, deploy, and invoke Pipedream triggers and actions for more than {process.env.PUBLIC_APPS} APIs.
## What are triggers and actions?
-In Pipedream, we call triggers and actions [components](/workflows/contributing/components/), which are self-contained executable units of code. Your end users configure the inputs and these components produce a
+In Pipedream, we call triggers and actions [components](/components/contributing/), which are self-contained executable units of code. Your end users configure the inputs and these components produce a
result that's exported as output. These components are developed and maintained by Pipedream
and our community and their source code is available in our [public Github repo](https://github.com/PipedreamHQ/pipedream/tree/master/components).
@@ -221,7 +221,7 @@ Here's the response:
To configure and run a component for your end users, you need to understand
the component's definition. Now that you have the component's key from the previous step,
you can retrieve its structure from the Pipedream API. See the [component
-structure](/workflows/contributing/components/api/#component-structure) section in our docs for more
+structure](/components/contributing/api/#component-structure) section in our docs for more
details.
As an example, the following API call will return the structure of the **List
@@ -249,7 +249,7 @@ curl -X https://api.pipedream.com/v1/connect/{project_id}/components/gitlab-list
The response will contain the component's structure, including its user-friendly name,
version, and most importantly, the configuration options the component accepts
-(also known as [props](/workflows/contributing/components/api/#props) or "properties").
+(also known as [props](/components/contributing/api/#props) or "properties").
Here's an example of the response for the component in the example above:
```json
@@ -454,7 +454,7 @@ For example, to retrieve the configuration options for the `refName` prop:
The set of props that a component can accept might not be static, and may change
depending on the values of prior props. Props that behave this way are called
-[dynamic props](/workflows/contributing/components/api/#dynamic-props), and they need to be configured
+[dynamic props](/components/contributing/api/#dynamic-props), and they need to be configured
in a different way. Props that are dynamic will have a `reloadProps` attribute
set to `true` in the component's definition.
@@ -555,8 +555,8 @@ To illustrate, the response for the request above would look like this:
### Execution
Once all the props have been configured, the component can be invoked. Pipedream
-supports two types of components: [actions](/workflows/contributing/components/api/#actions) and
-[sources](/workflows/contributing/components/api/#sources) (aka triggers).
+supports two types of components: [actions](/components/contributing/api/#actions) and
+[sources](/components/contributing/api/#sources) (aka triggers).
Actions are components that perform a task by taking an input either during
[configuration](#configure-the-component) and/or during invocation (usually both), and
diff --git a/docs-v2/pages/connect/index.mdx b/docs-v2/pages/connect/index.mdx
index 333bf03535c75..57abd8c4a6b66 100644
--- a/docs-v2/pages/connect/index.mdx
+++ b/docs-v2/pages/connect/index.mdx
@@ -64,5 +64,5 @@ All credentials and tokens are sent to Pipedream securely over HTTPS, and encryp
- **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).
- **Developer**: This is probably you, the Pipedream customer who's developing an app and wants to use Connect to make API requests on behalf of your end users.
- **End User**: Your customer or user, whose data you want to access on their behalf. End users are identifed via the `external_user_id` param in the Connect SDK and API.
-- **Connected Account**: The account your end user connects. [Read more about connected accounts](/integrations/connected-accounts).
+- **Connected Account**: The account your end user connects. [Read more about connected accounts](/apps/connected-accounts).
- **OAuth Client**: This is admittedly a bit of an overloaded term and refers both to [custom OAuth clients](/connect/managed-auth/oauth-clients/) you create in Pipedream to use when your end users authorize access to their account, as well as [OAuth clients to authenticate to Pipedream's API](/rest-api/auth/#oauth).
diff --git a/docs-v2/pages/connect/managed-auth/oauth-clients.mdx b/docs-v2/pages/connect/managed-auth/oauth-clients.mdx
index 14a9c18e76625..22029c799c676 100644
--- a/docs-v2/pages/connect/managed-auth/oauth-clients.mdx
+++ b/docs-v2/pages/connect/managed-auth/oauth-clients.mdx
@@ -3,7 +3,7 @@ import Callout from '@/components/Callout'
# OAuth Clients
-When connecting an account for any OAuth app via Pipedream Connect, we'll default to using Pipedream's official OAuth client, which enables you to quickly get up and running. [Read more about OAuth clients in Pipedream here](/integrations/connected-accounts/oauth-clients).
+When connecting an account for any OAuth app via Pipedream Connect, we'll default to using Pipedream's official OAuth client, which enables you to quickly get up and running. [Read more about OAuth clients in Pipedream here](/apps/connected-accounts/oauth-clients).
## Using Pipedream OAuth
@@ -29,7 +29,7 @@ For any OAuth app that supports it, **you can always use your own client.** Your
## Using a custom OAuth client
-1. Follow the steps [here](/integrations/oauth-clients#configuring-custom-oauth-clients) to create an OAuth client in Pipedream.
+1. Follow the steps [here](/apps/oauth-clients#configuring-custom-oauth-clients) to create an OAuth client in Pipedream.
2. When connecting an account either via the [frontend SDK](/connect/managed-auth/quickstart/#use-the-pipedream-sdk-in-your-frontend), make sure to include the `oauthAppId` in `pd.connectAccount()`.
3. If using [Connect Link](/connect/managed-auth/quickstart/#or-use-connect-link), make sure to include the `oauthAppId` in the URL.
diff --git a/docs-v2/pages/connect/mcp.mdx b/docs-v2/pages/connect/mcp.mdx
index 90616481cedbd..d9c7eae4441fc 100644
--- a/docs-v2/pages/connect/mcp.mdx
+++ b/docs-v2/pages/connect/mcp.mdx
@@ -83,7 +83,7 @@ Deploy Pipedream's MCP servers to your application or agent and make authenticat
To run your own MCP server, you'll need:
1. A [Pipedream account](https://pipedream.com/auth/signup)
-2. A [Pipedream project](/workflows/projects/#creating-projects). Accounts connected via MCP will be stored here.
+2. A [Pipedream project](/projects/#creating-projects). Accounts connected via MCP will be stored here.
3. [Pipedream OAuth credentials](/connect/managed-auth/oauth-clients/)
#### Set up environment variables
diff --git a/docs-v2/pages/connect/workflows.mdx b/docs-v2/pages/connect/workflows.mdx
index 3023a5f9853c2..e064f28b55ff0 100644
--- a/docs-v2/pages/connect/workflows.mdx
+++ b/docs-v2/pages/connect/workflows.mdx
@@ -112,7 +112,7 @@ npm i @pipedream/sdk
To invoke workflows, you'll need:
1. The OAuth client ID and secret from your OAuth client in **step 2 above** (if configured)
-2. Your [Project ID](/workflows/projects/#finding-your-projects-id)
+2. Your [Project ID](/projects/#finding-your-projects-id)
3. Your workflow's HTTP endpoint URL
4. The [external user ID](/connect/api/#external-users) of the user you'd like to run the workflow for
5. The [Connect environment](/connect/environments/) tied to the user's account
@@ -268,7 +268,7 @@ The most common way to trigger workflows is via HTTP webhook. We strongly recomm
To get started, you'll need:
- [OAuth client ID and secret](/rest-api/auth#creating-an-oauth-client) (optional but recommended)
-- Your [project ID](/workflows/projects/#finding-your-projects-id)
+- Your [project ID](/projects/#finding-your-projects-id)
- Your workflow's HTTP endpoint URL
- The [external user ID](/connect/api/#external-users) of your end user
- The [Connect environment](/connect/environments/)
diff --git a/docs-v2/pages/deprecated/migrate-from-v1/index.mdx b/docs-v2/pages/deprecated/migrate-from-v1/index.mdx
index 67320a96de2e4..539bc50551368 100644
--- a/docs-v2/pages/deprecated/migrate-from-v1/index.mdx
+++ b/docs-v2/pages/deprecated/migrate-from-v1/index.mdx
@@ -20,7 +20,7 @@ _Get Started_
- Read our [quickstart](/quickstart/), [docs](/), and/or [FAQ](#faq)
- Have questions? Ask here or on [Discourse](https://pipedream.com/community)
-- As a reminder, all integration components are source-available and [hosted on GitHub](https://github.com/PipedreamHQ/pipedream). You can [contribute your own components](/workflows/contributing/) or improve existing ones.
+- As a reminder, all integration components are source-available and [hosted on GitHub](https://github.com/PipedreamHQ/pipedream). You can [contribute your own components](/components/contributing/) or improve existing ones.
Watch a demo:
@@ -77,7 +77,7 @@ After deploying your changes, your workflow is now live, and any changes you mad
## Node.js Code Step Changes
-There are a few changes to the Node.js code steps that you should know about. Some functions have been renamed for more clarity, and we've aligned the Node.js code steps closer to the [Component API](/workflows/contributing/components/).
+There are a few changes to the Node.js code steps that you should know about. Some functions have been renamed for more clarity, and we've aligned the Node.js code steps closer to the [Component API](/components/contributing/).
### Code Scaffolding Format
@@ -104,7 +104,7 @@ defineComponent({
You can think of the `$` as the entry point to built in Pipedream functions. In v1, this special functions included `$end`, `$respond`, etc. In v2, these have been remapped to `$.flow.exit` and `$.respond` respectively.
-These changes unify workflow development to the [Component API](/workflows/contributing/components/api/) used by pre-built actions and also allows the [defining of props](#params-vs-props) from within your code steps.
+These changes unify workflow development to the [Component API](/components/contributing/api/) used by pre-built actions and also allows the [defining of props](#params-vs-props) from within your code steps.
### Using 3rd party packages
@@ -183,7 +183,7 @@ defineComponent({
### Params vs Props
-In the v1 builder, you could pass input to steps using `params`. In the v2 builder, you pass input using [props](/workflows/contributing/components/api/#component-api).
+In the v1 builder, you could pass input to steps using `params`. In the v2 builder, you pass input using [props](/components/contributing/api/#component-api).
You can still enter free text and select data from other steps in pre-built actions. Also can add your own custom props that accept input like strings, numbers and more just like in v1.
@@ -215,7 +215,7 @@ Additionally, Pipedream renders a visual component in the step **Configuration**
### Connecting apps
-In the v2 builder, you can connect apps with your code using [props](/workflows/contributing/components/api/#props).
+In the v2 builder, you can connect apps with your code using [props](/components/contributing/api/#props).
Above the `run` function, define an app prop that your Node.js step integrates with:
diff --git a/docs-v2/pages/deprecated/nodejs20-faq-2024-02/index.mdx b/docs-v2/pages/deprecated/nodejs20-faq-2024-02/index.mdx
index e6097925a2f03..d17d579921228 100644
--- a/docs-v2/pages/deprecated/nodejs20-faq-2024-02/index.mdx
+++ b/docs-v2/pages/deprecated/nodejs20-faq-2024-02/index.mdx
@@ -53,7 +53,7 @@ Below are instructions for updating a workflow that connects to a [**MySQL**](#m
- Option B: Use the [MySQL (SSL)](https://pipedream.com/apps/mysql-ssl) app
1. Replace your MySQL action with the corresponding MySQL (SSL) action.
- 2. [Connect](/integrations/connected-accounts/#connecting-accounts) your MySQL (SSL) account, specifying the `key`, `cert`, `ca`, and `rejectUnauthorized` connection options.
+ 2. [Connect](/apps/connected-accounts/#connecting-accounts) your MySQL (SSL) account, specifying the `key`, `cert`, `ca`, and `rejectUnauthorized` connection options.
**Using a custom code step**:
@@ -177,7 +177,7 @@ Below are instructions for updating a workflow that connects to a [**MySQL**](#m
- Option C: Include your region's certificate bundle
1. Download the [certificate bundle for your AWS region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.RegionCertificates).
- 2. Import the certificate bundle into your workflow using [the file store](/workflows/projects/file-stores).
+ 2. Import the certificate bundle into your workflow using [the file store](/projects/file-stores).
3. Include the CA certificates in the database connection options.
Here's an example code step that uses the `pg` npm package:
@@ -217,7 +217,7 @@ Below are instructions for updating a workflow that connects to a [**MySQL**](#m
**Using a Pipedream action**:
-1. [Reconnect](/integrations/connected-accounts/#reconnecting-an-account) your Microsoft SQL Server account, setting the **trustServerCertificate** field to `true`.
+1. [Reconnect](/apps/connected-accounts/#reconnecting-an-account) your Microsoft SQL Server account, setting the **trustServerCertificate** field to `true`.
**Using a custom code step**:
@@ -276,7 +276,7 @@ Below are instructions for updating a workflow that connects to a [**MySQL**](#m
- Option C: Include your region's certificate bundle
1. Download the [certificate bundle for your AWS region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.RegionCertificates).
- 2. Import the certificate bundle into your workflow using [the file store](/workflows/projects/file-stores).
+ 2. Import the certificate bundle into your workflow using [the file store](/projects/file-stores).
3. Include the certificates in the database connection options.
Here's an example code step that uses the `mssql` npm package:
diff --git a/docs-v2/pages/glossary.mdx b/docs-v2/pages/glossary.mdx
index d25f57abaed92..0b311ecb5f028 100644
--- a/docs-v2/pages/glossary.mdx
+++ b/docs-v2/pages/glossary.mdx
@@ -76,7 +76,7 @@ Short for [Git commit](https://git-scm.com/book/en/v2/Git-Basics-Recording-Chang
### Component
-Components are Node.js modules that run on Pipedream's serverless infrastructure. [Sources](#source) and [actions](#action) are two types of components. See [the component API](/workflows/contributing/components/api/) for more details.
+Components are Node.js modules that run on Pipedream's serverless infrastructure. [Sources](#source) and [actions](#action) are two types of components. See [the component API](/components/contributing/api/) for more details.
### Component API
@@ -96,11 +96,11 @@ The public registry of [components](#component) available to Pipedream users, [a
### Connected account
-A specific account or credentials used to connect to a Pipedream [integration](#integrations). If both you and your team member have an account with OpenAI, for example, you would connect each account as a distinct connected account. [See the docs](/integrations/connected-accounts) for more details.
+A specific account or credentials used to connect to a Pipedream [integration](#integrations). If both you and your team member have an account with OpenAI, for example, you would connect each account as a distinct connected account. [See the docs](/apps/connected-accounts) for more details.
### Connected account access control
-You can restrict access to connected accounts to specific individuals or share with the entire workspace. [See the docs](/integrations/connected-accounts#access-control) for more details.
+You can restrict access to connected accounts to specific individuals or share with the entire workspace. [See the docs](/apps/connected-accounts#access-control) for more details.
### Credit
@@ -126,7 +126,7 @@ A workflow setting that allows you to configure how long Pipedream stores event
### Deduper
-[Event sources](#event-source) can receive duplicate requests tied to the same event. Pipedream's infrastructure supports [deduplication](/workflows/contributing/components/api/#dedupe-strategies) to ensure that only unique events are emitted by a source.
+[Event sources](#event-source) can receive duplicate requests tied to the same event. Pipedream's infrastructure supports [deduplication](/components/contributing/api/#dedupe-strategies) to ensure that only unique events are emitted by a source.
### Delay
@@ -226,13 +226,13 @@ In programming, expressions are code that resolve to a value. In Pipedream, [you
### External credentials
-[Connected accounts](#connected-account) are accounts that users link directly in Pipedream. External credentials are credentials that users store in their own database or service, and reference in Pipedream at runtime. [See the docs](/integrations/connected-accounts/external-auth) for more details.
+[Connected accounts](#connected-account) are accounts that users link directly in Pipedream. External credentials are credentials that users store in their own database or service, and reference in Pipedream at runtime. [See the docs](/apps/connected-accounts/external-auth) for more details.
## F
### File store
-[File stores](/workflows/projects/file-stores) are filesystems scoped to projects. Any files stored in the file store are available to all workflows in the project.
+[File stores](/projects/file-stores) are filesystems scoped to projects. Any files stored in the file store are available to all workflows in the project.
### Filter
@@ -268,7 +268,7 @@ Pipedream's internal code in the [execution environment](#execution-environment)
### Hooks
-[Hooks](/workflows/contributing/components/api/#hooks) are functions executed as a part of the [event source](#event-source) lifecycle. They can be used to perform setup tasks before the source is deployed, or teardown tasks after the source is destroyed.
+[Hooks](/components/contributing/api/#hooks) are functions executed as a part of the [event source](#event-source) lifecycle. They can be used to perform setup tasks before the source is deployed, or teardown tasks after the source is destroyed.
### HTTP endpoint
@@ -332,15 +332,15 @@ A [connected account](#connected-account) that uses OAuth to authenticate with a
### Premium apps
-Pipedream's built-in [integrations](#integrations) that require a paid plan to use. [See the pricing page](https://pipedream.com/pricing) for more details and the [full list of premium apps](/integrations/apps#premium-apps).
+Pipedream's built-in [integrations](#integrations) that require a paid plan to use. [See the pricing page](https://pipedream.com/pricing) for more details and the [full list of premium apps](/apps/apps#premium-apps).
### Project
-A container for workflows, secrets, and other resources in Pipedream. Projects can be synced with a GitHub repository using [GitHub Sync](#github-sync). [See the docs](/workflows/projects/) for more details.
+A container for workflows, secrets, and other resources in Pipedream. Projects can be synced with a GitHub repository using [GitHub Sync](#github-sync). [See the docs](/projects/) for more details.
### Project-based access control
-You can restrict access to projects to specific individuals or share with the entire workspace. [See the docs](/workflows/projects/access-controls) for more details.
+You can restrict access to projects to specific individuals or share with the entire workspace. [See the docs](/projects/access-controls) for more details.
### Project changelog
@@ -394,7 +394,7 @@ A [workflow trigger](#trigger) that runs on a schedule. This trigger exposes a c
### Single sign-on (SSO)
-Users can [configure SSO](/workflows/workspaces/sso/) to authenticate with Pipedream using their identity provider.
+Users can [configure SSO](/workspaces/sso/) to authenticate with Pipedream using their identity provider.
### Source
@@ -462,7 +462,7 @@ You create a workspace when you sign up for Pipedream. Workspaces contain projec
### Workspace admin
-A workspace can have multiple [admins](/workflows/workspaces/#promoting-a-member-to-admin), who can administer the workspace, manage billing, and more.
+A workspace can have multiple [admins](/workspaces/#promoting-a-member-to-admin), who can administer the workspace, manage billing, and more.
### Workspace member
diff --git a/docs-v2/pages/index.mdx b/docs-v2/pages/index.mdx
index 120cf2925b0a1..e0c5601ecff35 100644
--- a/docs-v2/pages/index.mdx
+++ b/docs-v2/pages/index.mdx
@@ -9,7 +9,7 @@ The Pipedream platform includes:
- A [serverless runtime](/workflows/building-workflows/code/) and [workflow service](/workflows/building-workflows/)
- SDK to handle [customer authentication](/connect/) for {process.env.PUBLIC_APPS}+ APIs
- Source-available pre-built [triggers](/workflows/building-workflows/triggers/) and [actions](/workflows/building-workflows/actions/) for [thousands of integrated apps](https://pipedream.com/explore/)
-- One-click [OAuth and key-based authentication](/integrations/connected-accounts/) for more than {process.env.PUBLIC_APPS} APIs (use tokens directly in code or with pre-built actions)
+- One-click [OAuth and key-based authentication](/apps/connected-accounts/) for more than {process.env.PUBLIC_APPS} APIs (use tokens directly in code or with pre-built actions)
Github Sync limitation
diff --git a/docs-v2/pages/workflows/projects/secrets.mdx b/docs-v2/pages/projects/secrets.mdx
similarity index 91%
rename from docs-v2/pages/workflows/projects/secrets.mdx
rename to docs-v2/pages/projects/secrets.mdx
index 9df7b0b11f2bd..533a631a56f32 100644
--- a/docs-v2/pages/workflows/projects/secrets.mdx
+++ b/docs-v2/pages/projects/secrets.mdx
@@ -2,7 +2,7 @@ import Callout from "@/components/Callout";
# Project variables and secrets
-Environment variables defined at the global workspace level are accessible to all workspace members and workflows within the workspace. To restrict access to sensitive variables or secrets, define them at the project-level and [configure access controls for the project](/workflows/projects/access-controls#managing-access).
+Environment variables defined at the global workspace level are accessible to all workspace members and workflows within the workspace. To restrict access to sensitive variables or secrets, define them at the project-level and [configure access controls for the project](/projects/access-controls#managing-access).
[See here](/workflows/environment-variables/) for info on creating, managing, and using environment variables and secrets.
diff --git a/docs-v2/pages/rest-api/index.mdx b/docs-v2/pages/rest-api/index.mdx
index 6bf81659e7240..b026841931d2f 100644
--- a/docs-v2/pages/rest-api/index.mdx
+++ b/docs-v2/pages/rest-api/index.mdx
@@ -75,12 +75,12 @@ including all fields). Pass as a string of comma-separated values:
The `org_id` parameter is only required when using [User API keys](/rest-api/auth/#user-api-keys). When authenticating with OAuth tokens, the API will automatically use the workspace associated with the token.
-When using [User API keys](/rest-api/auth/#user-api-keys), some endpoints require you to specify [your workspace ID](/workflows/workspaces/#finding-your-workspaces-id) you want the operation to take effect in:
+When using [User API keys](/rest-api/auth/#user-api-keys), some endpoints require you to specify [your workspace ID](/workspaces/#finding-your-workspaces-id) you want the operation to take effect in:
- When _fetching_ specific resources (for example, when you [retrieve events for a specific source](#get-source-events)), **you should not need to pass `org_id`**. If your user is a part of the workspace, and you have access to that resource, and the API will return the details of the resource.
- When _creating_ new resources, you'll need to specify the `org_id` in which you want to create the resource.
-[Find your workspace / org ID here](/workflows/workspaces/#finding-your-workspaces-id).
+[Find your workspace / org ID here](/workspaces/#finding-your-workspaces-id).
## Pagination
@@ -167,7 +167,7 @@ failure of an API request:
These docs discuss connected accounts **for Pipedream users**. To retrieve accounts for your end users via Connect, refer to the [Connect API docs](/connect/api/#accounts).
-[Connected accounts](/integrations/connected-accounts/) let you manage credentials for integrated APIs.
+[Connected accounts](/apps/connected-accounts/) let you manage credentials for integrated APIs.
### List accounts
@@ -241,7 +241,7 @@ GET /accounts/{account_id}
To retrieve your account ID:
-1. [Connect your account](/integrations/connected-accounts/#connecting-a-new-account)
+1. [Connect your account](/apps/connected-accounts/#connecting-a-new-account)
2. On [https://pipedream.com/accounts](https://pipedream.com/accounts), find your account and click the `...` to the right of the account,
3. **Copy Account ID**
@@ -483,7 +483,7 @@ POST /components
`component_code` **string** (_optional_)
-The full code for a [Pipedream component](/workflows/contributing/components/api/).
+The full code for a [Pipedream component](/components/contributing/api/).
---
@@ -962,7 +962,7 @@ endpoints](/rest-api/#components) for information on how to retrieve this ID.
`component_code` **string** (_optional_)
-The full code for a [Pipedream component](/workflows/contributing/components/api/).
+The full code for a [Pipedream component](/components/contributing/api/).
---
@@ -986,7 +986,7 @@ as metadata to identify the location of the code.
The name of the source.
If absent, this defaults to using the [name
-slug](/workflows/contributing/components/api/#component-structure)
+slug](/components/contributing/api/#component-structure)
of the component used to create the source.
#### Example Request
@@ -1044,7 +1044,7 @@ endpoints](/rest-api/#components) for information on how to retrieve this ID.
`component_code` **string** (_optional_)
The full code for a [Pipedream
-component](/workflows/contributing/components/api/).
+component](/components/contributing/api/).
---
@@ -1067,7 +1067,7 @@ as metadata to identify the location of the code.
The name of the source.
-If absent, this defaults to using the [name slug](/workflows/contributing/components/api/#component-structure)
+If absent, this defaults to using the [name slug](/components/contributing/api/#component-structure)
of the component used to create the source.
---
@@ -1134,7 +1134,7 @@ in your workflow's URL - it's the string `p_2gCPml` in
event_name=
```
-See [the `this.$emit` docs](/workflows/contributing/components/api/#emit) for more information on how to emit events on custom channels.
+See [the `this.$emit` docs](/components/contributing/api/#emit) for more information on how to emit events on custom channels.
Pipedream also exposes channels for logs and errors:
@@ -1528,7 +1528,7 @@ POST /workflows
`org_id` **string**
-[Switch to your workspace's context](/workflows/workspaces/#switching-between-workspaces) and [find your org's ID](/workflows/workspaces/#finding-your-workspaces-id).
+[Switch to your workspace's context](/workspaces/#switching-between-workspaces) and [find your org's ID](/workspaces/#finding-your-workspaces-id).
---
@@ -1538,7 +1538,7 @@ The ID of the project where the new workflow will be created. To find your proje
Click on the project where you'd like to create the new workflow, and the project ID can be found in the URL, starting with `proj_`.
-If the URL is [https://pipedream.com/@pd-testing/workflows/projects/proj_GzsRY5N/tree](https://pipedream.com/@pd-testing/workflows/projects/proj_GzsRY5N/tree), your `project_id` is `proj_GzsRY5N`.
+If the URL is [https://pipedream.com/@pd-testing/projects/proj_GzsRY5N/tree](https://pipedream.com/@pd-testing/projects/proj_GzsRY5N/tree), your `project_id` is `proj_GzsRY5N`.
---
@@ -1807,7 +1807,7 @@ If the URL is [https://pipedream.com/@michael-testing/api-p_13CDnxK/inspect](htt
The activation status of a workflow. Set to `true` to activate the workflow, or `false` to deactivate it.
`org_id` **string**
-[Find your org's ID](/workflows/workspaces/#finding-your-workspaces-id).
+[Find your org's ID](/workspaces/#finding-your-workspaces-id).
#### Example Request
@@ -2033,7 +2033,7 @@ curl 'https://api.pipedream.com/v1/workflows/p_abc123/$errors/event_summaries?ex
## Workspaces
-[Workspaces](/workflows/workspaces/) provide your team a way to manage resources in a shared workspace. Any resources created by the workspace are owned by the workspace and accessible to its members.
+[Workspaces](/workspaces/) provide your team a way to manage resources in a shared workspace. Any resources created by the workspace are owned by the workspace and accessible to its members.
### Get a Workspace
@@ -2042,14 +2042,14 @@ Programmatically view your workspace's current credit usage for the billing peri
#### Endpoint
```
-GET /v1/workflows/workspaces/
+GET /v1/workspaces/
```
#### Path Parameters
`workspaces_id` **string**
-[Switch to your workspace's context](/workflows/workspaces/#switching-between-workspaces) and [find your org's ID](/workflows/workspaces/#finding-your-workspaces-id).
+[Switch to your workspace's context](/workspaces/#switching-between-workspaces) and [find your org's ID](/workspaces/#finding-your-workspaces-id).
#### Example Response
@@ -2073,14 +2073,14 @@ Retrieve all the connected accounts for a specific workspace.
#### Endpoint
```
-GET /workflows/workspaces//accounts
+GET /workspaces//accounts
```
#### Path Parameters
`org_id` **string**
-[Switch to your workspace's context](/workflows/workspaces/#switching-between-workspaces) and [find your org's ID](/workflows/workspaces/#finding-your-workspaces-id).
+[Switch to your workspace's context](/workspaces/#switching-between-workspaces) and [find your org's ID](/workspaces/#finding-your-workspaces-id).
#### Query Parameters
@@ -2091,7 +2091,7 @@ To look up the connected account information for a specific app, use the `query`
#### Example Request
```shell
-curl 'https://api.pipedream.com/v1/workflows/workspaces/o_abc123/accounts?query=google_sheets' \
+curl 'https://api.pipedream.com/v1/workspaces/o_abc123/accounts?query=google_sheets' \
-H 'Authorization: Bearer '
```
@@ -2121,19 +2121,19 @@ Retrieve all the [subscriptions](#subscriptions) configured for a specific works
#### Endpoint
```
-GET /workflows/workspaces//subscriptions
+GET /workspaces//subscriptions
```
#### Path Parameters
`workspaces_id` **string**
-[Switch to your workspace's context](/workflows/workspaces/#switching-between-workspaces) and [find your org's ID](/workflows/workspaces/#finding-your-workspaces-id).
+[Switch to your workspace's context](/workspaces/#switching-between-workspaces) and [find your org's ID](/workspaces/#finding-your-workspaces-id).
#### Example Request
```shell
-curl 'https://api.pipedream.com/v1/workflows/workspaces/o_abc123/subscriptions' \
+curl 'https://api.pipedream.com/v1/workspaces/o_abc123/subscriptions' \
-H 'Authorization: Bearer '
```
@@ -2172,7 +2172,7 @@ GET /orgs//sources
`org_id` **string**
-[Switch to your workspace's context](/workflows/workspaces/#switching-between-workspaces) and [find your org's ID](/workflows/workspaces/#finding-your-workspaces-id).
+[Switch to your workspace's context](/workspaces/#switching-between-workspaces) and [find your org's ID](/workspaces/#finding-your-workspaces-id).
#### Example Request
diff --git a/docs-v2/pages/troubleshooting.mdx b/docs-v2/pages/troubleshooting.mdx
index 894ff6317f201..8f819d86559fc 100644
--- a/docs-v2/pages/troubleshooting.mdx
+++ b/docs-v2/pages/troubleshooting.mdx
@@ -249,7 +249,7 @@ Some Pipedream components use NPM packages
Some Pipedream components like pre-built [actions and triggers for Slack use NPM packages](https://github.com/PipedreamHQ/pipedream/blob/9aea8653dc65d438d968971df72e95b17f52d51c/components/slack/slack.app.mjs#L1).
-In order to downgrade these packages, you'll need to fork the Pipedream Github Repository and deploy your own changes to test them privately. Then you can [contribute the fix back into the main Pipedream Repository](/workflows/contributing/#contribution-process).
+In order to downgrade these packages, you'll need to fork the Pipedream Github Repository and deploy your own changes to test them privately. Then you can [contribute the fix back into the main Pipedream Repository](/components/contributing/#contribution-process).
### Packages consuming all available storage
@@ -298,7 +298,7 @@ Here are a few things that can help your workflow execute faster:
## How can I save common functions as steps?
-You can create your own custom triggers and actions ("components") on Pipedream using [the Component API](/workflows/contributing/components/api/). These components are private to your account and can be used in any workflow.
+You can create your own custom triggers and actions ("components") on Pipedream using [the Component API](/components/contributing/api/). These components are private to your account and can be used in any workflow.
You can also publish common functions in your own package on a public registry like [npm](https://www.npmjs.com/) or [PyPI](https://pypi.org/).
diff --git a/docs-v2/pages/workflows/_meta.tsx b/docs-v2/pages/workflows/_meta.tsx
index 9d2c035d944cf..8d36d4b84e22d 100644
--- a/docs-v2/pages/workflows/_meta.tsx
+++ b/docs-v2/pages/workflows/_meta.tsx
@@ -1,8 +1,6 @@
export default {
"index": "Overview",
"building-workflows": "Building Workflows",
- "projects": "Projects",
- "workspaces": "Workspaces",
"data-management": "Data Management",
"event-history": "Event History",
"environment-variables": "Environment Variables",
@@ -10,6 +8,5 @@ export default {
"domains": "Custom Domains",
"vpc": "Virtual Private Clouds",
"limits": "Limits",
- "contributing": "Contributing",
"cli": "CLI",
} as const
diff --git a/docs-v2/pages/workflows/building-workflows/actions.mdx b/docs-v2/pages/workflows/building-workflows/actions.mdx
index 4d17dbfee5d17..bf28ffc496aa7 100644
--- a/docs-v2/pages/workflows/building-workflows/actions.mdx
+++ b/docs-v2/pages/workflows/building-workflows/actions.mdx
@@ -30,9 +30,9 @@ In your code steps with out of date actions, you'll see a button appear that wil
You can author your own actions on Pipedream, too. Anytime you need to reuse the same code across steps, consider making that an action.
-Start with our [action development quickstart](/workflows/contributing/components/actions-quickstart/). You can read more about all the capabilities of actions in [our API docs](/workflows/contributing/components/api/), and review [example actions here](/workflows/contributing/components/api/#example-components).
+Start with our [action development quickstart](/components/contributing/actions-quickstart/). You can read more about all the capabilities of actions in [our API docs](/components/contributing/api/), and review [example actions here](/components/contributing/api/#example-components).
-You can also publish actions to [the Pipedream registry](/workflows/contributing/), which makes them available for anyone on Pipedream to use.
+You can also publish actions to [the Pipedream registry](/components/contributing/), which makes them available for anyone on Pipedream to use.
## Reporting a bug / feature request
diff --git a/docs-v2/pages/workflows/building-workflows/code/index.mdx b/docs-v2/pages/workflows/building-workflows/code/index.mdx
index c0a130f1e8150..88afeb081b713 100644
--- a/docs-v2/pages/workflows/building-workflows/code/index.mdx
+++ b/docs-v2/pages/workflows/building-workflows/code/index.mdx
@@ -6,7 +6,7 @@ import VideoPlayer from "@/components/VideoPlayer";
-Pipedream comes with thousands of prebuilt [triggers](/workflows/building-workflows/triggers/) and [actions](/workflows/contributing/components/#actions) for [hundreds of apps](https://pipedream.com/apps). Often, these will be sufficient for building simple workflows.
+Pipedream comes with thousands of prebuilt [triggers](/workflows/building-workflows/triggers/) and [actions](/components/contributing/#actions) for [hundreds of apps](https://pipedream.com/apps). Often, these will be sufficient for building simple workflows.
But sometimes you need to run your own custom logic. You may need to make an API request to fetch additional metadata about the event, transform data into a custom format, or end the execution of a workflow early under some conditions. **Code steps let you do this and more**.
diff --git a/docs-v2/pages/workflows/building-workflows/code/nodejs/ai-code-generation.mdx b/docs-v2/pages/workflows/building-workflows/code/nodejs/ai-code-generation.mdx
index a6716d123c291..a0c07526fb80b 100644
--- a/docs-v2/pages/workflows/building-workflows/code/nodejs/ai-code-generation.mdx
+++ b/docs-v2/pages/workflows/building-workflows/code/nodejs/ai-code-generation.mdx
@@ -41,7 +41,7 @@ You can also edit existing code with AI. Click the **Edit with AI** button at th
## Getting the best results
-**Generating code works best with clear, precise, and detailed instructions of what you want to do in your step.** The code gen service understands the [Pipedream component API](/workflows/contributing/components/api/) and references the API docs of [integrated apps](https://pipedream.com/apps). For example, you can tell it to include specific [props](/workflows/contributing/components/api/#props) (input) or [async options](/workflows/contributing/components/api/#async-options-example), and reference specific API endpoints you want to use for the selected app.
+**Generating code works best with clear, precise, and detailed instructions of what you want to do in your step.** The code gen service understands the [Pipedream component API](/components/contributing/api/) and references the API docs of [integrated apps](https://pipedream.com/apps). For example, you can tell it to include specific [props](/components/contributing/api/#props) (input) or [async options](/components/contributing/api/#async-options-example), and reference specific API endpoints you want to use for the selected app.
### Examples
diff --git a/docs-v2/pages/workflows/building-workflows/code/nodejs/auth.mdx b/docs-v2/pages/workflows/building-workflows/code/nodejs/auth.mdx
index 87524102b9e88..de7f3741df03f 100644
--- a/docs-v2/pages/workflows/building-workflows/code/nodejs/auth.mdx
+++ b/docs-v2/pages/workflows/building-workflows/code/nodejs/auth.mdx
@@ -4,7 +4,7 @@ import VideoPlayer from '@/components/VideoPlayer';
-When you use [prebuilt actions](/workflows/contributing/components/#actions) tied to apps, you don't need to write the code to authorize API requests. Just [connect your account](/integrations/connected-accounts/#connecting-accounts) for that app and run your workflow.
+When you use [prebuilt actions](/components/contributing/#actions) tied to apps, you don't need to write the code to authorize API requests. Just [connect your account](/apps/connected-accounts/#connecting-accounts) for that app and run your workflow.
But sometimes you'll need to [write your own code](/workflows/building-workflows/code/nodejs/). You can also connect apps to custom code steps, using the auth information to authorize requests to that app.
@@ -115,7 +115,7 @@ This code operates as a template you can extend, and comes preconfigured with th
### Manually connecting apps to steps
-See the Connected Accounts docs for [connecting an account to a code step](/integrations/connected-accounts/#from-a-code-step).
+See the Connected Accounts docs for [connecting an account to a code step](/apps/connected-accounts/#from-a-code-step).
## Custom auth tokens / secrets
diff --git a/docs-v2/pages/workflows/building-workflows/code/nodejs/browser-automation.mdx b/docs-v2/pages/workflows/building-workflows/code/nodejs/browser-automation.mdx
index 931bcccc343d9..1252d15df9550 100644
--- a/docs-v2/pages/workflows/building-workflows/code/nodejs/browser-automation.mdx
+++ b/docs-v2/pages/workflows/building-workflows/code/nodejs/browser-automation.mdx
@@ -515,7 +515,7 @@ export default defineComponent({
### Can I use this package in sources or actions?
-Yes, the same `@pipedream/browsers` package can be used in [actions](/workflows/contributing/components/actions-quickstart/) as well as [sources](/workflows/contributing/components/sources-quickstart/).
+Yes, the same `@pipedream/browsers` package can be used in [actions](/components/contributing/actions-quickstart/) as well as [sources](/components/contributing/sources-quickstart/).
The steps are the same as usage in Node.js code. Open a browser, create a page, and close the browser at the end of the code step.
diff --git a/docs-v2/pages/workflows/building-workflows/code/nodejs/index.mdx b/docs-v2/pages/workflows/building-workflows/code/nodejs/index.mdx
index f633f65e9700c..1c7163e23ae37 100644
--- a/docs-v2/pages/workflows/building-workflows/code/nodejs/index.mdx
+++ b/docs-v2/pages/workflows/building-workflows/code/nodejs/index.mdx
@@ -150,7 +150,7 @@ The workflow builder now can accept text input to populate the `firstName` to th
Accepting a single string is just one example, you can build a step to accept arrays of strings through a dropdown presented in the workflow builder.
-[Read the props reference for the full list of options](/workflows/contributing/components/api/#props).
+[Read the props reference for the full list of options](/components/contributing/api/#props).
## How Pipedream Node.js components work
@@ -166,10 +166,10 @@ export default defineComponent({
});
```
-This defines [a Node.js component](/workflows/contributing/components/api/). Components let you:
+This defines [a Node.js component](/components/contributing/api/). Components let you:
- Pass input to steps using [props](/workflows/building-workflows/code/nodejs/#passing-props-to-code-steps)
-- [Connect an account to a step](/integrations/connected-accounts/#from-a-code-step)
+- [Connect an account to a step](/apps/connected-accounts/#from-a-code-step)
- [Issue HTTP responses](/workflows/building-workflows/triggers/#http-responses)
- Perform workflow-level flow control, like [ending a workflow early](#ending-a-workflow-early)
@@ -177,9 +177,9 @@ When the step runs, Pipedream executes the `run` method:
- Any asynchronous code within a code step [**must** be run synchronously](/workflows/building-workflows/code/nodejs/async/), using the `await` keyword or with a Promise chain, using `.then()`, `.catch()`, and related methods.
- Pipedream passes the `steps` variable to the run method. `steps` is also an object, and contains the [data exported from previous steps](/workflows/#step-exports) in your workflow.
-- You also have access to the `$` variable, which gives you access to methods like `$.respond`, `$.export`, [and more](/workflows/contributing/components/api/#actions).
+- You also have access to the `$` variable, which gives you access to methods like `$.respond`, `$.export`, [and more](/components/contributing/api/#actions).
-If you're using [props](/workflows/building-workflows/code/nodejs/#passing-props-to-code-steps) or [connect an account to a step](/integrations/connected-accounts/#from-a-code-step), the component exposes them in the variable `this`, which refers to the current step:
+If you're using [props](/workflows/building-workflows/code/nodejs/#passing-props-to-code-steps) or [connect an account to a step](/apps/connected-accounts/#from-a-code-step), the component exposes them in the variable `this`, which refers to the current step:
```javascript
export default defineComponent({
@@ -190,7 +190,7 @@ export default defineComponent({
});
```
-When you [connect an account to a step](/integrations/connected-accounts/#from-a-code-step), Pipedream exposes the auth info in the variable [`this.appName.$auth`](/workflows/building-workflows/code/nodejs/auth/#accessing-connected-account-data-with-thisappnameauth).
+When you [connect an account to a step](/apps/connected-accounts/#from-a-code-step), Pipedream exposes the auth info in the variable [`this.appName.$auth`](/workflows/building-workflows/code/nodejs/auth/#accessing-connected-account-data-with-thisappnameauth).
## Logs
diff --git a/docs-v2/pages/workflows/building-workflows/code/nodejs/sharing-code.mdx b/docs-v2/pages/workflows/building-workflows/code/nodejs/sharing-code.mdx
index 7219c2cb7e709..80435f614f883 100644
--- a/docs-v2/pages/workflows/building-workflows/code/nodejs/sharing-code.mdx
+++ b/docs-v2/pages/workflows/building-workflows/code/nodejs/sharing-code.mdx
@@ -3,13 +3,13 @@ import VideoPlayer from '@/components/VideoPlayer'
# Sharing code across workflows
-[Actions](/workflows/contributing/components/#actions) are reusable steps. When you author an action, you can add it to your workflow like you would other actions, by clicking the **+** button below any step.
+[Actions](/components/contributing/#actions) are reusable steps. When you author an action, you can add it to your workflow like you would other actions, by clicking the **+** button below any step.
Pipedream provides two ways to share code across workflows:
- **Publish an action from a Node.js code step**. [Publish any Node.js code step as a reusable action](/workflows/building-workflows/code/nodejs/sharing-code/#publish-an-action-from-a-nodejs-code-step) from the Pipedream dashboard.
-- **Create an action from code**. Develop your action code on your local filesystem and [publish to your Pipedream account using the Pipedream CLI](/workflows/contributing/components/actions-quickstart/).
+- **Create an action from code**. Develop your action code on your local filesystem and [publish to your Pipedream account using the Pipedream CLI](/components/contributing/actions-quickstart/).
## Publish an action from a Node.js code step
@@ -143,6 +143,6 @@ Publishing reusable actions from Node.js code steps allows you to quickly scaffo
However, there are some differences.
-1. Node.js code step actions cannot make use of [app files to further reduce redundancy](/workflows/contributing/components/guidelines/#promoting-reusability).
-2. Node.js code step actions cannot be published to the [Pipedream Component Registry](/workflows/contributing/).
-3. Node.js code step actions have a slightly different structure than [action components](/workflows/contributing/components/api/#component-api).
+1. Node.js code step actions cannot make use of [app files to further reduce redundancy](/components/contributing/guidelines/#promoting-reusability).
+2. Node.js code step actions cannot be published to the [Pipedream Component Registry](/components/contributing/).
+3. Node.js code step actions have a slightly different structure than [action components](/components/contributing/api/#component-api).
diff --git a/docs-v2/pages/workflows/building-workflows/code/python/auth.mdx b/docs-v2/pages/workflows/building-workflows/code/python/auth.mdx
index 56fa21dc8bf02..c06187f578b7b 100644
--- a/docs-v2/pages/workflows/building-workflows/code/python/auth.mdx
+++ b/docs-v2/pages/workflows/building-workflows/code/python/auth.mdx
@@ -1,6 +1,6 @@
# Connecting apps in Python
-When you use [prebuilt actions](/workflows/contributing/components/#actions) tied to apps, you don't need to write the code to authorize API requests. Just [connect your account](/integrations/connected-accounts/#connecting-accounts) for that app and run your workflow.
+When you use [prebuilt actions](/components/contributing/#actions) tied to apps, you don't need to write the code to authorize API requests. Just [connect your account](/apps/connected-accounts/#connecting-accounts) for that app and run your workflow.
But sometimes you'll need to [write your own code](/workflows/building-workflows/code/python/). You can also connect apps to custom code steps, using the auth information to authorize requests to that app.
diff --git a/docs-v2/pages/workflows/building-workflows/http.mdx b/docs-v2/pages/workflows/building-workflows/http.mdx
index 33b0dc19bc008..ed0a0bbc8df6f 100644
--- a/docs-v2/pages/workflows/building-workflows/http.mdx
+++ b/docs-v2/pages/workflows/building-workflows/http.mdx
@@ -23,7 +23,7 @@ Now with a few clicks and some text you've integrated Slack into a Pipedream wor
Pre-built actions are open source
-All pre-built actions are published from the [Pipedream Component Registry](/workflows/contributing/), so you can read and modify their source code. You can even publish your own from [Node.js code steps privately to your own workspace](/workflows/building-workflows/code/nodejs/sharing-code/).
+All pre-built actions are published from the [Pipedream Component Registry](/components/contributing/), so you can read and modify their source code. You can even publish your own from [Node.js code steps privately to your own workspace](/workflows/building-workflows/code/nodejs/sharing-code/).
## HTTP Request Action
@@ -214,7 +214,7 @@ To use `@pipedream/platform` axios in component actions, import it:
import { axios } from "@pipedream/platform"
```
-`@pipedream/platform` axios uses methods [provided by the `$` object](/workflows/contributing/components/api/#actions), so you'll need to pass that as the first argument to `axios` when making HTTP requests, and pass the [standard `axios` request config](https://github.com/axios/axios#request-config) as the second argument.
+`@pipedream/platform` axios uses methods [provided by the `$` object](/components/contributing/api/#actions), so you'll need to pass that as the first argument to `axios` when making HTTP requests, and pass the [standard `axios` request config](https://github.com/axios/axios#request-config) as the second argument.
Here's an example action:
diff --git a/docs-v2/pages/workflows/building-workflows/sources.mdx b/docs-v2/pages/workflows/building-workflows/sources.mdx
index a1091cb02d506..386ba32f7a406 100644
--- a/docs-v2/pages/workflows/building-workflows/sources.mdx
+++ b/docs-v2/pages/workflows/building-workflows/sources.mdx
@@ -143,7 +143,7 @@ Generating test data manually can result in typos or missing fields that your wo
## Publishing a new event source, or modifying an existing source
-Anyone can create an event source or edit an existing one. The code for all event sources is public, and kept in the [`PipedreamHQ/pipedream` repo](https://github.com/PipedreamHQ/pipedream). [Read this quickstart](/workflows/contributing/components/sources-quickstart/) and see the [event source API docs](/workflows/contributing/components/api/) to learn more about the source development process.
+Anyone can create an event source or edit an existing one. The code for all event sources is public, and kept in the [`PipedreamHQ/pipedream` repo](https://github.com/PipedreamHQ/pipedream). [Read this quickstart](/components/contributing/sources-quickstart/) and see the [event source API docs](/components/contributing/api/) to learn more about the source development process.
You can chat about source development with the Pipedream team in the `#contribute` channel of our [public Slack](https://join.slack.com/t/pipedream-users/shared_invite/zt-ernlymsn-UHfPg~Dfp08uGkAd8dpkww), and in the `#dev` topic in the [Pipedream community](https://pipedream.com/community/c/dev/11).
diff --git a/docs-v2/pages/workflows/building-workflows/triggers.mdx b/docs-v2/pages/workflows/building-workflows/triggers.mdx
index 14a46de018e89..1144ad30ce44f 100644
--- a/docs-v2/pages/workflows/building-workflows/triggers.mdx
+++ b/docs-v2/pages/workflows/building-workflows/triggers.mdx
@@ -87,7 +87,7 @@ Pipedream also supports [custom domains](/workflows/domains/). This lets you hos
### Accessing HTTP request data
-You can access properties of the HTTP request, like the method, payload, headers, and more, in [the `event` object](/workflows/building-workflows/triggers/#event-format), accessible in any [code](/workflows/building-workflows/code/) or [action](/workflows/contributing/components/#actions) step.
+You can access properties of the HTTP request, like the method, payload, headers, and more, in [the `event` object](/workflows/building-workflows/triggers/#event-format), accessible in any [code](/workflows/building-workflows/code/) or [action](/components/contributing/#actions) step.
### Valid Requests
@@ -592,7 +592,7 @@ Clicking on a specific job shows the execution details for that job — all the
### Trigger a notification to an external service (email, Slack, etc.)
-You can send yourself a notification — for example, an email or a Slack message — at any point in a workflow by using the relevant [Action](/workflows/contributing/components/#actions) or [Destination](/workflows/data-management/destinations/).
+You can send yourself a notification — for example, an email or a Slack message — at any point in a workflow by using the relevant [Action](/components/contributing/#actions) or [Destination](/workflows/data-management/destinations/).
If you'd like to email yourself when a job finishes successfully, you can use the [Email Destination](/workflows/data-management/destinations/email/). You can send yourself a Slack message using the Slack Action, or trigger an [HTTP request](/workflows/data-management/destinations/http/) to an external service.
@@ -606,7 +606,7 @@ Any time a scheduled job runs, you'll see a new execution appear in the [Inspect
Code steps show [logs](/workflows/building-workflows/code/nodejs/#logs) below the step itself. Any time you run `console.log()` or other functions that print output, you should see the logs appear directly below the step where the code ran.
-[Actions](/workflows/contributing/components/#actions) and [Destinations](/workflows/data-management/destinations/) also show execution details relevant to the specific Action or Destination. For example, when you use the [HTTP Destination](/workflows/data-management/destinations/http/) to make an HTTP request, you'll see the HTTP request and response details tied to that Destination step:
+[Actions](/components/contributing/#actions) and [Destinations](/workflows/data-management/destinations/) also show execution details relevant to the specific Action or Destination. For example, when you use the [HTTP Destination](/workflows/data-management/destinations/http/) to make an HTTP request, you'll see the HTTP request and response details tied to that Destination step:
## Email
@@ -772,7 +772,7 @@ When you send an event to your workflow, Pipedream takes the trigger data — fo
**This data is exposed in the `steps.trigger.event` variable. You can reference this variable in any step of your workflow**.
-You can reference your event data in any [code](/workflows/building-workflows/code/) or [action](/workflows/contributing/components/#actions) step. See those docs or the general [docs on passing data between steps](/workflows/#steps) for more information.
+You can reference your event data in any [code](/workflows/building-workflows/code/) or [action](/components/contributing/#actions) step. See those docs or the general [docs on passing data between steps](/workflows/#steps) for more information.
The specific shape of `steps.trigger.event` depends on the trigger type:
@@ -813,7 +813,7 @@ You can use the data in `steps.trigger.context` to uniquely identify the Pipedre
| `deployment_id` | A globally-unique string representing the current version of the workflow |
| `emitter_id` | The ID of the workflow trigger that emitted this event, e.g. the [event source](/workflows/building-workflows/triggers/) ID. |
| `id` | A unique, Pipedream-provided identifier for the event that triggered this workflow |
-| `owner_id` | The Pipedream-assigned [workspace ID](/workflows/workspaces/#finding-your-workspaces-id) that owns the workflow |
+| `owner_id` | The Pipedream-assigned [workspace ID](/workspaces/#finding-your-workspaces-id) that owns the workflow |
| `platform_version` | The version of the Pipedream execution environment this event ran on |
| `replay` | A boolean, whether the event was replayed via the UI |
| `trace_id` | Holds the same value for all executions tied to an original event. [See below for more details](#how-do-i-retrieve-the-execution-id-for-a-workflow). |
diff --git a/docs-v2/pages/workflows/cli/reference.mdx b/docs-v2/pages/workflows/cli/reference.mdx
index fbf27e8000cc0..3b0a247ae7b40 100644
--- a/docs-v2/pages/workflows/cli/reference.mdx
+++ b/docs-v2/pages/workflows/cli/reference.mdx
@@ -59,7 +59,7 @@ or author a component locally and deploy that local file:
pd deploy http.js
```
-[Read more about authoring your own event sources](/workflows/contributing/components/quickstart/nodejs/sources/).
+[Read more about authoring your own event sources](/components/contributing/quickstart/nodejs/sources/).
### `pd describe`
@@ -121,7 +121,7 @@ Generate new app and component files from templates.
#### `pd init app`
-Creates a directory and [an app file](/workflows/contributing/components/guidelines/#app-files) from a template
+Creates a directory and [an app file](/components/contributing/guidelines/#app-files) from a template
```bash
# Creates google_calendar/ directory and google_calendar.mjs file
@@ -130,7 +130,7 @@ pd init app google_calendar
#### `pd init action`
-Creates a new directory and [a component action](/workflows/contributing/components/#actions) from a template.
+Creates a new directory and [a component action](/components/contributing/#actions) from a template.
```bash
# Creates add-new-event/ directory and add-new-event.mjs file
@@ -146,7 +146,7 @@ Creates a new directory and [an event source](/workflows/building-workflows/trig
pd init source cancelled-event
```
-You can attach [database](/workflows/contributing/components/api/#db), [HTTP](/workflows/contributing/components/api/#http), or [Timer](/workflows/contributing/components/api/#timer) props to your template using the following flags:
+You can attach [database](/components/contributing/api/#db), [HTTP](/components/contributing/api/#http), or [Timer](/components/contributing/api/#timer) props to your template using the following flags:
| Prop type | Flag |
| --------- | --------- |
@@ -302,9 +302,9 @@ You can also run `pd signup -p ` if you'd like to sign up for a new Pip
### Creating a profile for a workspace
-If you're working with resources in an [workspace](/workflows/workspaces/), you'll need to add an `org_id` to your profile.
+If you're working with resources in an [workspace](/workspaces/), you'll need to add an `org_id` to your profile.
-1. [Retrieve your workspaces's ID](/workflows/workspaces/#finding-your-workspaces-id)
+1. [Retrieve your workspaces's ID](/workspaces/#finding-your-workspaces-id)
2. Open up your [Pipedream config file](#cli-config-file) and create a new [profile](#profiles) with the following information:
```bash
diff --git a/docs-v2/pages/workflows/data-management/databases/index.mdx b/docs-v2/pages/workflows/data-management/databases/index.mdx
index e5c58704aea65..394034c4ace67 100644
--- a/docs-v2/pages/workflows/data-management/databases/index.mdx
+++ b/docs-v2/pages/workflows/data-management/databases/index.mdx
@@ -15,7 +15,7 @@ Pipedream workflows run in the AWS `us-east-1` network, sending requests from st
- Once configured, the VPC will give you a dedicated egress IP that's unique to your workspace, and is available to any workflow within your workspace.
### Send Requests from a Shared Static IP
-- When configuring your database connection as a [connected account](/integrations/connected-accounts) to Pipedream, you can choose to route network requests through a static IP block for [any app that's supported by Pipedream's SQL Proxy](#supported-databases)
+- When configuring your database connection as a [connected account](/apps/connected-accounts) to Pipedream, you can choose to route network requests through a static IP block for [any app that's supported by Pipedream's SQL Proxy](#supported-databases)
- Pipedream's SQL Proxy routes requests to your database from the IP block below.
#### Supported Databases
diff --git a/docs-v2/pages/workflows/data-management/destinations/email.mdx b/docs-v2/pages/workflows/data-management/destinations/email.mdx
index 4a14254b64123..4468c0713ec4b 100644
--- a/docs-v2/pages/workflows/data-management/destinations/email.mdx
+++ b/docs-v2/pages/workflows/data-management/destinations/email.mdx
@@ -37,7 +37,7 @@ Like with any `$.send` function, you can use `$.send.email()` conditionally, wit
### Using `$.send.email` in component actions
-If you're authoring a [component action](/workflows/contributing/components/#actions), you can deliver data to an email destination using `$.send.email`.
+If you're authoring a [component action](/components/contributing/#actions), you can deliver data to an email destination using `$.send.email`.
`$.send.email` functions the same as [`$.send.email` in workflow code steps](#using-sendemail-in-workflows):
diff --git a/docs-v2/pages/workflows/data-management/destinations/emit.mdx b/docs-v2/pages/workflows/data-management/destinations/emit.mdx
index 2a693efd57e72..ea9c55ae75e9a 100644
--- a/docs-v2/pages/workflows/data-management/destinations/emit.mdx
+++ b/docs-v2/pages/workflows/data-management/destinations/emit.mdx
@@ -47,7 +47,7 @@ export default defineComponent({
## Using `$.send.emit()` in component actions
-If you're authoring a [component action](/workflows/contributing/components/#actions), you can emit data using `$.send.emit()`.
+If you're authoring a [component action](/components/contributing/#actions), you can emit data using `$.send.emit()`.
`$.send.emit()` functions the same as [`$.send.emit()` in workflow code steps](#using-sendemit-in-workflows):
diff --git a/docs-v2/pages/workflows/data-management/destinations/http.mdx b/docs-v2/pages/workflows/data-management/destinations/http.mdx
index 591d238aa0dd4..c8e5fc4d78d7d 100644
--- a/docs-v2/pages/workflows/data-management/destinations/http.mdx
+++ b/docs-v2/pages/workflows/data-management/destinations/http.mdx
@@ -67,7 +67,7 @@ you won't have to `await` the execution of the HTTP requests in your workflow. W
## Using `$.send.http` in component actions
-If you're authoring a [component action](/workflows/contributing/components/#actions), you can deliver data to an HTTP destination using `$.send.http`.
+If you're authoring a [component action](/components/contributing/#actions), you can deliver data to an HTTP destination using `$.send.http`.
`$.send.http` functions the same as [`$.send.http` in workflow code steps](#using-sendhttp-in-workflows):
diff --git a/docs-v2/pages/workflows/data-management/destinations/index.mdx b/docs-v2/pages/workflows/data-management/destinations/index.mdx
index 2a6e95ea6814d..3d961a7bd3a92 100644
--- a/docs-v2/pages/workflows/data-management/destinations/index.mdx
+++ b/docs-v2/pages/workflows/data-management/destinations/index.mdx
@@ -1,6 +1,6 @@
# Destinations
-**Destinations**, like [actions](/workflows/contributing/components/#actions), abstract the delivery and connection logic required to send events to services like Amazon S3, or targets like HTTP and email.
+**Destinations**, like [actions](/components/contributing/#actions), abstract the delivery and connection logic required to send events to services like Amazon S3, or targets like HTTP and email.
However, Destinations are different than actions in two ways:
@@ -70,7 +70,7 @@ you won't have to `await` the execution of the HTTP requests in your workflow. W
### Using destinations in actions
-If you're authoring a [component action](/workflows/contributing/components/#actions), you can deliver data to destinations, too. `$.send` isn't directly available to actions like it is for workflow code steps. Instead, you use `$.send` to access the destination-specific functions:
+If you're authoring a [component action](/components/contributing/#actions), you can deliver data to destinations, too. `$.send` isn't directly available to actions like it is for workflow code steps. Instead, you use `$.send` to access the destination-specific functions:
```javascript
export default {
@@ -90,7 +90,7 @@ export default {
}
```
-[See the component action API docs](/workflows/contributing/components/api/#actions) for more details.
+[See the component action API docs](/components/contributing/api/#actions) for more details.
## Asynchronous Delivery
diff --git a/docs-v2/pages/workflows/data-management/destinations/s3.mdx b/docs-v2/pages/workflows/data-management/destinations/s3.mdx
index 93f27e0fcce2b..65f7369f5f343 100644
--- a/docs-v2/pages/workflows/data-management/destinations/s3.mdx
+++ b/docs-v2/pages/workflows/data-management/destinations/s3.mdx
@@ -22,7 +22,7 @@ Like with any `$.send` function, you can use `$.send.s3()` conditionally, within
## Using `$.send.s3` in component actions
-If you're authoring a [component action](/workflows/contributing/components/#actions), you can deliver data to an S3 destination using `$.send.s3`.
+If you're authoring a [component action](/components/contributing/#actions), you can deliver data to an S3 destination using `$.send.s3`.
`$.send.s3` functions the same as [`$.send.s3` in workflow code steps](#using-sends3-in-workflows):
diff --git a/docs-v2/pages/workflows/data-management/destinations/sse.mdx b/docs-v2/pages/workflows/data-management/destinations/sse.mdx
index affc3170c2daa..cbf92887bb19a 100644
--- a/docs-v2/pages/workflows/data-management/destinations/sse.mdx
+++ b/docs-v2/pages/workflows/data-management/destinations/sse.mdx
@@ -61,7 +61,7 @@ you won't have to `await` the execution of the SSE Destination requests in your
## Using `$.send.sse` in component actions
-If you're authoring a [component action](/workflows/contributing/components/#actions), you can send events to an SSE destination using `$.send.sse`.
+If you're authoring a [component action](/components/contributing/#actions), you can send events to an SSE destination using `$.send.sse`.
`$.send.sse` functions the same as [`$.send.sse` in workflow code steps](#sending-data-to-an-sse-destination-in-workflows):
diff --git a/docs-v2/pages/workflows/environment-variables.mdx b/docs-v2/pages/workflows/environment-variables.mdx
index 4271eed10e2cf..56e0cca3e136b 100644
--- a/docs-v2/pages/workflows/environment-variables.mdx
+++ b/docs-v2/pages/workflows/environment-variables.mdx
@@ -11,7 +11,7 @@ You can reference env vars and secrets in [workflow code](/workflows/building-wo
| Scope | Description |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Workspace** | All environment variables are available to all workflows within the workspace. All workspace members can manage workspace-wide variables [in the UI](https://pipedream.com/settings/env-vars). |
-| **Project** | Environment variables defined within a project are only accessible to the workflows within that project. Only workspace members who have [access to the project](/workflows/projects/access-controls) can manage project variables. |
+| **Project** | Environment variables defined within a project are only accessible to the workflows within that project. Only workspace members who have [access to the project](/projects/access-controls) can manage project variables. |
## Creating and updating environment variables
@@ -104,7 +104,7 @@ When referencing env vars directly in code within your Pipedream workflow, you c
## Referencing environment variables in actions
-[Actions](/workflows/contributing/components/#actions) are pre-built code steps that let you provide input in a form, selecting the correct params to send to the action.
+[Actions](/components/contributing/#actions) are pre-built code steps that let you provide input in a form, selecting the correct params to send to the action.
You can reference the value of environment variables using `{{process.env.YOUR_ENV_VAR}}`. You'll see a list of your environment variables in the object explorer when selecting a variable to pass to a step.
@@ -115,7 +115,7 @@ You can reference the value of environment variables using `{{process.env.YOUR_E
/>
- [Private components](/workflows/contributing/components/#using-components) (actions or triggers) do not have direct access to workspace or project variables as public components or code steps. Add a prop specifically for the variable you need. For sensitive data like API keys, [configure the prop as a secret](/workflows/contributing/components/api/#props). In your prop configuration, set the value to `{{process.env.YOUR_ENV_VAR}}` to securely reference the environment variable.
+ [Private components](/components/contributing/#using-components) (actions or triggers) do not have direct access to workspace or project variables as public components or code steps. Add a prop specifically for the variable you need. For sensitive data like API keys, [configure the prop as a secret](/components/contributing/api/#props). In your prop configuration, set the value to `{{process.env.YOUR_ENV_VAR}}` to securely reference the environment variable.
## FAQ
diff --git a/docs-v2/pages/workflows/event-history.mdx b/docs-v2/pages/workflows/event-history.mdx
index 308c3b8b6e237..e94728358d447 100644
--- a/docs-v2/pages/workflows/event-history.mdx
+++ b/docs-v2/pages/workflows/event-history.mdx
@@ -9,7 +9,7 @@ Monitor all workflow events and their stack traces in one centralized view under
Within the **Event History**, you'll be able to filter your events by workflow, execution status, within a specific time range.
-Workspace admins are able to view events for all workflows, but members are required to select a workflow since they might not have [access to certain projects](/workflows/projects/access-controls/#permissions).
+Workspace admins are able to view events for all workflows, but members are required to select a workflow since they might not have [access to certain projects](/projects/access-controls/#permissions).
## Filtering Events
@@ -19,7 +19,7 @@ The filters at the top of the screen allow you to search all events processed by
You can filter by the event's **Status**, **time of initiation** or by the **Workflow name**.
-The filters are scoped to the current [workspace](/workflows/workspaces/). If you're not seeing the events or workflow you're expecting, try [switching workspaces](/workflows/workspaces/#switching-between-workspaces).
+The filters are scoped to the current [workspace](/workspaces/). If you're not seeing the events or workflow you're expecting, try [switching workspaces](/workspaces/#switching-between-workspaces).
### Filtering by status
diff --git a/docs-v2/pages/workflows/git.mdx b/docs-v2/pages/workflows/git.mdx
index 0ece3087c74ec..eb4c7730d04ac 100644
--- a/docs-v2/pages/workflows/git.mdx
+++ b/docs-v2/pages/workflows/git.mdx
@@ -195,9 +195,9 @@ Yes, you can use the GitHub Syncing feature to develop your workflows from YAML
Then pushing changes to the `production` branch will trigger a deploy for your Pipedream workflows.
### Why am I seeing the error "could not resolve step[index].uses: component-key@version" when merging to production?
-This error occurs when a workflow references a [private component](/workflows/contributing/components/#using-private-actions) without properly prefixing the component key with your workspace name in the `workflow.yaml` configuration file. Pipedream requires this prefix to correctly identify and resolve components specific to your workspace.
+This error occurs when a workflow references a [private component](/components/contributing/#using-private-actions) without properly prefixing the component key with your workspace name in the `workflow.yaml` configuration file. Pipedream requires this prefix to correctly identify and resolve components specific to your workspace.
-For example, if you modified a [registry action](/workflows/contributing/) and published it privately, the correct component key should be formatted as `@workspacename/component-key@version` (e.g., `@pipedream/github-update-issue@0.1.0`).
+For example, if you modified a [registry action](/components/contributing/) and published it privately, the correct component key should be formatted as `@workspacename/component-key@version` (e.g., `@pipedream/github-update-issue@0.1.0`).
To resolve this error:
@@ -219,7 +219,7 @@ This error occurs when **both** of the below conditions are met:
Since Pipedream can't verify the person who merged that change should have access to use the connected account in a workflow in this case, we block these deploys.
To resolve this error:
-1. Make sure all the connected accounts in the project's workflows are [accessible to the entire workspace](/integrations/connected-accounts/#access-control)
+1. Make sure all the connected accounts in the project's workflows are [accessible to the entire workspace](/apps/connected-accounts/#access-control)
2. Re-trigger a sync with Pipedream by making a nominal change to the workflow **from outside the Pipedream UI** (via github.com or locally), then merge that change to production
### Can I sync an existing GitHub Repository with workflows to a new Pipedream Project?
diff --git a/docs-v2/pages/workflows/index.mdx b/docs-v2/pages/workflows/index.mdx
index 27315ae2064e9..1b40f01bf98ad 100644
--- a/docs-v2/pages/workflows/index.mdx
+++ b/docs-v2/pages/workflows/index.mdx
@@ -15,7 +15,7 @@ Read [our quickstart](/quickstart/) or watch our videos on [Pipedream University
Steps are the building blocks you use to create workflows.
-- Use [triggers](/workflows/building-workflows/triggers/), [code](/workflows/building-workflows/code/), and [pre-built actions](/workflows/contributing/components/#actions)
+- Use [triggers](/workflows/building-workflows/triggers/), [code](/workflows/building-workflows/code/), and [pre-built actions](/components/contributing/#actions)
- Steps are run linearly, in the order they appear in your workflow
- You can pass data between steps using [the `steps` object](#step-exports)
- Observe the logs, errors, timing, and other execution details for every step
@@ -28,7 +28,7 @@ You can add [multiple triggers](/workflows/building-workflows/triggers/#can-i-ad
### Code, Actions
-[Actions](/workflows/contributing/components/#actions) and [code](/workflows/building-workflows/code/) steps drive the logic of your workflow. Anytime your workflow runs, Pipedream executes each step of your workflow in order. Actions are prebuilt code steps that let you connect to hundreds of APIs without writing code. When you need more control than the default actions provide, code steps let you write any custom Node.js code.
+[Actions](/components/contributing/#actions) and [code](/workflows/building-workflows/code/) steps drive the logic of your workflow. Anytime your workflow runs, Pipedream executes each step of your workflow in order. Actions are prebuilt code steps that let you connect to hundreds of APIs without writing code. When you need more control than the default actions provide, code steps let you write any custom Node.js code.
Code and action steps cannot precede triggers, since they'll have no data to operate on.
diff --git a/docs-v2/pages/workflows/workspaces/_meta.tsx b/docs-v2/pages/workspaces/_meta.tsx
similarity index 100%
rename from docs-v2/pages/workflows/workspaces/_meta.tsx
rename to docs-v2/pages/workspaces/_meta.tsx
diff --git a/docs-v2/pages/workflows/workspaces/domain-verification.mdx b/docs-v2/pages/workspaces/domain-verification.mdx
similarity index 81%
rename from docs-v2/pages/workflows/workspaces/domain-verification.mdx
rename to docs-v2/pages/workspaces/domain-verification.mdx
index 8c175cd574a79..130e556f33048 100644
--- a/docs-v2/pages/workflows/workspaces/domain-verification.mdx
+++ b/docs-v2/pages/workspaces/domain-verification.mdx
@@ -2,7 +2,7 @@ import Callout from '@/components/Callout'
# Domain Verification
-Pipedream requires that you verify ownership of your email domain in order to [configure SAML SSO](/workflows/workspaces/sso/) for your workspace. If your email is `foo@example.com`, you need to verify ownership of `example.com`. If configuring Google OAuth (not SAML), you can disregard this section.
+Pipedream requires that you verify ownership of your email domain in order to [configure SAML SSO](/workspaces/sso/) for your workspace. If your email is `foo@example.com`, you need to verify ownership of `example.com`. If configuring Google OAuth (not SAML), you can disregard this section.
## Getting started
diff --git a/docs-v2/pages/workflows/workspaces/index.mdx b/docs-v2/pages/workspaces/index.mdx
similarity index 97%
rename from docs-v2/pages/workflows/workspaces/index.mdx
rename to docs-v2/pages/workspaces/index.mdx
index 179da66eff475..f6011fb2d3830 100644
--- a/docs-v2/pages/workflows/workspaces/index.mdx
+++ b/docs-v2/pages/workspaces/index.mdx
@@ -14,7 +14,7 @@ To create a new workspace,
1. Open the dropdown menu in the top left of the Pipedream dashboard
2. Select **New workspace**
-3. You'll be prompted to name the workspace (you can [change the name later](/workflows/workspaces/#renaming-a-workspace))
+3. You'll be prompted to name the workspace (you can [change the name later](/workspaces/#renaming-a-workspace))
## Workspace settings
@@ -57,7 +57,7 @@ Visit your [workspace settings](https://pipedream.com/settings/account) and scro
As a workspace admin or owner on the [Business plan](https://pipedream.com/pricing), you're able to **require** that all members in your workspace must enable 2FA on their account.
1. Open the Authentication tab in your [workspace settings](https://pipedream.com/settings/authentication) (you must be an admin or owner to make changes here)
-2. Make sure you're in the [correct workspace](/workflows/workspaces/#switching-between-workspaces)
+2. Make sure you're in the [correct workspace](/workspaces/#switching-between-workspaces)
3. Click the toggle under **Require 2FA** — this will open a confirmation modal with some additional information
4. Once you enable the change in the modal, **all workspace members (including admins and owners) will immediately be required to configure 2FA on their account**. All new and existing workspace members will be required to set up 2FA the next time they sign in.
diff --git a/docs-v2/pages/workflows/workspaces/sso/_meta.tsx b/docs-v2/pages/workspaces/sso/_meta.tsx
similarity index 100%
rename from docs-v2/pages/workflows/workspaces/sso/_meta.tsx
rename to docs-v2/pages/workspaces/sso/_meta.tsx
diff --git a/docs-v2/pages/workflows/workspaces/sso/google.mdx b/docs-v2/pages/workspaces/sso/google.mdx
similarity index 97%
rename from docs-v2/pages/workflows/workspaces/sso/google.mdx
rename to docs-v2/pages/workspaces/sso/google.mdx
index 44aca88b5eaec..5d98d62191865 100644
--- a/docs-v2/pages/workflows/workspaces/sso/google.mdx
+++ b/docs-v2/pages/workspaces/sso/google.mdx
@@ -6,7 +6,7 @@ Pipedream supports Single Sign-On (SSO) with Google Workspace. This guide shows
## Requirements
-- SSO is only supported for [workspaces](/workflows/workspaces/) on the Business plan. Visit the [Pipedream pricing page](https://pipedream.com/pricing) to upgrade.
+- SSO is only supported for [workspaces](/workspaces/) on the Business plan. Visit the [Pipedream pricing page](https://pipedream.com/pricing) to upgrade.
- You need an administrator of your Pipedream workspace and someone who can [create SAML apps in Google Workspace](https://apps.google.com/supportwidget/articlehome?hl=en&article_url=https%3A%2F%2Fsupport.google.com%2Fa%2Fanswer%2F6087519%3Fhl%3Den&assistant_id=generic-unu&product_context=6087519&product_name=UnuFlow&trigger_context=a) to configure SSO.
## Configuration
diff --git a/docs-v2/pages/workflows/workspaces/sso/index.mdx b/docs-v2/pages/workspaces/sso/index.mdx
similarity index 97%
rename from docs-v2/pages/workflows/workspaces/sso/index.mdx
rename to docs-v2/pages/workspaces/sso/index.mdx
index 107a321730876..5591d2dd7d73a 100644
--- a/docs-v2/pages/workflows/workspaces/sso/index.mdx
+++ b/docs-v2/pages/workspaces/sso/index.mdx
@@ -21,7 +21,7 @@ The below content is for workspace admins and owners. Only workspace admins and
In order to configure SAML SSO for your workspace, you first need to verify ownership of the email domain. If configuring Google OAuth (not SAML), you can skip this section.
-[Refer to the guide here](/workflows/workspaces/domain-verification/) to verify your email domain.
+[Refer to the guide here](/workspaces/domain-verification/) to verify your email domain.
## Setting up SSO
diff --git a/docs-v2/pages/workflows/workspaces/sso/okta.mdx b/docs-v2/pages/workspaces/sso/okta.mdx
similarity index 96%
rename from docs-v2/pages/workflows/workspaces/sso/okta.mdx
rename to docs-v2/pages/workspaces/sso/okta.mdx
index 879c80285d350..4aeb4a949edbe 100644
--- a/docs-v2/pages/workflows/workspaces/sso/okta.mdx
+++ b/docs-v2/pages/workspaces/sso/okta.mdx
@@ -7,7 +7,7 @@ Pipedream supports Single Sign-On (SSO) with Okta. This guide shows you how to c
## Requirements
-- SSO is only supported for [workspaces](/workflows/workspaces/) on the Business plan. Visit the [Pipedream pricing page](https://pipedream.com/pricing) to upgrade.
+- SSO is only supported for [workspaces](/workspaces/) on the Business plan. Visit the [Pipedream pricing page](https://pipedream.com/pricing) to upgrade.
- You must be an administrator of your Pipedream workspace
- You must have an Okta account
diff --git a/docs-v2/pages/workflows/workspaces/sso/saml.mdx b/docs-v2/pages/workspaces/sso/saml.mdx
similarity index 96%
rename from docs-v2/pages/workflows/workspaces/sso/saml.mdx
rename to docs-v2/pages/workspaces/sso/saml.mdx
index 40e1fc616619a..e17162d39de21 100644
--- a/docs-v2/pages/workflows/workspaces/sso/saml.mdx
+++ b/docs-v2/pages/workspaces/sso/saml.mdx
@@ -6,7 +6,7 @@ If you use [Okta](./okta/) or [Google Workspace](./google/), please review the g
## Requirements
-- SSO is only supported for [workspaces](/workflows/workspaces/) on the Business plan. Visit the [Pipedream pricing page](https://pipedream.com/pricing) to upgrade.
+- SSO is only supported for [workspaces](/workspaces/) on the Business plan. Visit the [Pipedream pricing page](https://pipedream.com/pricing) to upgrade.
- You need an administrator of your Pipedream workspace and someone who can create SAML apps in your identity provider to configure SSO.
## SAML metadata
diff --git a/docs-v2/public/images/apps/select-external-auth.png b/docs-v2/public/images/apps/select-external-auth.png
new file mode 100644
index 0000000000000..e38d00d59c1c5
Binary files /dev/null and b/docs-v2/public/images/apps/select-external-auth.png differ
diff --git a/docs-v2/yarn.lock b/docs-v2/yarn.lock
index 0c44a4182c13b..cfad2ee9f9843 100644
--- a/docs-v2/yarn.lock
+++ b/docs-v2/yarn.lock
@@ -471,6 +471,11 @@
resolved "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz"
integrity sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==
+"@corex/deepmerge@^4.0.43":
+ version "4.0.43"
+ resolved "https://registry.npmjs.org/@corex/deepmerge/-/deepmerge-4.0.43.tgz"
+ integrity sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==
+
"@docsearch/css@3.8.1":
version "3.8.1"
resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.8.1.tgz"
@@ -891,6 +896,11 @@
"@napi-rs/simple-git-win32-arm64-msvc" "0.1.19"
"@napi-rs/simple-git-win32-x64-msvc" "0.1.19"
+"@next/env@^13.4.3":
+ version "13.5.11"
+ resolved "https://registry.npmjs.org/@next/env/-/env-13.5.11.tgz"
+ integrity sha512-fbb2C7HChgM7CemdCY+y3N1n8pcTKdqtQLbC7/EQtPdLvlMUT9JX/dBYl8MMZAtYG4uVMyPFHXckb68q/NRwqg==
+
"@next/env@14.2.26":
version "14.2.26"
resolved "https://registry.npmjs.org/@next/env/-/env-14.2.26.tgz"
@@ -2677,7 +2687,7 @@ extend@^3.0.0:
resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-fast-glob@^3.3.2:
+fast-glob@^3.2.12, fast-glob@^3.3.2:
version "3.3.3"
resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz"
integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
@@ -4604,6 +4614,11 @@ minimatch@^9.0.4:
dependencies:
brace-expansion "^2.0.1"
+minimist@^1.2.8:
+ version "1.2.8"
+ resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
+ integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
+
"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2:
version "7.1.2"
resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz"
@@ -4653,12 +4668,22 @@ negotiator@^1.0.0:
resolved "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz"
integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==
+next-sitemap@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.npmjs.org/next-sitemap/-/next-sitemap-4.2.3.tgz"
+ integrity sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==
+ dependencies:
+ "@corex/deepmerge" "^4.0.43"
+ "@next/env" "^13.4.3"
+ fast-glob "^3.2.12"
+ minimist "^1.2.8"
+
next-themes@^0.4.0:
version "0.4.6"
resolved "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz"
integrity sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==
-next@^14.2.5, "next@>= 13", next@>=13:
+next@*, next@^14.2.5, "next@>= 13", next@>=13:
version "14.2.26"
resolved "https://registry.npmjs.org/next/-/next-14.2.26.tgz"
integrity sha512-b81XSLihMwCfwiUVRRja3LphLo4uBBMZEzBBWMaISbKTwOmq3wPknIETy/8000tr7Gq4WmbuFYPS7jOYIf+ZJw==
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b48ed3b40a5d0..69fcd7ed41d3d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -15066,6 +15066,9 @@ importers:
autoprefixer:
specifier: ^10.4.19
version: 10.4.20(postcss@8.4.49)
+ next-sitemap:
+ specifier: ^4.2.3
+ version: 4.2.3(next@14.2.19(@babel/core@8.0.0-alpha.13)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
postcss:
specifier: ^8.4.40
version: 8.4.49
@@ -16519,6 +16522,9 @@ packages:
peerDependencies:
'@bufbuild/protobuf': ^2.2.0
+ '@corex/deepmerge@4.0.43':
+ resolution: {integrity: sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==}
+
'@csstools/css-parser-algorithms@3.0.4':
resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==}
engines: {node: '>=18'}
@@ -17639,6 +17645,9 @@ packages:
engines: {node: '>=8.3.0'}
hasBin: true
+ '@next/env@13.5.11':
+ resolution: {integrity: sha512-fbb2C7HChgM7CemdCY+y3N1n8pcTKdqtQLbC7/EQtPdLvlMUT9JX/dBYl8MMZAtYG4uVMyPFHXckb68q/NRwqg==}
+
'@next/env@14.2.19':
resolution: {integrity: sha512-8yWSNi1p+AOsd1QsxZMMkXtdrz8wvYoRxoUa9olmHBspHVLnxpptyKoI574ZF90yq1gXv/CqpchVLBoK8RcN7w==}
@@ -25659,6 +25668,13 @@ packages:
resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
engines: {node: '>= 0.4.0'}
+ next-sitemap@4.2.3:
+ resolution: {integrity: sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==}
+ engines: {node: '>=14.18'}
+ hasBin: true
+ peerDependencies:
+ next: '*'
+
next-themes@0.4.3:
resolution: {integrity: sha512-nG84VPkTdUHR2YeD89YchvV4I9RbiMAql3GiLEQlPvq1ioaqPaIReK+yMRdg/zgiXws620qS1rU30TiWmmG9lA==}
peerDependencies:
@@ -32287,6 +32303,8 @@ snapshots:
dependencies:
'@bufbuild/protobuf': 2.2.2
+ '@corex/deepmerge@4.0.43': {}
+
'@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)':
dependencies:
'@csstools/css-tokenizer': 3.0.3
@@ -33701,6 +33719,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@next/env@13.5.11': {}
+
'@next/env@14.2.19': {}
'@next/env@15.0.3': {}
@@ -44049,6 +44069,14 @@ snapshots:
netmask@2.0.2: {}
+ next-sitemap@4.2.3(next@14.2.19(@babel/core@8.0.0-alpha.13)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
+ dependencies:
+ '@corex/deepmerge': 4.0.43
+ '@next/env': 13.5.11
+ fast-glob: 3.3.2
+ minimist: 1.2.8
+ next: 14.2.19(@babel/core@8.0.0-alpha.13)(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+
next-themes@0.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
react: 18.3.1