Heartbeat ACTION
Create Event
Create a new Event in a Heartbeat community. See the documentation
- Action
- Writes data
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Heartbeat account once, then configure and run Create Event 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: "heartbeat-create-event",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
heartbeat: { authProvisionId: "apn_xxxxxxx" },
name: "Name",
description: "Description",
},
})
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": "heartbeat-create-event",
"configured_props": {
"heartbeat": { "authProvisionId": "apn_xxxxxxx" },
"name": "Name",
"description": "Description"
}
}'// 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": "heartbeat",
},
},
},
)
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: "heartbeat-create-event",
arguments: {
name: "Name",
description: "Description",
},
})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 event Required |
description Description | string | The description of the event Optional |
startTime Start Date & Time | string | The start date & time of the event. Accepts datetimes in the following formats: YYYY-MM-DD hh:mm:ss e.g. 2023-11-28 10:00:00, YYYY-MM-DD hh:mm e.g. 2023-11-28 10:00, YYYY-MM-DD e.g. 2023-11-28 Required |
duration Duration | integer | The duration of the event in minutes Required |
location Location | string | Where the event will be held. If the string 'HEARTBEAT' is provided, then the event will take place in a Heartbeat voice channel. If the string 'ZOOM' is provided, then the event will take place in a custom Zoom link (this option can only be chosen if a Zoom account has been integrated with Heartbeat). Otherwise, the provided string will be passed directly to the Custom location field Required |
invitedUsers Invited Users | string[] | A list of users that should be invited to the event. If the email matches an existing Heartbeat user, the Heartbeat user will be invited. Otherwise, an event invite will be sent directly to the provided email address. If both Invited Users & Invited Groups are empty, the event will be open to everyone in the community Optional Dynamic |
invitedGroups Invited Groups | string[] | A list of groups that should be invited to the event. If both Invited Users and Invited Groups are empty, the event will be open to everyone in the community Optional Dynamic |
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
- heartbeat-create-event
- Version
- 0.0.1
- App
- Heartbeat
- Authentication
- API key
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗