# Create Order Email Reward — Tremendous

> Create an order to send out a reward. See the documentation

- Key: `tremendous-create-order-email-reward`
- Type: Action (Write)
- Version: 0.0.2
- App: Tremendous (`tremendous`) — https://pipedream.com/apps/tremendous.md
- This page (HTML): https://pipedream.com/apps/tremendous/actions/create-order-email-reward
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/tremendous/actions/create-order-email-reward/create-order-email-reward.mjs

## Description

Create an order to send out a reward. [See the documentation](https://developers.tremendous.com/reference/create-order)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `campaignId` | `string` | No | ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.) that the recipient can choose from. Options are loaded from the connected account. |
| `products` | `string[]` | No | IDs of products (different gift cards, charity, etc.) that will be available to the recipient to choose from. If this and Campaign ID are specified, this will override the products made available by the campaign. It will not override other campaign attributes, like the message and customization of the look and feel. Options are loaded from the connected account. |
| `fundingSourceId` | `string` | Yes | Tremendous ID of the funding source that will be used to pay for the order. Use balance to use your Tremendous's balance. Options are loaded from the connected account. |
| `externalId` | `string` | No | Reference for this order. If set, any subsequent requests with the same External ID will not create any further orders, and simply return the initially created order. |
| `valueAmount` | `string` | Yes | Amount of the reward. |
| `valueCurrencyCode` | `string` | Yes | Currency of the reward. |
| `recipientName` | `string` | Yes | Name of the recipient. |
| `recipientEmail` | `string` | Yes | Email address of the recipient. |
| `recipientPhone` | `string` | Yes | Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +). |
| `deliveryMethod` | `string` | Yes | How to deliver the reward to the recipient. |

## 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": "tremendous",
      },
    },
  },
)

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: "tremendous-create-order-email-reward",
  arguments: {
    campaignId: "Campaign ID",
    products: ["Products"],
  },
})
```

**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: "tremendous-create-order-email-reward",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    tremendous: { authProvisionId: "apn_xxxxxxx" },
    campaignId: "Campaign ID",
    products: ["Products"],
  },
})

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": "tremendous-create-order-email-reward",
    "configured_props": {
      "tremendous": { "authProvisionId": "apn_xxxxxxx" },
      "campaignId": "Campaign ID",
      "products": ["Products"]
    }
  }'
```

---

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