Arlo ACTION
List Events
List Arlo Event (scheduled session) records, optionally filtered by status (the Arlo API does not support filtering this collection by parent event template). Results are paged (see
limit/skip); if the page comes back full, call again with a higher skip for more. Use fields to shrink the response for large event lists. Example: call with status: "Active", limit: 50 to get up to 50 active events with EventID, Name, Code, StartDateTime. See the documentation.- Action
- Read only
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Arlo account once, then configure and run List Events 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: "arlo-list-events",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
arlo: { authProvisionId: "apn_xxxxxxx" },
status: "Status",
limit: 10,
},
})
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": "arlo-list-events",
"configured_props": {
"arlo": { "authProvisionId": "apn_xxxxxxx" },
"status": "Status",
"limit": 10
}
}'// 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": "arlo",
},
},
},
)
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: "arlo-list-events",
arguments: {
status: "Status",
limit: 10,
},
})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 |
|---|---|---|
status Status | string | Optional. Filter events by status. Optional |
limit Limit | integer | Maximum number of records to return per page. Min 1, max 1000. Defaults to 100. If the response returns exactly this many records, more may exist — call again with a higher skip to page through. Optional |
skip Skip | integer | Number of records to skip, for paging past the first page. Defaults to 0 (start at the beginning). Set to limit from the previous call to fetch the next page, 2 * limit for the page after that, and so on. Optional |
fields Fields | string[] | Optional. Return only these top-level fields per event (e.g. ["EventID", "Name", "Code", "StartDateTime"]) instead of the full record, to reduce response size for large event lists. 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
- arlo-list-events
- Version
- 0.0.2
- App
- Arlo
- Authentication
- API key
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗