Google Calendar ACTION
Respond to Event Invitation
Accept, decline, or tentatively accept a Google Calendar event invitation on behalf of the authenticated user. Use this when you need to RSVP to an event. You can identify the event by its exact
eventId or by eventName (searches upcoming events by title). If both are provided, eventId takes precedence. The calendarId defaults to primary (the user's main calendar). See the documentation- Action
- Writes data
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Google Calendar account once, then configure and run Respond to Event Invitation 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: "google_calendar-respond-to-event",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
google_calendar: { authProvisionId: "apn_xxxxxxx" },
calendarId: "Calendar",
eventId: "Event ID",
},
})
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": "google_calendar-respond-to-event",
"configured_props": {
"google_calendar": { "authProvisionId": "apn_xxxxxxx" },
"calendarId": "Calendar",
"eventId": "Event ID"
}
}'// 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": "google_calendar",
},
},
},
)
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: "google_calendar-respond-to-event",
arguments: {
calendarId: "Calendar",
eventId: "Event ID",
},
})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 |
|---|---|---|
calendarId Calendar | string | Optionally select the calendar, defaults to the primary calendar for the logged-in user Optional Dynamic |
eventId Event ID | string | The ID of the event to respond to. Use this when you have the exact event ID. If you only have the event title, use eventName instead. Optional |
eventName Event Name | string | The title (summary) of the event to respond to. Used to search for the event when you don't have the event ID. A case-insensitive search is performed and the first matching upcoming event is used. Optional |
responseStatus Response Status | string | Your RSVP response to the event invitation. Required |
sendUpdates Send Updates | string | Whether to send notification emails to the organizer and other attendees. Defaults to all (notify everyone). 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
- google_calendar-respond-to-event
- Version
- 0.0.2
- App
- Google Calendar
- Authentication
- OAuth
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗