Streamlabs ACTION
Create Donation
Create a donation for the authenticated user. See the documentation
- Action
- Writes data
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Streamlabs account once, then configure and run Create Donation from your backend or agent.
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: "streamlabs-create-donation",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
streamlabs: { authProvisionId: "apn_xxxxxxx" },
name: "Name",
identifier: "Identifier",
},
})
console.log(result)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": "streamlabs-create-donation",
"configured_props": {
"streamlabs": { "authProvisionId": "apn_xxxxxxx" },
"name": "Name",
"identifier": "Identifier"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{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": "streamlabs",
},
},
},
)
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: "streamlabs-create-donation",
arguments: {
name: "Name",
identifier: "Identifier",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
name Name | string | The name of the donor. Has to be between 2-25 length and should only contain utf8 characters Required |
identifier Identifier | string | An identifier for this donor, which is used to group donations with the same donor. For example, if you create more than one donation with the same identifier, they will be grouped together as if they came from the same donor. Typically this is best suited as an email address, or a unique hash. Required |
amount Amount | string | The amount of this donation Required |
currency Currency | string | The 3 letter currency code for this donation. Must be one of the supported currency codes Required |
message Message | string | The message from the donor. Must be < 255 characters Optional |
createdAt Created At | string | A timestamp that identifies when this donation was made. If left blank, it will default to now. Enter in ISO-8601 format (e.g., 2018-02-18T02:30:00-07:00 or 2018-02-18T08:00:00Z, where Z stands for UTC) Optional |
skipAlert Skip Alert | string | Set to yes if you need to skip the alert. Default is no Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- streamlabs-create-donation
- Version
- 0.0.2
- App
- Streamlabs
- Authentication
- OAuth
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗