Skip to content

Commit 737da99

Browse files
Danny/connect docs source logs (#16559)
* First pass at components troubleshooting section * Update pnpm-lock.yaml * Update components.mdx * Update pnpm-lock.yaml * Update pnpm-lock.yaml * Update workflows.mdx * Update pnpm-lock.yaml * Update pnpm-lock.yaml * Pricing page references
1 parent 824f6a2 commit 737da99

File tree

6 files changed

+121
-17
lines changed

6 files changed

+121
-17
lines changed

docs-v2/pages/connect/components.mdx

Lines changed: 92 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1011,4 +1011,95 @@ curl -X POST https://api.pipedream.com/v1/connect/{project_id}/components/trigge
10111011
"created_at": 1744499847,
10121012
"updated_at": 1744499847
10131013
}
1014-
```
1014+
```
1015+
1016+
## Troubleshooting
1017+
1018+
### Referencing the app prop in configured props payload
1019+
1020+
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.
1021+
1022+
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.
1023+
1024+
The app prop name can be found in the component's definition under `configurable_props`:
1025+
1026+
```json
1027+
"configurable_props": [
1028+
{
1029+
"name": "googleSheets", // Use this exact name in your payload
1030+
"type": "app",
1031+
"app": "google_sheets"
1032+
},
1033+
...
1034+
]
1035+
```
1036+
1037+
### Passing dynamic props ID
1038+
1039+
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`.
1040+
1041+
This ID must be included in subsequent API calls to `runAction` or `deployTrigger`. Failing to include it can result in errors like:
1042+
1043+
```json
1044+
{
1045+
"name": "Error",
1046+
"message": "undefined is not an array or an array-like"
1047+
}
1048+
```
1049+
1050+
or
1051+
1052+
```json
1053+
{
1054+
"title": "TypeError",
1055+
"detail": "Cannot read properties of undefined (reading 'endpoint')"
1056+
}
1057+
```
1058+
1059+
For example, after receiving the dynamic props ID from the reload props call, include it in your action execution:
1060+
1061+
```javascript
1062+
// First, reload props for a component with dynamic props
1063+
const { dynamicProps } = await pd.reloadProps({ … });
1064+
1065+
// Then use the dynamicProps.id when running the action
1066+
const resp = await pd.runAction({
1067+
externalUserId: "abc-123",
1068+
id: "google_sheets-add-single-row",
1069+
dynamicPropsId: dynamicProps.id, // Must include this
1070+
configuredProps: {
1071+
googleSheets: {
1072+
authProvisionId: account.id,
1073+
},
1074+
sheetId: "1BfWjFF2dTW_YDiLISj5N9nKCUErShgugPS434liyytg",
1075+
worksheetId: "Sheet1",
1076+
// ... other configured props
1077+
}
1078+
});
1079+
```
1080+
1081+
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.
1082+
1083+
### Checking source logs for deployed triggers
1084+
1085+
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.
1086+
1087+
Use the following URL to access logs and view emitted events:
1088+
1089+
```
1090+
https://pipedream.com/sources/{dcid}
1091+
```
1092+
1093+
Replace `{dcid}` with your deployed component ID (e.g., `dc_dAuGmW7`).
1094+
1095+
The sources UI contains three tabs:
1096+
1097+
- **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.
1098+
1099+
- **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.
1100+
1101+
- **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.
1102+
1103+
<Callout type="info">
1104+
This UI view is currently in beta and has some limitations. Some UI elements may appear unpolished, and the configuration tab has limited functionality.
1105+
</Callout>

docs-v2/pages/connect/environments.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import Image from 'next/image'
66
Pipedream Connect projects support two environments: `development` and `production`. Connected accounts and credentials stored in `development` remain separate from `production`.
77

88
<Callout type="info">
9-
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.
9+
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.
1010
</Callout>
1111

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

6060
When you're ready to ship to production:
6161

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

6565
<Callout type="info">

docs-v2/pages/connect/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Visit [the managed auth quickstart](/connect/quickstart/) to build your first in
4242

4343
## Plans and pricing
4444

45-
**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.
45+
**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.
4646

4747
## Security
4848

docs-v2/pages/connect/mcp.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,8 @@ Pipedream's MCP servers enable AI assistants to perform a wide range of tasks:
178178
## Pricing
179179

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

183184
## Additional resources
184185

docs-v2/pages/connect/workflows.mdx

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -265,9 +265,13 @@ You have two options for triggering workflows that run on behalf of your end use
265265

266266
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.
267267

268+
<Callout type="info">
269+
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).
270+
</Callout>
271+
268272
To get started, you'll need:
269273

270-
- [OAuth client ID and secret](/rest-api/auth#creating-an-oauth-client) (optional but recommended)
274+
- [OAuth client ID and secret](/rest-api/auth#creating-an-oauth-client) for authenticating with the Pipedream API
271275
- Your [project ID](/projects/#finding-your-projects-id)
272276
- Your workflow's HTTP endpoint URL
273277
- The [external user ID](/connect/api/#external-users) of your end user
@@ -362,6 +366,18 @@ You can [programmatically deploy triggers via the API](/connect/api/#deploy-a-tr
362366

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

369+
## OAuth client requirements
370+
371+
<Callout type="info">
372+
When using OAuth apps (like Google Drive, Slack, Notion, etc.) with your end users, you **must use your own custom OAuth clients**.
373+
</Callout>
374+
375+
1. Register your own OAuth application with each third-party service (Google Drive, Slack, etc.)
376+
2. [Add your OAuth client credentials to Pipedream](/apps/oauth-clients#configuring-custom-oauth-clients)
377+
3. Make sure to include your `oauthAppId` when connecting accounts for your end users
378+
379+
For detailed instructions, see the [OAuth Clients documentation](/connect/managed-auth/oauth-clients#using-a-custom-oauth-client).
380+
365381
## Troubleshooting
366382

367383
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**.
@@ -385,8 +401,8 @@ curl -X POST https://{your-endpoint-url} \
385401
Pipedream Connect Error: Required account for hubspot not found for external user ID abc-123 in development
386402
```
387403
388-
389404
### Common errors
405+
390406
#### No external user ID passed, but one or more steps require it
391407
- 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.
392408
- [Refer to the docs](#invoke-the-workflow) to make sure you're passing external user ID correctly when invoking the workflow.
@@ -400,8 +416,8 @@ Pipedream Connect Error: Required account for hubspot not found for external use
400416
- 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).
401417
402418
#### Running workflows for your users in production requires a higher tier plan
403-
- Anyone is able to run workflows for your end users in `development`. The Business plan is required to run on behalf of `production` users.
404-
- Schedule a call with our sales team and learn more about pricing [here](https://pipedream.com/pricing?plan=Enterprise).
419+
- Anyone is able to run workflows for your end users in `development`.
420+
- Visit the [pricing page](https://pipedream.com/pricing?plan=Connect) for the latest info on using Connect in production.
405421
406422
## Known limitations
407423

pnpm-lock.yaml

Lines changed: 4 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)