Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 92 additions & 1 deletion docs-v2/pages/connect/components.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1011,4 +1011,95 @@ curl -X POST https://api.pipedream.com/v1/connect/{project_id}/components/trigge
"created_at": 1744499847,
"updated_at": 1744499847
}
```
```

## Troubleshooting

### Referencing the app prop in configured props payload

If you encounter an error like `Cannot read properties of undefined (reading 'oauth_access_token')`, it's likely related to an incorrect reference to the app prop in your configured_props payload.

For example, using `google_sheets` instead of `googleSheets`, or `stripe` instead of `app`. Always use the exact app prop name as returned by the component definition.

The app prop name can be found in the component's definition under `configurable_props`:

```json
"configurable_props": [
{
"name": "googleSheets", // Use this exact name in your payload
"type": "app",
"app": "google_sheets"
},
...
]
```

### Passing dynamic props ID

When working with components that use dynamic props, you must track and pass the `dynamicPropsId` in your API calls. After calling the API to reload props as described in the [Configure dynamic props](#configure-dynamic-props) section, you'll receive a response containing a `dynamicProps.id` value that looks like `dyp_6xUyVgQ`.

This ID must be included in subsequent API calls to `runAction` or `deployTrigger`. Failing to include it can result in errors like:

```json
{
"name": "Error",
"message": "undefined is not an array or an array-like"
}
```

or

```json
{
"title": "TypeError",
"detail": "Cannot read properties of undefined (reading 'endpoint')"
}
```

For example, after receiving the dynamic props ID from the reload props call, include it in your action execution:

```javascript
// First, reload props for a component with dynamic props
const { dynamicProps } = await pd.reloadProps({ … });

// Then use the dynamicProps.id when running the action
const resp = await pd.runAction({
externalUserId: "abc-123",
id: "google_sheets-add-single-row",
dynamicPropsId: dynamicProps.id, // Must include this
configuredProps: {
googleSheets: {
authProvisionId: account.id,
},
sheetId: "1BfWjFF2dTW_YDiLISj5N9nKCUErShgugPS434liyytg",
worksheetId: "Sheet1",
// ... other configured props
}
});
```

Remember to maintain this ID in your application state while the user is configuring the component, and include it in all subsequent API calls related to that particular configuration.

### Checking source logs for deployed triggers

If a deployed trigger isn't emitting events as expected, you can examine the source logs to get a better sense of what's happening.

Use the following URL to access logs and view emitted events:

```
https://pipedream.com/sources/{dcid}
```

Replace `{dcid}` with your deployed component ID (e.g., `dc_dAuGmW7`).

The sources UI contains three tabs:

- **Events**: Lists emitted events from the deployed trigger that will be sent to the subscribed webhook or workflow. This helps you verify that events are being properly processed and understand their structure.

- **Logs**: Displays execution history for the trigger. For polling sources, this shows each time the trigger checks for updates. For webhook-based instant sources, it shows each time the source receives an event from the upstream API. This tab is especially useful for troubleshooting when events aren't being emitted as expected.

- **Configuration**: Provides a read-only view of the deployed source's code and configuration. While you can't modify settings for deployed triggers that belong to external users here, this tab offers insight into how the trigger is configured.

<Callout type="info">
This UI view is currently in beta and has some limitations. Some UI elements may appear unpolished, and the configuration tab has limited functionality.
</Callout>
4 changes: 2 additions & 2 deletions docs-v2/pages/connect/environments.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import Image from 'next/image'
Pipedream Connect projects support two environments: `development` and `production`. Connected accounts and credentials stored in `development` remain separate from `production`.

<Callout type="info">
You can use all of the Connect features in `development` mode **on any plan**. **[Get in touch with our Sales team](https://pipedream.com/pricing?plan=Enterprise)** when you're ready to ship to production.
You can use all of the Connect features in `development` mode **on any plan**. **[Visit the pricing page](https://pipedream.com/pricing?plan=Connect)** to select the right plan when you're ready to ship to production.
</Callout>

## Development mode
Expand Down Expand Up @@ -59,7 +59,7 @@ curl -X POST https://api.pipedream.com/v1/connect/{project_id}/tokens \

When you're ready to ship to production:

1. Contact the [Pipedream Sales team](https://pipedream.com/pricing?plan=Enterprise) to enable production access
1. Visit the [pricing page](https://pipedream.com/pricing?plan=Connect) to enable production access
2. Update your environment to `production` in your SDK client configuration and / or API calls

<Callout type="info">
Expand Down
2 changes: 1 addition & 1 deletion docs-v2/pages/connect/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Visit [the managed auth quickstart](/connect/quickstart/) to build your first in

## Plans and pricing

**Managed authentication with Connect is free to use for up to 1,000 connected accounts for any workspace**. Check out our [pricing page](https://pipedream.com/pricing?plan=Enterprise) to get in touch with our Sales team for details on using the rest of the Connect features in production.
**Connect is entirely free to get started and use in development mode**. Once you're ready to ship to production, check out our [pricing page](https://pipedream.com/pricing?plan=Connect) for the latest info.

## Security

Expand Down
3 changes: 2 additions & 1 deletion docs-v2/pages/connect/mcp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,8 @@ Pipedream's MCP servers enable AI assistants to perform a wide range of tasks:
## Pricing

- Anyone can use Pipedream's hosted MCP servers for their own use **for free**
- To deploy Pipedream's MCP servers to your own app or agent, [contact our sales team](https://pipedream.com/pricing?plan=Enterprise)
- To deploy Pipedream's MCP servers to your own app or agent, you can get started for free in development mode
- [Visit the pricing page](https://pipedream.com/pricing?plan=Connect) when you're ready to ship to production

## Additional resources

Expand Down
24 changes: 20 additions & 4 deletions docs-v2/pages/connect/workflows.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -265,9 +265,13 @@ You have two options for triggering workflows that run on behalf of your end use

The most common way to trigger workflows is via HTTP webhook. We strongly recommend [creating a Pipedream OAuth client](/rest-api/auth#creating-an-oauth-client) and authenticating inbound requests to your workflows.

<Callout type="info">
This section refers to authenticating requests to the Pipedream API. For info on how managed auth works for your end users, refer to the [managed auth quickstart](/connect/managed-auth/quickstart).
</Callout>

To get started, you'll need:

- [OAuth client ID and secret](/rest-api/auth#creating-an-oauth-client) (optional but recommended)
- [OAuth client ID and secret](/rest-api/auth#creating-an-oauth-client) for authenticating with the Pipedream API
- 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
Expand Down Expand Up @@ -362,6 +366,18 @@ You can [programmatically deploy triggers via the API](/connect/api/#deploy-a-tr

See the [API documentation](/connect/api/#deploy-a-trigger) for detailed examples of deploying and managing triggers.

## OAuth client requirements

<Callout type="info">
When using OAuth apps (like Google Drive, Slack, Notion, etc.) with your end users, you **must use your own custom OAuth clients**.
</Callout>

1. Register your own OAuth application with each third-party service (Google Drive, Slack, etc.)
2. [Add your OAuth client credentials to Pipedream](/apps/oauth-clients#configuring-custom-oauth-clients)
3. Make sure to include your `oauthAppId` when connecting accounts for your end users

For detailed instructions, see the [OAuth Clients documentation](/connect/managed-auth/oauth-clients#using-a-custom-oauth-client).

## Troubleshooting

For help debugging issues with your workflow, you can return verbose error messages to the caller by configuring the HTTP trigger to **Return a custom response from your workflow**.
Expand All @@ -385,8 +401,8 @@ curl -X POST https://{your-endpoint-url} \
Pipedream Connect Error: Required account for hubspot not found for external user ID abc-123 in development
```


### Common errors

#### No external user ID passed, but one or more steps require it
- One or more steps in the workflow are configured to **Use end user's auth via Connect**, but no external user ID was passed when invoking the workflow.
- [Refer to the docs](#invoke-the-workflow) to make sure you're passing external user ID correctly when invoking the workflow.
Expand All @@ -400,8 +416,8 @@ Pipedream Connect Error: Required account for hubspot not found for external use
- You can check which connected accounts are available for that user [in the UI](/connect/managed-auth/users/) or [via the API](/connect/api/#accounts).

#### Running workflows for your users in production requires a higher tier plan
- Anyone is able to run workflows for your end users in `development`. The Business plan is required to run on behalf of `production` users.
- Schedule a call with our sales team and learn more about pricing [here](https://pipedream.com/pricing?plan=Enterprise).
- Anyone is able to run workflows for your end users in `development`.
- Visit the [pricing page](https://pipedream.com/pricing?plan=Connect) for the latest info on using Connect in production.

## Known limitations

Expand Down
12 changes: 4 additions & 8 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading