# Create Opportunity — Wealthbox

> Create a new opportunity in Wealthbox. Supply an opportunity name, target close date, probability (integer 0–100), amount type and value, and stage ID. Use List Stage Options to find valid stage IDs and List Contact Options to find the…

- Key: `wealthbox-create-opportunity`
- Type: Action (Write)
- Version: 0.0.4
- App: Wealthbox (`wealthbox`) — https://pipedream.com/apps/wealthbox.md
- This page (HTML): https://pipedream.com/apps/wealthbox/actions/create-opportunity
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/wealthbox/actions/create-opportunity/create-opportunity.mjs

## Description

Create a new opportunity in Wealthbox. Supply an opportunity name, target close date, probability (integer 0–100), amount type and value, and stage ID. Use **List Stage Options** to find valid stage IDs and **List Contact Options** to find the contact ID to link. Example: create opportunity `Q4 AUM Expansion` with probability `75`, amount `50000` of type `AUM`, target close `2026-12-31 10:00 AM -0500`; returns the opportunity object including `id`, `name`, `stage`, `probability`, `target_close`, and `amounts`. [See the documentation](https://dev.wealthbox.com/#opportunities-retrieve-all-opportunities-post)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `name` | `string` | Yes | The name of the opportunity being created. Example: Q4 AUM Expansion. |
| `targetClose` | `string` | Yes | A string representing the date/time when the opportunity should close. Example 2015-05-24 10:00 AM -0400 |
| `probability` | `string` | Yes | An integer (0–100) representing the percentage chance the opportunity will close. Example: 75 for 75% probability. |
| `amountType` | `string` | Yes | The type of amount |
| `amountValue` | `string` | Yes | The amount in dollars as a numeric string. Example: 50000 for $50,000. |
| `contactId` | `string` | No | The numeric ID of the contact. Use Find Contact to search by name, email, or phone, or List Contact Options to browse all contacts and retrieve their IDs. Example: 67890. Options are loaded from the connected account. |
| `stage` | `string` | Yes | The current stage of the opportunity (e.g. Prospect, Proposal, Closed Won). Use List Stage Options to discover valid stage IDs configured in your Wealthbox account. Options are loaded from the connected account. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
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 accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "wealthbox",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "wealthbox-create-opportunity",
  arguments: {
    name: "Opportunity Name",
    targetClose: "Target Close",
  },
})
```

**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 result = await pd.actions.run({
  id: "wealthbox-create-opportunity",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    wealthbox: { authProvisionId: "apn_xxxxxxx" },
    name: "Opportunity Name",
    targetClose: "Target Close",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "wealthbox-create-opportunity",
    "configured_props": {
      "wealthbox": { "authProvisionId": "apn_xxxxxxx" },
      "name": "Opportunity Name",
      "targetClose": "Target Close"
    }
  }'
```

---

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