Skip to content

Default

Envoy
API integration

Ship Default features without building the integration. Full Envoy API access via Proxy, normalized data through Unified APIs, and 40+ MCP-ready tools for AI agents — all extensible to your exact use case.

Talk to us
Envoy

Use Cases

Why integrate with Envoy

Common scenarios for SaaS companies building Envoy integrations for their customers.

01

Automate visitor pre-registration from your scheduling or CRM platform

If your SaaS handles meeting scheduling, candidate interviews, or client visits, you can automatically create Envoy invites when events are booked — eliminating manual front-desk coordination and delivering a polished guest experience for your customers' offices.

02

Sync workplace occupancy data into analytics or facility management tools

SaaS companies building workplace analytics, real estate optimization, or smart building products can pull work schedules, desk reservations, and visitor entries from Envoy to give their customers accurate, real-time headcount and utilization data.

03

Enforce physical security policies from identity or HR platforms

Security orchestration and HRIS products can programmatically manage Envoy blocklist entries — automatically flagging terminated employees or known threats at the front desk the moment a status change happens in the upstream system.

04

Trigger access credentials and Wi-Fi provisioning on visitor check-in

Physical access control and IT networking SaaS products can use Envoy entry and invite check-in data to provision temporary badges, door access, or guest Wi-Fi credentials — and revoke them automatically when the visit ends.

05

Dynamically adjust office services based on scheduled attendance

Corporate catering, cleaning, or energy management platforms can pull Envoy work schedules and reservations daily to right-size service orders and building operations based on who's actually expected in the office.

What You Can Build

Ship these features with Truto + Envoy

Concrete product features your team can ship faster by leveraging Truto’s Envoy integration instead of building from scratch.

01

One-click visitor invite creation from any workflow

Automatically push visitor invites into Envoy — with expected arrival time, host, and location — whenever an onsite event is scheduled in your product.

02

Real-time office headcount dashboard

Aggregate work schedules, desk reservations, and visitor entries across all Envoy locations to display live and forecasted occupancy in your product.

03

Automated blocklist management

Create, update, or remove Envoy blocklist entries directly from your security or HR platform whenever employee status or threat intelligence changes.

04

Desk and space inventory sync

Pull all desks, spaces, and locations from Envoy to render interactive floor maps or feed space utilization models inside your facility management tool.

05

Employee directory sync via Unified User Directory API

Use Truto's Unified User Directory API to read Envoy employees and locations into your product's user model without writing Envoy-specific code.

06

Visitor lifecycle automation with check-in and check-out hooks

Trigger downstream actions — badge provisioning, Slack notifications, access grants — by monitoring invite check-ins and reservation check-in/check-out events through Envoy's API.

SuperAI

Envoy AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_envoy_companies

List companies in Envoy. Returns id, name, locationIds, createdAt, updatedAt, and subscriptions for each company.

list_all_envoy_invites

List all invites in Envoy. Returns id, createdAt, updatedAt, expectedArrivalAt, expectedDepartureAt, type, flowId, locationId, approvalStatus, notes, customFields, secretToken, sendEmailToInvitee, invitee, host, and photoUrl in the response.

get_single_envoy_invite_by_id

Get an invite by id in Envoy. Requires id. Returns fields including id, createdAt, updatedAt, expectedArrivalAt, type, approvalStatus, invitee, host, and locationId providing key details about the invite.

create_a_envoy_invite

Create an invite in Envoy. Requires invite data including expectedArrivalAt, invitee, type, and locationId. Returns id, createdAt, updatedAt, expectedArrivalAt, type, invitee, and other key fields confirming creation details. Flow and employee must match the location or invite creation may fail.

update_a_envoy_invite_by_id

Update an invite in Envoy by id. The flowId and hostEmployeeId must match the locationId, or the update will fail. Returns id, createdAt, updatedAt, expectedArrivalAt, type, invitee, and related fields with updated invite information.

delete_a_envoy_invite_by_id

Delete an invite by id in Envoy. Requires id. Returns an empty data object indicating successful deletion.

envoy_invites_check

Check in an invite in Envoy using id. Converts an invite into an entry record. Returns id, fullName, email, isDelivery, agreementStatus, notes, signedOutAt, SignedInAt, flowId, locationId, customFields, and host details in the response.

get_single_envoy_entry_by_id

Get a specific entry in Envoy by id. Returns key details including id, fullName, email, signedInAt, signedOutAt, isDelivery, host, invite, and customFields.

list_all_envoy_entries

List entries in Envoy. Returns id, fullName, email, signedInAt, signedOutAt, host, invite, and other related entry details.

create_a_envoy_entry

Create an entry in Envoy by providing locationId, flowId, and fullName. Returns entry details including id, fullName, email, flowId, locationId, signedInAt, signedOutAt, host, and invite.

update_a_envoy_entry_by_id

Update an entry in Envoy using id. Returns entry details including id, fullName, email, isDelivery, agreementsStatus, host, invite, and timestamps such as signedInAt and signedOutAt.

list_all_envoy_locations

List locations in Envoy for a specific company. Returns each location's id, name, address details, enabled status, companyId, locale, logoUrl, timezone, capacityLimit, createdAt, and updatedAt.

get_single_envoy_location_by_id

Get a location in Envoy using id. Returns id, name, address, enabled, companyId, locale, logoUrl, timezone, capacityLimit, createdAt, and updatedAt.

list_all_envoy_employees

List employees in Envoy. Returns id, name, email, locationIds, createdAt, and updatedAt for each employee.

get_single_envoy_employee_by_id

Get an employee in Envoy by id. Returns id, name, email, locationIds, createdAt, and updatedAt fields in the response.

list_all_envoy_flows

List flows in Envoy. Returns id, name, type, enabled, locationId, createdAt, and updatedAt for each flow. Results may be limited based on your company subscription plan.

get_single_envoy_flow_by_id

Get details for a specific flow in Envoy using id. Returns id, name, type, enabled status, locationId, createdAt, and updatedAt fields describing the flow.

get_single_envoy_recurring_invite_by_id

Get details of a specific recurring invite in Envoy using id. Returns fields such as id, createdAt, updatedAt, startTime, recurrenceRule, invitee, and related inviteIds for the recurring schedule.

create_a_envoy_recurring_invite

Create a recurring invite in Envoy. Requires startTime, recurrenceRule, locationId, invitee, and flowId. Returns key fields including id, createdAt, updatedAt, startTime, recurrenceRule, invitee, and inviteIds representing generated child invites.

update_a_envoy_recurring_invite_by_id

Update a recurring invite in Envoy using id. The flowId and hostEmployeeId must match the locationId or the update may fail. Returns id, createdAt, updatedAt, startTime, recurrenceRule, invitee, and related fields.

list_all_envoy_work_schedules

List WorkSchedules in Envoy. Returns id, expectedArrivalAt, expectedDepartureAt, arrivedAt, departedAt, flowId, locationId, approvalStatus, registrationURL, scheduledFor, createdAt, and updatedAt for each WorkSchedule.

get_single_envoy_work_schedule_by_id

Get a specific work-schedule in Envoy using id. Returns fields including id, expectedArrivalAt, expectedDepartureAt, approvalStatus, locationId, and scheduledFor details such as name and email.

create_a_envoy_work_schedule

Create a new WorkSchedule for a given employee at a specific location in Envoy. Requires locationId, email, and expectedArrivalAt. Returns id, approvalStatus, registrationURL, scheduledFor, and timestamps in the response.

delete_a_envoy_work_schedule_by_id

Delete a specific work-schedule in Envoy. Requires id. Returns 204 No Content indicating successful deletion.

envoy_work_schedules_check_in

Check in a WorkSchedule in Envoy using id. Signs the employee in for the day. Returns 204 No Content on success.

envoy_work_schedules_check_out

Check out a WorkSchedule in Envoy using id. This signs out the employee associated with the work schedule for the day. Returns no content upon successful completion.

list_all_envoy_blocklist_entries

List blocklist-entries in Envoy. Returns id, emails, fullName, reason, locationId, photoUrl, createdAt, and updatedAt for each entry.

get_single_envoy_blocklist_entry_by_id

Get a specific blocklist entry in Envoy by id. Returns id, emails, fullName, reason, locationId, photoUrl, createdAt, and updatedAt fields describing the blocked person.

create_a_envoy_blocklist_entry

Create a blocklist entry in Envoy. Requires emails, reason, and locationId. Returns id, emails, reason, locationId, photoUrl, createdAt, and updatedAt fields in the response.

update_a_envoy_blocklist_entry_by_id

Update a blocklist entry in Envoy by id. Returns id, emails, fullName, reason, locationId, photoUrl, createdAt, and updatedAt fields in the response.

delete_a_envoy_blocklist_entry_by_id

Delete a blocklist entry in Envoy using id. Returns a void object in the response when successful.

list_all_envoy_reservations

List reservations in Envoy limited to a maximum of 30 days' worth of data. Returns fields including id, startTime, endTime, status, checkedInAt, checkedOutAt, space details, and reservedBy information.

get_single_envoy_reservation_by_id

Get a reservation in Envoy by id. Returns reservation details including startTime, endTime, status, reservedBy, and space information (id, name, type, and availability).

create_a_envoy_reservation

Create a reservation in Envoy for a specific user. Requires locationId, spaceType, userEmail, and startTime. Returns id, startTime, endTime, space details, status, and reservedBy in the response.

envoy_reservations_check_in

Check-in to a reservation in Envoy using id. This action starts the reservation and returns no content in the response.

envoy_reservations_check_out

End an active reservation in Envoy using id. Completes the reservation, frees the space for others, and removes the event from the user's calendar. The response indicates success with no content.

envoy_reservations_cancel

Cancel a pending reservation in Envoy using id. This makes the reserved space available for others to book. Returns no response body upon successful cancellation.

list_all_envoy_spaces

List spaces in Envoy such as desks or rooms. Returns id, name, type, createdAt, updatedAt, isAvailable, assignedTo, locationId, floorId, floorName, neighborhoodId, and neighborhoodName for each space.

get_single_envoy_space_by_id

Get a space in Envoy using id. Returns key fields such as id, name, type, createdAt, updatedAt, locationId, floorId, and floorName to describe the space’s identity, type, creation details, and location mapping.

list_all_envoy_desks

List desks in Envoy. Returns each desk's id, name, createdAt, updatedAt, availability (isAvailable), assignedTo email, and location, floor, and neighborhood details.

get_single_envoy_desk_by_id

Get a desk in Envoy using id. Returns fields such as id, name, createdAt, updatedAt, isAvailable, assignedTo, locationId, floorId, floorName, neighborhoodId, neighborhoodName, xPos, and yPos.

create_a_envoy_desk

Create a desk in Envoy using locationId, floorId, and name. Returns id, name, createdAt, updatedAt, isAvailable, assignedTo, locationId, floorId, floorName, neighborhoodId, neighborhoodName, xPos, and yPos.

update_a_envoy_desk_by_id

Update a desk in Envoy using id. Returns fields such as id, name, assignedTo, isAvailable, locationId, floorId, neighborhoodId, floorName, neighborhoodName, xPos, yPos, createdAt, and updatedAt.

delete_a_envoy_desk_by_id

Delete a desk in Envoy using id. Requires id. The response returns a null object in data indicating deletion success.

Why Truto

Why use Truto’s MCP server for Envoy

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for Envoy

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified User Directory API

Users

The User object represents a User.

View Docs

How It Works

From zero to integrated

Go live with Envoy in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Envoy account

Use Truto’s frontend SDK to connect your customer’s Envoy account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Envoy

Truto’s Proxy API is a 1-to-1 mapping of the Envoy API. You call us, we call Envoy, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Envoy’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Envoy on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What authentication method does the Envoy integration use?

Truto handles OAuth 2.0 authentication with Envoy on behalf of your end users. Your customers connect their Envoy accounts through Truto's embedded auth flow, and Truto manages token refresh and secure credential storage.

Which Envoy resources can I read and write through Truto?

You get full CRUD on invites, entries, work schedules, desks, blocklist entries, and recurring invites. You can also create and manage reservations (including check-in, check-out, and cancel), list companies, locations, employees, flows, and spaces. Specific actions like invite check-in and work schedule check-in/check-out are also supported.

Does Truto provide a unified API for Envoy employee data?

Yes. Envoy employees are mapped to Truto's Unified User Directory API (Users resource), so you can read employee data using the same schema you'd use for any other directory provider — no Envoy-specific parsing required.

Can I manage recurring visitor invites through the integration?

Yes. You can create, read, and update recurring invites using the dedicated recurring invite endpoints, which is useful for regularly scheduled visitors like contractors or weekly vendor meetings.

How does Truto handle pagination and rate limits for Envoy?

Truto abstracts away Envoy's pagination automatically — list endpoints return complete result sets without you needing to manage cursors or page tokens. Rate limit handling, including retries and backoff, is managed by Truto's proxy layer.

Can I filter Envoy data by location?

Yes. You can list all locations via the locations endpoint and then scope queries for invites, entries, work schedules, desks, and reservations to a specific location — enabling multi-site support in your product.

Envoy

Get Envoy integrated into your app

Our team understands what it takes to make a Envoy integration successful. A short, crisp 30 minute call with folks who understand the problem.

Talk to us