# Workflow Step Completed — Wealthbox

> Emit new event each time workflow step activity is recorded in Wealthbox. The Wealthbox workflow step object has no completion flag of its own, so this polls the account Activity Stream (GET /activity) filtered to WorkflowStep-linked…

- Key: `wealthbox-workflow-step-completed`
- Type: Trigger (Polling)
- Version: 0.0.1
- App: Wealthbox (`wealthbox`) — https://pipedream.com/apps/wealthbox.md
- This page (HTML): https://pipedream.com/apps/wealthbox/triggers/workflow-step-completed
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/wealthbox/sources/workflow-step-completed/workflow-step-completed.mjs

## Description

Emit new event each time workflow step activity is recorded in Wealthbox. The Wealthbox workflow step object has no completion flag of its own, so this polls the account Activity Stream (GET /activity) filtered to WorkflowStep-linked items. Deduplicates by activity stream item id (not step id), so reverting and re-completing the same step correctly emits a new event each time. [See the documentation](https://dev.wealthbox.com/#activity-stream-retrieve-activity-stream-get)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `timer` | `$.interface.timer` | Yes | Timer |

## Returns

Events emitted by Wealthbox.

## Run it

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const deployed = await pd.triggers.deploy({
  id: "wealthbox-workflow-step-completed",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    wealthbox: { authProvisionId: "apn_xxxxxxx" },
    timer: { "intervalSeconds": 900 },
  },
  webhookUrl: "https://example.com/webhooks/wealthbox",
})

console.log(deployed.id)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/triggers/deploy \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "wealthbox-workflow-step-completed",
    "webhook_url": "https://example.com/webhooks/wealthbox",
    "configured_props": {
      "wealthbox": { "authProvisionId": "apn_xxxxxxx" },
      "timer": { "intervalSeconds": 900 }
    }
  }'
```

**MCP**

MCP servers expose Wealthbox actions as on-demand tools.

Workflow Step Completed is an event source, so your application deploys it with the Connect SDK or API and then either receives each event at a webhook URL or retrieves events on demand with the trigger events API.

## Event delivery

Every event is sent to the HTTP endpoint you choose when you deploy the source. Or: no webhook required — your app or agent can fetch recent events from the [trigger events API](https://pipedream.com/docs/connect/api-reference/list-trigger-events.md) instead.

---

- App: https://pipedream.com/apps/wealthbox.md · All apps: https://pipedream.com/apps
