# Arlo — Pipedream Connect

> Training Management Software

- API slug: `arlo` (use in MCP headers and tool keys)
- Auth: API key (Pipedream-managed)
- Categories: Learning & Education
- Website: https://www.arlo.co/
- This page (HTML): https://pipedream.com/apps/arlo
- Tools: 10 actions · 0 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: arlo`

```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": "arlo",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Create Event:
const result = await mcp.callTool({
  name: "arlo-create-event",
  arguments: {
    templateCode: "Template Code",
    sessions: "Sessions",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## SDK

```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: "arlo-create-event",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    arlo: { authProvisionId: "apn_xxxxxxx" },
    templateCode: "Template Code",
    sessions: "Sessions",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (10)

### `arlo-create-event` — Create Event (Write)

Create a new scheduled Arlo Event by submitting an event import request. Provide the parent template Code (not its numeric ID) and one or more sessions. The Arlo API processes this asynchronously and returns an AsyncTaskID; the created event starts in Draft status. Run List Event Templates to find…

Full schema: https://pipedream.com/apps/arlo/actions/create-event.md

### `arlo-create-presenter` — Create Presenter (Write)

Create a new Arlo contact record to be used as a presenter. FirstName, LastName, and Email are required. Returns the created contact including its ID. Example: call with firstName: "Kevin", lastName: "Malone", email: "kevin.malone@example.com" to create a new active contact and get back its…

Full schema: https://pipedream.com/apps/arlo/actions/create-presenter.md

### `arlo-get-event` — Get Event (Read-only)

Retrieve the full detail for a single Arlo Event by its ID. Run List Events first to find a valid eventId. Example: call with eventId: "4" to get that event's full Name, Code, StartDateTime, FinishDateTime, Status, and venue/presenter links. See the documentation.

Full schema: https://pipedream.com/apps/arlo/actions/get-event.md

### `arlo-get-registration` — Get Registration (Read-only)

Retrieve full registration plus attendee/contact detail for a single registration by its ID. Run List Registrations first to find a valid registrationId. Example: call with registrationId: "3" to get that registration's Status, CreatedDateTime, and attendee Contact (name, email). See the…

Full schema: https://pipedream.com/apps/arlo/actions/get-registration.md

### `arlo-list-event-templates` — List Event Templates (Read-only)

List Arlo EventTemplate (course) records. Use this first to discover the template Code and TemplateID values needed by Create Event and List Events. Optionally filter by status. Results are paged (see limit/skip); if the page comes back full, call again with a higher skip for more. Use fields to…

Full schema: https://pipedream.com/apps/arlo/actions/list-event-templates.md

### `arlo-list-events` — List Events (Read-only)

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…

Full schema: https://pipedream.com/apps/arlo/actions/list-events.md

### `arlo-list-presenters` — List Presenters (Read-only)

List Arlo contact records that serve as presenters. NOTE: the Arlo Contacts collection has no dedicated 'is presenter' filter, so this returns contact records and callers should filter by tag/code externally. Results are paged (see limit/skip); if the page comes back full, call again with a higher…

Full schema: https://pipedream.com/apps/arlo/actions/list-presenters.md

### `arlo-list-registrations` — List Registrations (Read-only)

List Arlo registration records with embedded attendee/contact detail, optionally filtered by event. Run List Events first to obtain an eventId. 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 — registration…

Full schema: https://pipedream.com/apps/arlo/actions/list-registrations.md

### `arlo-list-venues` — List Venues (Read-only)

List Arlo venue records. Use the returned VenueID values when specifying VenueDetails in Create Event sessions. Optionally filter by status. 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 venue…

Full schema: https://pipedream.com/apps/arlo/actions/list-venues.md

### `arlo-update-presenter` — Update Presenter (Write)

Update an existing Arlo presenter (contact) record. Only the fields you provide are changed (applied as a partial PATCH diff). Run List Presenters first to find a valid presenterId. Example: call with presenterId: "102", email: "jim.halpert@athlead.com" to change just that contact's email and leave…

Full schema: https://pipedream.com/apps/arlo/actions/update-presenter.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
