Integrate Arlo MCP server into your Slack workspace for instant access to your AI agent.
Tools that your AI agent can use through this MCP server to interact with Arlo
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 all other fields untouched. See the documentation.
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 lists. Example: call with status: "Active" to get up to 100 active venues with VenueID, Name, Status. See the documentation.
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 lists can be very large (thousands of records) and each record is verbose. Example: call with eventId: "4", limit: 50 to get up to 50 registrations for event 4 with RegistrationID, Status, Contact. See the documentation.
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 skip for more. Use fields to shrink the response for large contact lists. Example: call with status: "Active", limit: 50 to get up to 50 active contacts with ContactID, FirstName, LastName, Email. See the documentation.
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.
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 shrink the response for large template lists. Example: call with status: "Active" to get up to 100 active templates with TemplateID, Code, Name. See the documentation.
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 documentation.
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.
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 ContactID. See the documentation.
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 the template Code. Example: call with templateCode: "SP1", sessions: '[{"Name":"Day 1","StartDateTime":"2026-09-15T09:00:00+12:00","EndDateTime":"2026-09-15T17:00:00+12:00"}]' to schedule one session under that template. See the documentation.