# Authentication
Source: https://docs.trellistech.com/api-reference/authentication
Workspace API keys, programmatic session authentication, and security guidance for Trellis integrations.
Trellis supports two authentication methods for API access:
1. **Workspace API keys** for trusted server-side integrations and MCP clients.
2. **Programmatic session tokens** for email/password authentication flows.
## Workspace API keys
Send the workspace API key as a Bearer token in the `Authorization` header:
```bash cURL theme={null}
curl -H "Authorization: Bearer trls_acmevaca_abc123..." \
https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks
```
```javascript JavaScript theme={null}
const response = await fetch('https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks', {
headers: {
Authorization: `Bearer ${process.env.TRELLIS_API_KEY}`,
},
})
```
### Obtain an API key
1. Log in to the [Trellis Dashboard](https://app.trellistech.com).
2. Open the workspace where the integration should operate.
3. Go to **Settings > Developer** and open the **Developer / API** section.
4. In **API Keys**, click **Create Key**.
5. Give the key a clear name, such as "Operations MCP" or "Reporting worker".
6. For a server integration, select each workspace the key should access.
7. Copy the key immediately and store it in your server-side secret manager.
API keys are only displayed once. If you lose a key, revoke it and create a new one.
Only an active Trellis workspace administrator can create, update, or revoke keys. A key is automatically bound to the current workspace. There is no workspace selector, and an external integration cannot mint keys or grant itself access to another workspace.
### Key scope
Each API key has exactly one owner workspace where administrators manage it. Trellis rejects requests when the workspace in the URL is not that owner workspace.
Call `GET /api/v1/workspaces` with the key to discover its owner workspace `id` and display `name`. Use that `id` in workspace-scoped API requests.
To change an existing server integration key, open its **Permissions** action in **Settings > Developer**. You can update its scopes without replacing or revealing the key. Its workspace cannot be changed.
| Scope | Behavior |
| ---------------- | ------------------------------------------------------------------ |
| Workspace scope | The key can access only the current workspace where it was created |
| Server-side only | Do not expose the key in browser or mobile client code |
| Revocable | Revoked keys stop working immediately |
The same key format works for the [Public REST API](/api-reference/public-rest-api) and [Trellis MCP Server](/api-reference/mcp-server).
### Revoking a key
1. Go to **Settings > Developer** and open the **Developer / API** section.
2. Find the key you want to revoke.
3. Click **Revoke**.
4. Confirm the action.
Any client using the revoked key will receive `401 Unauthorized`.
## Programmatic session authentication
Use the auth endpoints to authenticate with email and password and receive a session token. This is useful for integrations that run under a specific Trellis user account.
### Create a session
```bash theme={null}
curl -X POST \
-H "Content-Type: application/json" \
-d '{"email":"operator@example.com","password":"YOUR_PASSWORD"}' \
"https://app.trellistech.com/api/v1/auth/token"
```
Response:
```json theme={null}
{
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "YOUR_REFRESH_TOKEN",
"tokenType": "bearer",
"expiresIn": 3600,
"expiresAt": "2026-06-23T18:00:00.000Z",
"user": {
"id": "11111111-1111-4111-8111-111111111111",
"email": "operator@example.com",
"fullName": "Ari Operator",
"avatarUrl": null,
"createdAt": "2026-01-15T10:00:00.000Z",
"lastSignInAt": "2026-06-23T17:00:00.000Z"
}
}
```
Use the `accessToken` as a Bearer token for subsequent requests:
```bash theme={null}
curl -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks"
```
### Refresh a session
Access tokens expire. Use the refresh token to get a new access token without re-authenticating:
```bash theme={null}
curl -X POST \
-H "Content-Type: application/json" \
-d '{"refreshToken":"YOUR_REFRESH_TOKEN"}' \
"https://app.trellistech.com/api/v1/auth/refresh"
```
The response has the same shape as `POST /auth/token`. Store the new `refreshToken` for subsequent refreshes.
### Get the authenticated profile
```bash theme={null}
curl -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
"https://app.trellistech.com/api/v1/auth/me"
```
Response:
```json theme={null}
{
"user": {
"id": "11111111-1111-4111-8111-111111111111",
"email": "operator@example.com",
"fullName": "Ari Operator",
"avatarUrl": null,
"createdAt": "2026-01-15T10:00:00.000Z",
"lastSignInAt": "2026-06-23T17:00:00.000Z"
}
}
```
### Auth endpoints summary
| Method | Path | Description |
| ------ | ---------------------- | ------------------------------------ |
| `POST` | `/api/v1/auth/token` | Authenticate with email and password |
| `POST` | `/api/v1/auth/refresh` | Refresh an expired access token |
| `GET` | `/api/v1/auth/me` | Get the authenticated user profile |
The auth endpoints authenticate existing Trellis user profiles. They do not create new users or
workspace memberships. Workspace API keys (`trls_...`) do not have user profiles and will receive
`401` from `GET /auth/me`.
## Security best practices
* Store keys and tokens in environment variables or a secret manager.
* Never commit a key to source control.
* Rotate keys periodically.
* Create separate keys for separate systems so you can revoke one integration without disrupting others.
* Use explicit user confirmation before any connected client creates tasks, updates records, or sends messages.
* For programmatic sessions, store refresh tokens securely and refresh proactively before the access token expires.
## Related articles
* [API Reference](/api-reference/introduction)
* [Public REST API](/api-reference/public-rest-api)
* [Trellis MCP Server](/api-reference/mcp-server)
* [Settings & Admin](/platform/settings)
# API Reference
Source: https://docs.trellistech.com/api-reference/introduction
Connect external AI clients and trusted services to Trellis with workspace-scoped API keys.
The Trellis API surface is focused on secure workspace access for trusted integrations. Use it when an external system needs to create, read, update, or delete Trellis operational objects, or connect an AI client to approved workspace tools.
The public REST API covers CRUD access for tasks and properties, plus daily work orders and
programmatic authentication. Other Trellis objects are available through documented MCP tools or
by agreement with Trellis support. Do not build against undocumented endpoints.
## Base URL
Use the production API host:
```text theme={null}
https://api.trellistech.com
```
The hosted MCP endpoint is:
```text theme={null}
https://api.trellistech.com/v1/mcp-server
```
The public REST API endpoint is served from the Trellis app host:
```text theme={null}
https://app.trellistech.com/api/v1
```
## Authentication
Every trusted request must include a Bearer token in the `Authorization` header. Use a workspace API key for server-side integrations, or a session access token from `POST /api/v1/auth/token` for programmatic user authentication:
```bash theme={null}
curl -H "Authorization: Bearer trls_acmevaca_abc123..." \
https://app.trellistech.com/api/v1/workspaces/acme-vacations/properties
```
See [Authentication](/api-reference/authentication) for key management, session tokens, and security guidance.
## Available integration surface
Create, read, update, and delete versioned task and property contracts with workspace API keys.
Connect MCP-compatible clients to Trellis tools.
Workspace API keys and programmatic session authentication.
## Contract versions
| Contract | Version |
| ----------------- | ------------------- |
| Public REST API | `v1` |
| API contract | `1.10.0` |
| OpenAPI document | `3.1.1` |
| Tasks object | `tasks.v1.3.0` |
| Properties object | `properties.v1.2.0` |
Open the interactive REST reference at [app.trellistech.com/public-docs](https://app.trellistech.com/public-docs).
## What MCP tools can access
The hosted MCP server exposes Trellis operational tools for workspace data such as tasks, properties, reservations, conversations, workforce, knowledge base, and automations. Write actions are gated by the tool contract and should be paired with explicit user confirmation in your client.
API keys remain workspace-scoped. Server integration keys can access only the explicit workspace
grants selected by an administrator. MCP client keys remain limited to their owner workspace.
## Status and errors
API responses use standard HTTP status codes. Include the request ID when contacting support about a specific call.
| Status | Meaning |
| ------ | ------------------------------------------------------------------------------ |
| `200` | Request succeeded |
| `400` | Request was malformed |
| `401` | API key is missing, invalid, expired, or not valid for the requested workspace |
| `403` | Authenticated user does not have access to the requested workspace |
| `429` | Too many requests |
| `500` | Unexpected server error |
## Related articles
* [Authentication](/api-reference/authentication)
* [Public REST API](/api-reference/public-rest-api)
* [Trellis MCP Server](/api-reference/mcp-server)
* [Settings & Admin](/platform/settings)
# Trellis MCP Server
Source: https://docs.trellistech.com/api-reference/mcp-server
Install Trellis tools in any MCP-compatible client.
The Trellis MCP server lets external AI clients use Trellis tools through a standard MCP connection. Use the hosted Streamable HTTP endpoint when your client supports it, or the stdio bridge from the npm package when it does not.
## Hosted endpoint
```text theme={null}
https://api.trellistech.com/v1/mcp-server
Authorization: Bearer trls_...
```
Use this endpoint when your MCP client supports Streamable HTTP.
## Quick install
### Claude Code
```bash theme={null}
npx -y @trellistech/mcp-server install claude-code
```
The installer prompts once for `TRELLIS_API_KEY`, stores it in `~/.trellis/mcp.env`, and registers the hosted Streamable HTTP endpoint with Claude Code.
Manual equivalent:
```bash theme={null}
export TRELLIS_API_KEY=trls_...
claude mcp add --transport http --scope user \
trellis https://api.trellistech.com/v1/mcp-server \
--header "Authorization: Bearer $TRELLIS_API_KEY"
```
### Claude Desktop
Print the config snippet:
```bash theme={null}
npx -y @trellistech/mcp-server print-config claude-desktop
```
Add the output to `mcp.json` and set `TRELLIS_API_KEY` in your shell or launcher environment.
### Claude Cowork
Use the hosted endpoint as a Claude custom connector:
```text theme={null}
Settings: https://claude.ai/customize/connectors
Server URL: https://api.trellistech.com/v1/mcp-server
Credential: Trellis workspace API key, when prompted
```
Print the same instructions from the CLI:
```bash theme={null}
npx -y @trellistech/mcp-server print-config claude-hosted
```
### Cursor and Codex
Workspace admins can also connect from **Settings > Developer** in Trellis. The **Developer / API** section can create a workspace key and prepare setup instructions for Claude Code, Claude Desktop, Claude Cowork, Cursor, and Codex.
### Generic MCP clients
Prefer Streamable HTTP:
```text theme={null}
https://api.trellistech.com/v1/mcp-server
Authorization: Bearer trls_...
```
For stdio-only clients:
```json theme={null}
{
"mcpServers": {
"trellis": {
"command": "npx",
"args": ["-y", "@trellistech/mcp-server", "stdio"],
"env": {
"TRELLIS_API_KEY": "trls_...",
"TRELLIS_MCP_URL": "https://api.trellistech.com/v1/mcp-server"
}
}
}
}
```
Provide `TRELLIS_API_KEY` in the client environment before starting the stdio bridge.
## Workspace selection
Trellis API keys are workspace-scoped. Every MCP tool includes an optional `workspace_id` argument. Leave it empty to use the workspace this API key was issued for. If you provide it, it must match the key's scope; cross-workspace calls are rejected.
```json theme={null}
{
"workspace_id": "haven-vacation-rentals",
"limit": 10
}
```
To operate on multiple workspaces, issue one API key per workspace and connect each as a separate MCP server (e.g. `trellis-haven`, `trellis-renjoy`). Revoking a key in one workspace stops access there without affecting the others.
## Tool catalog
Use your MCP client's tool list or run:
```bash theme={null}
npx -y @trellistech/mcp-server doctor
```
The exposed catalog mirrors Trellis operational read tools and gated write tools across tasks, properties, reservations, conversations, workforce, knowledge base, and automations.
### Read filters and financial data
* The input schema published by each tool is authoritative. Unsupported filter
names are rejected instead of being accepted and silently ignored.
* Reservation reads expose payment status and provider/source freshness only
through the financial preset and only when the API-key user has revenue
access. Those fields report PMS evidence; they do not authorize charging a
guest, sending a payment link, issuing a refund, or blocking access.
* When a tool does not publish a filter or field needed by your integration,
treat it as unavailable and contact support rather than filtering a broader
response locally and assuming the server enforced the scope.
## Resources
The hosted endpoint also exposes read-only MCP resources:
| Resource URI | Description |
| --------------------------------------------- | ------------------------------- |
| `trellis://agents/{agent_id}/profile` | Agent profile and configuration |
| `trellis://agents/{agent_id}/memory` | Recent agent memory |
| `trellis://knowledge/documents/{document_id}` | Workspace knowledge documents |
| `trellis://knowledge/skills/{document_id}` | Agent-facing skills |
Resources are scoped to the workspace API key. Use them when a client needs instructions, skills, or agent knowledge as context without calling a Trellis operation tool.
## Safety model
* Read tools work immediately after authentication.
* Write tools keep the same permission and confirmation behavior as Trellis.
* Messaging tools must show the payload and wait for explicit confirmation before sending.
* Each tool call stays within the API key's workspace and the user's permissions.
* Clients receive a clear error when a call cannot be completed.
* The hosted endpoint applies basic per-key rate limiting.
## Example: Slack triage bot in 5 minutes
1. Add the Trellis MCP server to the AI client that powers your Slack bot.
2. Store `TRELLIS_API_KEY` in the bot runtime environment.
3. In your bot instructions, tell it to use Trellis tools for task lookup, task summaries, and task updates.
4. Require explicit confirmation before calling any tool that creates tasks, updates tasks, or sends messages.
5. Include `workspace_id` in tool calls when the bot serves more than one workspace.
## Troubleshooting
| Symptom | Fix |
| --------------------------- | --------------------------------------------------------------------- |
| `Missing TRELLIS_API_KEY` | Run the installer again or export the key. |
| `Unauthorized` | Recreate the API key from **Settings > Developer**. |
| `Rate limit exceeded` | Retry after a minute or reduce concurrent calls. |
| Tools appear but calls fail | Check that the user behind the key belongs to the selected workspace. |
| No tools listed | Confirm the API key belongs to a Trellis user with workspace access. |
## Related articles
* [API Reference](/api-reference/introduction)
* [Authentication](/api-reference/authentication)
* [Public REST API](/api-reference/public-rest-api)
* [AI Hub](/platform/ai-hub)
# Public REST API
Source: https://docs.trellistech.com/api-reference/public-rest-api
Manage Trellis tasks, properties, and workflow automations with versioned public REST contracts.
The Public REST API gives trusted server-side integrations access to their allowed workspaces, Trellis tasks, checklist actions, durable task photos copied from external sources, task tags, assignable users, departments, properties, and workflow automations. It uses workspace API keys created in **Settings > Developer**.
This REST surface is intentionally narrow. Use the dedicated Workflow OpenAPI document for
workflow definitions, runs, tests, approvals, and migration controls. Use documented MCP tools or
contact Trellis support before building against other objects.
## Base URL
```text theme={null}
https://app.trellistech.com/api/v1
```
Interactive reference:
```text theme={null}
https://app.trellistech.com/public-docs
```
OpenAPI document:
```text theme={null}
https://app.trellistech.com/api/v1/openapi.public.json
```
Workflow OpenAPI document:
```text theme={null}
https://app.trellistech.com/api/v1/openapi.workflows.json
```
## Authentication
Send the workspace API key as a Bearer token:
```bash theme={null}
curl -H "Authorization: Bearer trls_acmevaca_abc123..." \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/properties?limit=25"
```
Discover the workspaces available to a key before calling workspace-scoped routes:
```bash theme={null}
curl -H "Authorization: Bearer $TRELLIS_API_KEY" \
"https://app.trellistech.com/api/v1/workspaces"
```
```json theme={null}
{
"workspaces": [
{
"id": "acme-vacations",
"name": "Acme Vacations"
},
{
"id": "beachside-stays",
"name": "Beachside Stays"
}
]
}
```
Use the returned `id` as `{workspaceId}`. The response contains only the key's owner workspace.
Public REST calls do not require a Trellis web login session or browser cookie. Store API keys only in trusted server-side environments, and rotate a key from **Settings > Developer** if it is exposed.
Keys created for a named server integration are single-workspace technical identities. The administrator who creates the key is retained for audit only and is not exposed as a user or assignee. Requests are limited to the key's owner workspace and scopes, and the key remains active until it expires or an administrator of that workspace revokes it.
RapidEye integration keys accept only the task read, create, update, and delete scopes plus the property-read, checklist, department, user, attachment, and task-tag scopes selected by the RapidEye preset. Wildcard, MCP, property-write, and other public scopes are rejected for this principal type. Task deletion uses Trellis soft-delete behavior and remains limited to the key's owner workspace.
With `properties:read`, a RapidEye key can list properties or retrieve one property by ID. These responses contain only `id`, `name`, `internalName`, `internalCode`, and `status`. Creating, updating, and deleting properties remain unavailable to RapidEye keys.
MCP client keys remain member-based and inherit the creator's active workspace membership and role.
When creating a key for an integration, select only the scopes that integration needs. The interactive reference lists the required scope for each operation.
You can also authenticate with an access token obtained from `POST /api/v1/auth/token`. See [Authentication](/api-reference/authentication) for details.
The linked OpenAPI spec (`openapi.public.json`) documents workspace API key authentication only.
Session access tokens work at runtime but are not reflected in the generated spec.
## Contract versions
| Contract | Version | Notes |
| ----------------- | ------------------------- | ------------------------------------------------------------------------ |
| Public REST API | `v1` | Versioned in the URL path |
| API contract | `1.16.0` | Adds the workflow definition, execution, testing, and migration surface |
| OpenAPI document | `3.1.1` | Available at `/api/v1/openapi.public.json` |
| Tasks object | `tasks.v1.3.0` | Adds daily work orders, cost items, assignees, and expanded filters |
| Task checklists | `task-checklists.v1.3.0` | Mirrors RapidEye links into task descriptions; other sources stay local |
| Task attachments | `task-attachments.v1.2.0` | Stores durable photos and queues standard task-media sync |
| Task tags | `task-tags.v1.2.0` | Manages task tags and queues mapped provider-tag sync |
| Properties object | `properties.v1.3.0` | Adds the limited property discovery response used by server integrations |
Breaking changes require a new object contract version or a new REST API version.
## Endpoints
### Workspace discovery
| Method | Path | Description |
| ------ | ------------- | -------------------------------------------- |
| `GET` | `/workspaces` | List the workspaces available to the API key |
### Properties
| Method | Path | Description |
| --------------- | --------------------------------------------------- | -------------------------------------------- |
| `GET` | `/workspaces/{workspaceId}/properties` | List non-deleted properties in the workspace |
| `POST` | `/workspaces/{workspaceId}/properties` | Create a property |
| `GET` | `/workspaces/{workspaceId}/properties/{propertyId}` | Get one property by ID |
| `PATCH` / `PUT` | `/workspaces/{workspaceId}/properties/{propertyId}` | Update property fields |
| `DELETE` | `/workspaces/{workspaceId}/properties/{propertyId}` | Soft-delete a property |
### Tasks
| Method | Path | Description |
| --------------- | --------------------------------------------------- | ---------------------------------------- |
| `GET` | `/workspaces/{workspaceId}/tasks` | List non-deleted tasks in the workspace |
| `GET` | `/workspaces/{workspaceId}/tasks/daily-work-orders` | List daily work orders with cost summary |
| `POST` | `/workspaces/{workspaceId}/tasks` | Create a task |
| `GET` | `/workspaces/{workspaceId}/tasks/{taskId}` | Get one task by ID |
| `PATCH` / `PUT` | `/workspaces/{workspaceId}/tasks/{taskId}` | Update task fields |
| `DELETE` | `/workspaces/{workspaceId}/tasks/{taskId}` | Soft-delete a task |
### Task checklist actions, attachments, and tags
| Method | Path | Description |
| -------- | ------------------------------------------------------------------- | ---------------------------------------------------- |
| `GET` | `/workspaces/{workspaceId}/tags` | List active tags that can be assigned to tasks |
| `GET` | `/workspaces/{workspaceId}/tasks/{taskId}/checklist-items` | List checklist items on an accessible workspace task |
| `POST` | `/workspaces/{workspaceId}/tasks/{taskId}/checklist-items` | Add a linked action and mirror RapidEye links |
| `PATCH` | `/workspaces/{workspaceId}/tasks/{taskId}/checklist-items/{itemId}` | Idempotently complete the Trellis checklist item |
| `POST` | `/workspaces/{workspaceId}/tasks/{taskId}/attachments` | Store a durable photo and queue standard media sync |
| `GET` | `/workspaces/{workspaceId}/tasks/{taskId}/tags` | List active tags assigned to the task |
| `POST` | `/workspaces/{workspaceId}/tasks/{taskId}/tags` | Assign a tag and queue mapped provider-tag sync |
| `DELETE` | `/workspaces/{workspaceId}/tasks/{taskId}/tags/{tagId}` | Remove a tag and queue mapped provider-tag sync |
### Workspace lookups
| Method | Path | Description |
| ------ | --------------------------------------- | --------------------------------------------------- |
| `GET` | `/workspaces/{workspaceId}/departments` | List department IDs accepted by task creation |
| `GET` | `/workspaces/{workspaceId}/users` | List active users that can be selected as assignees |
### Workflow automations
The Workflow API manages saved definitions and their immutable versions separately from executions. Use the dedicated Workflow OpenAPI document for all 48 operations and request schemas.
| Resource | Base path | Purpose |
| ------------------ | ----------------------------------------------------------- | -------------------------------------------- |
| Definitions | `/workspaces/{workspaceId}/workflows` | Create, list, update, pause, or delete flows |
| Versions | `/workspaces/{workspaceId}/workflows/{workflowId}/versions` | Save an immutable workflow version |
| Runs | `/workspaces/{workspaceId}/workflow-runs` | Start, inspect, retry, or cancel executions |
| Tests and fixtures | `/workspaces/{workspaceId}/workflow-test-fixtures` | Manage reusable test data |
| Variables | `/workspaces/{workspaceId}/workflow-variables` | Manage workspace-scoped workflow values |
| Approvals | `/workspaces/{workspaceId}/workflow-approvals` | Resolve steps that require human approval |
| Migration controls | `/workspaces/{workspaceId}/workflow-migrations` | Move an existing workflow through migration |
Workflow API keys use three least-privilege scopes:
* `workflows:read` reads definitions, versions, runs, tests, and related resources.
* `workflows:write` creates or changes saved resources.
* `workflows:execute` starts execution, activates a definition, resolves approvals, retries runs, and changes migration ownership.
Create and execution requests that declare `Idempotency-Key` can be retried safely with the same request body. Mutations that declare `If-Match` require the current `ETag`, which prevents one client from overwriting a newer change. Run requests return `202 Accepted`; follow the response's status URL until the run reaches a final state.
## Pagination
List endpoints accept `limit` and `offset`.
| Parameter | Default | Range |
| --------- | ------- | -------------- |
| `limit` | `50` | `1` to `100` |
| `offset` | `0` | `0` or greater |
Responses include:
```json theme={null}
{
"items": [],
"pagination": {
"total": 125,
"limit": 50,
"offset": 0,
"hasMore": true
}
}
```
## Properties
### List properties
```bash theme={null}
curl -H "Authorization: Bearer $TRELLIS_API_KEY" \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/properties?status=ACTIVE&q=duomo"
```
Supported filters:
| Query | Description |
| -------- | -------------------------------------------- |
| `status` | Property lifecycle status (see values below) |
| `q` | Search by name, internal code, or city |
| `limit` | Maximum number of properties |
| `offset` | Number of properties to skip |
Property statuses: `PROSPECT`, `ONBOARDING`, `ACTIVE`, `AT_RISK`, `INACTIVE`.
### Get a property
```bash theme={null}
curl -H "Authorization: Bearer $TRELLIS_API_KEY" \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/properties/11111111-1111-4111-8111-111111111111"
```
### Create a property
```bash theme={null}
curl -X POST \
-H "Authorization: Bearer $TRELLIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Casa Duomo","status":"ACTIVE","city":"Milano"}' \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/properties"
```
### Update a property
```bash theme={null}
curl -X PATCH \
-H "Authorization: Bearer $TRELLIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"wifiName":"Casa Duomo Guest","checkinTime":"15:00"}' \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/properties/11111111-1111-4111-8111-111111111111"
```
### Delete a property
```bash theme={null}
curl -X DELETE \
-H "Authorization: Bearer $TRELLIS_API_KEY" \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/properties/11111111-1111-4111-8111-111111111111"
```
### Property object
| Field | Type | Description |
| ----------------------- | ----------------- | ----------------------------------------- |
| `id` | `uuid` | Property ID |
| `workspaceId` | `string` | Workspace that owns the property |
| `name` | `string` | Display name |
| `internalName` | `string \| null` | Internal alias |
| `internalCode` | `string \| null` | Internal code |
| `status` | `string` | Lifecycle status |
| `lifecycleStage` | `string \| null` | Fine-grained lifecycle stage |
| `address` | `string \| null` | Street address |
| `city` | `string \| null` | City |
| `postalCode` | `string \| null` | Postal code |
| `country` | `string \| null` | Country code |
| `latitude` | `number \| null` | Latitude |
| `longitude` | `number \| null` | Longitude |
| `propertyType` | `string \| null` | Property type (e.g. `apartment`, `villa`) |
| `timezone` | `string \| null` | IANA timezone (e.g. `Europe/Rome`) |
| `bedrooms` | `integer \| null` | Number of bedrooms |
| `bathrooms` | `number \| null` | Number of bathrooms |
| `beds` | `integer \| null` | Number of beds |
| `maxGuests` | `integer \| null` | Maximum guest capacity |
| `squareMeters` | `number \| null` | Floor area in square meters |
| `floor` | `integer \| null` | Floor number |
| `hasElevator` | `boolean` | Whether the building has an elevator |
| `hasParking` | `boolean` | Whether parking is available |
| `hasSmartLock` | `boolean` | Whether a smart lock is installed |
| `checkinTime` | `string \| null` | Default check-in time |
| `checkinTimeEnd` | `string \| null` | Check-in window end time |
| `checkoutTime` | `string \| null` | Default checkout time |
| `checkinInstructions` | `string \| null` | Check-in instructions |
| `checkoutInstructions` | `string \| null` | Checkout instructions |
| `parkingInstructions` | `string \| null` | Parking instructions |
| `wifiName` | `string \| null` | WiFi network name |
| `cleaningFee` | `number \| null` | Cleaning fee |
| `managementFee` | `number \| null` | Management fee |
| `cleaningInstructions` | `string \| null` | Cleaning instructions |
| `propertyLicenseNumber` | `string \| null` | Property license or registration number |
| `customFields` | `object` | Workspace-specific property fields |
| `createdAt` | `datetime` | Creation timestamp |
| `updatedAt` | `datetime` | Last update timestamp |
Additional room count fields (`kitchens`, `livingRooms`, `hallways`, `terraces`, `balconies`, `gardens`), stay limits (`minNights`, `maxNights`, `minGuests`), and deal tracking (`dealValue`) are also available. See the interactive reference or OpenAPI document for the full schema.
## Tasks
### List tasks
```bash theme={null}
curl -H "Authorization: Bearer $TRELLIS_API_KEY" \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks?status=OPEN&priority=HIGH"
```
Supported filters:
| Query | Description |
| ---------------- | ---------------------------------------------------------------------------- |
| `status` | Task status (see values below) |
| `priority` | Task priority (see values below) |
| `propertyId` | UUID of the related property |
| `departmentId` | UUID of the related department |
| `departmentKind` | Filter by department kind (`field_ops`) |
| `scheduledDate` | Exact scheduled date (`YYYY-MM-DD`); overrides `scheduledFrom`/`scheduledTo` |
| `scheduledFrom` | Include tasks scheduled on or after this `YYYY-MM-DD` date |
| `scheduledTo` | Include tasks scheduled on or before this `YYYY-MM-DD` date |
| `include` | Comma-separated related resources: `costItems`, `assignees` |
| `q` | Search by title, description, or short ID |
| `limit` | Maximum number of tasks |
| `offset` | Number of tasks to skip |
Task statuses: `OPEN`, `CREATED`, `DRAFT`, `DRAFTED`, `SCHEDULED`, `IN_PROGRESS`, `FINISHED`, `CLOSED`, `PENDING_APPROVAL`, `REQUEST_APPROVED`, `REQUEST_REJECTED`, `COMPLETED`.
Task priorities: `WATCH`, `LOWEST`, `LOW`, `NORMAL`, `HIGH`, `URGENT`.
Task sources: `MANUAL`, `AUTOMATION`, `SCHEDULE_RULE`, `INTEGRATION`, `AI`, `REVIEW`, `MESSAGE`, `CALL`, `MEETING_BOT`.
### Embedding related resources
Use the `include` query parameter to embed cost items and assignees in the task response:
```bash theme={null}
curl -H "Authorization: Bearer $TRELLIS_API_KEY" \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks?include=costItems,assignees"
```
When included, each task will contain:
* `costItems`: Array of cost line items with `amount`, `currency`, `description`, `billToType`, `categoryName`, and `notes`.
* `assignees`: Array of task assignees with `role` (`PRIMARY` or `SECONDARY`), `type` (`USER` or `VENDOR`), `userId`, `vendorOrgId`, and `name`.
### Get a task
```bash theme={null}
curl -H "Authorization: Bearer $TRELLIS_API_KEY" \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks/22222222-2222-4222-8222-222222222222"
```
### Create a task
```bash theme={null}
curl -X POST \
-H "Authorization: Bearer $TRELLIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Replace bathroom light bulb","departmentId":"33333333-3333-4333-8333-333333333333","priority":"HIGH"}' \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks"
```
Task creation uses the same Trellis mutation path as the app: assignees, tags, visit links, activity, notifications, automations, enrichment, and connected operational sync are handled by the normal task side-effect pipeline.
Create request fields:
| Field | Type | Required | Description |
| -------------------------- | ---------------- | -------- | ------------------------------------------------- |
| `title` | `string` | Yes | Task title |
| `departmentId` | `uuid` | Yes | Department that owns the task |
| `description` | `string \| null` | No | Task description |
| `propertyId` | `uuid \| null` | No | Related property |
| `propertyName` | `string` | No | Property name (used when `propertyId` is omitted) |
| `priority` | `string` | No | Task priority |
| `scheduledDate` | `date` | No | Scheduled date (`YYYY-MM-DD`) |
| `scheduledTime` | `time` | No | Scheduled time (`HH:MM` or `HH:MM:SS`) |
| `estimatedDurationMinutes` | `integer` | No | Estimated duration in minutes |
| `reservationId` | `uuid \| null` | No | Related reservation |
| `contactId` | `uuid \| null` | No | Related contact |
| `parentTaskId` | `uuid \| null` | No | Parent task for subtasks |
| `templateId` | `uuid \| null` | No | Task template to apply |
| `source` | `string` | No | Task source |
| `isIssue` | `boolean` | No | Whether this is a reported issue |
| `primaryUserId` | `uuid \| null` | No | Primary assigned user |
| `primaryVendorOrgId` | `uuid \| null` | No | Primary assigned vendor org |
| `secondaryAssigneeIds` | `uuid[]` | No | Additional assignees |
| `tagIds` | `uuid[]` | No | Tag IDs to attach |
| `useDefaultAssignees` | `boolean` | No | Apply default department assignees |
### Update a task
```bash theme={null}
curl -X PATCH \
-H "Authorization: Bearer $TRELLIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status":"COMPLETED","summary":"Bulb replaced and tested."}' \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks/22222222-2222-4222-8222-222222222222"
```
Additional update-only fields: `status`, `summary`, `completedAt`, `startedAt`, `sortOrder`, `projectId`, `billableToOwner`, `cost`, `costCurrency`, `isNoCharge`, `customFields`, `completionFields`, `replacePrimaryUser`.
### Delete a task
```bash theme={null}
curl -X DELETE \
-H "Authorization: Bearer $TRELLIS_API_KEY" \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks/22222222-2222-4222-8222-222222222222"
```
### Task object
| Field | Type | Description |
| -------------------------- | ------------------ | ---------------------------------------------------------------- |
| `id` | `uuid` | Task ID |
| `shortId` | `string` | Human-readable short ID (e.g. `TK-1234`) |
| `workspaceId` | `string` | Workspace that owns the task |
| `title` | `string` | Task title |
| `description` | `string \| null` | Task description |
| `status` | `string` | Current status |
| `priority` | `string` | Priority level |
| `source` | `string` | How the task was created |
| `departmentId` | `uuid` | Owning department |
| `department` | `object` | Embedded department with `id`, `name`, `slug` |
| `propertyId` | `uuid \| null` | Related property |
| `property` | `object \| null` | Embedded property with `id`, `name`, `status`, `address`, `city` |
| `reservationId` | `uuid \| null` | Related reservation |
| `contactId` | `uuid \| null` | Related contact |
| `parentTaskId` | `uuid \| null` | Parent task (for subtasks) |
| `scheduledDate` | `date \| null` | Scheduled date |
| `scheduledTime` | `time \| null` | Scheduled time |
| `estimatedDurationMinutes` | `integer \| null` | Estimated duration in minutes |
| `isIssue` | `boolean` | Whether this is a reported issue |
| `isPublished` | `boolean` | Whether the task is published to vendors |
| `billableToOwner` | `boolean` | Whether billable to the property owner |
| `cost` | `number \| null` | Task cost |
| `costCurrency` | `string` | Cost currency code (e.g. `EUR`) |
| `isNoCharge` | `boolean` | Whether marked as no charge |
| `summary` | `string \| null` | Completion summary |
| `startedAt` | `datetime \| null` | When work started |
| `completedAt` | `datetime \| null` | When the task was completed |
| `customFields` | `object` | Workspace-specific task fields |
| `costItems` | `array` | Cost line items (when `include=costItems`) |
| `assignees` | `array` | Task assignees (when `include=assignees`) |
| `createdAt` | `datetime` | Creation timestamp |
| `updatedAt` | `datetime` | Last update timestamp |
Additional fields for integrations, scheduling, vendor workflows, and AI provenance are also returned. See the interactive reference or OpenAPI document for the full schema.
## External checklist actions
Use a linked checklist action when another service must finish work before the Trellis task can be completed. The same `externalSource` and `externalId` can be retried safely for one task.
```bash theme={null}
curl -X POST \
-H "Authorization: Bearer $TRELLIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title":"Record inspection video",
"actionUrl":"https://app.rapideye.example/recordings/session-123",
"externalSource":"rapideye",
"externalId":"session-123",
"isRequired":true,
"blocksCompletion":true
}' \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks/22222222-2222-4222-8222-222222222222/checklist-items"
```
The `actionUrl` must use HTTPS. Trellis displays it as the checklist action link without modifying the originating template. When `externalSource` is exactly `rapideye`, Trellis also appends one labeled inspection link to the existing task description and sends that description update to the connected operations provider. Retrying the same item does not duplicate the description link, and a pending or failed provider delivery can be retried safely. Other external sources remain Trellis-only. A required item with `blocksCompletion: true` prevents normal task completion until the item is completed.
After the external work finishes, mark the item complete. Repeating this request preserves the first completion timestamp:
```bash theme={null}
curl -X PATCH \
-H "Authorization: Bearer $TRELLIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"isCompleted":true}' \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks/22222222-2222-4222-8222-222222222222/checklist-items/44444444-4444-4444-8444-444444444444"
```
## Durable task photos
The attachment operation downloads an existing public HTTPS image immediately and stores a durable copy in Trellis. Signed source URLs are supported: they only need to remain valid for the duration of the POST request.
```bash theme={null}
curl -X POST \
-H "Authorization: Bearer $TRELLIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"externalSource":"inspection_provider",
"externalId":"damage-photo-123",
"externalUrl":"https://media.example.com/photos/damage-photo-123.jpg",
"filename":"damage-photo.jpg",
"mimeType":"image/jpeg",
"sizeBytes":245678
}' \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks/22222222-2222-4222-8222-222222222222/attachments"
```
The source must be reachable without cookies or provider-specific headers, use HTTPS, resolve only to public network addresses, return the declared `image/*` content type, and be no larger than 25 MB. Trellis records the downloaded byte count rather than trusting the optional `sizeBytes` hint. After the copy succeeds, Trellis keeps the durable internal URL and does not retain or return the signed source URL. For backward compatibility, both `internalUrl` and the legacy `externalUrl` response field point to the durable Trellis copy. The durable image is then queued through the same task-media sync used by the Trellis app; a linked operations provider such as Breezeway receives its own copy asynchronously.
Repeating the same task, source, and external ID with the same API key returns the existing durable attachment without downloading it again. If that idempotency record predates durable storage, sending a fresh source URL backfills its Trellis copy.
## Task tags
Discover the active tags that can be assigned to tasks:
```bash theme={null}
curl -H "Authorization: Bearer $TRELLIS_API_KEY" \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tags"
```
```json theme={null}
{
"tags": [
{
"id": "55555555-5555-4555-8555-555555555555",
"name": "RapidEye recorded",
"color": "#2563eb"
}
]
}
```
Use a returned `id` to assign the tag idempotently:
```bash theme={null}
curl -X POST \
-H "Authorization: Bearer $TRELLIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tagId":"55555555-5555-4555-8555-555555555555"}' \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks/22222222-2222-4222-8222-222222222222/tags"
```
Only active tags configured for tasks in the same workspace can be assigned. Removing an assignment is also idempotent, so retrying a successful delete returns success. Assignments and removals use the standard task-tag sync; tags mapped to the task's linked operations provider are propagated there, while Trellis-only tags remain local.
## Departments and assignable users
Use `GET /workspaces/{workspaceId}/departments` to find the `departmentId` required by task creation. Use `GET /workspaces/{workspaceId}/users` to list active assignees. The user response includes display name, role, membership ID, user ID, and department IDs; email addresses and phone numbers are not returned.
## Daily work orders
The daily work orders endpoint returns tasks with status `SCHEDULED` in field-ops departments for a single calendar date, formatted as costed work orders with assignee details. Use it for daily operations reports and workforce cost summaries. Tasks in other statuses or non-field-ops departments are excluded.
```bash theme={null}
curl -H "Authorization: Bearer $TRELLIS_API_KEY" \
"https://app.trellistech.com/api/v1/workspaces/acme-vacations/tasks/daily-work-orders?date=2026-06-18"
```
| Query | Required | Description |
| ------ | -------- | -------------------------------------------- |
| `date` | Yes | Local calendar date to export (`YYYY-MM-DD`) |
Response:
```json theme={null}
{
"workspaceId": "acme-vacations",
"date": "2026-06-18",
"workOrderCount": 4,
"totalCost": 148.5,
"totalCostCurrency": "EUR",
"costTotalsByCurrency": { "EUR": 148.5 },
"workOrders": [
{
"id": "...",
"shortId": "TK-1234",
"title": "Replace bathroom light bulb",
"description": "Guest reported flickering light.",
"status": "SCHEDULED",
"priority": "HIGH",
"property": {
"id": "...",
"name": "Casa Duomo",
"status": "ACTIVE",
"address": "Via Torino 1",
"city": "Milano"
},
"department": { "id": "...", "name": "Maintenance", "slug": "maintenance" },
"scheduledDate": "2026-06-18",
"scheduledTime": "10:30:00",
"estimatedDurationMinutes": 45,
"billableToOwner": false,
"cost": 35.5,
"costCurrency": "EUR",
"isNoCharge": false,
"costItems": [
{
"id": "...",
"amount": 35.5,
"currency": "EUR",
"description": "Replacement bulb and labor",
"billToType": "COMPANY",
"categoryName": "Maintenance materials"
}
],
"assignees": [
{
"id": "...",
"role": "PRIMARY",
"type": "USER",
"userId": "...",
"vendorOrgId": null,
"name": "Ari Operator"
}
]
}
]
}
```
When tasks use multiple currencies, `totalCost` is `null`, `totalCostCurrency` is `"MIXED"`, and `costTotalsByCurrency` contains per-currency totals.
## Errors
| Status | Meaning |
| ------ | ------------------------------------------------------------------------------ |
| `400` | Request validation failed |
| `401` | API key is missing, invalid, expired, or not valid for the requested workspace |
| `403` | Authenticated user does not have access to the requested workspace |
| `404` | Workspace, task, or property was not found |
| `409` | Task completion is blocked by another task or workflow rule |
| `422` | Request is valid JSON but cannot be applied to the current object |
| `500` | Trellis could not complete the request |
## Related articles
* [API Reference](/api-reference/introduction)
* [Authentication](/api-reference/authentication)
* [Trellis MCP Server](/api-reference/mcp-server)
* [Tasks](/platform/tasks)
* [Properties](/platform/properties)
# What's new
Source: https://docs.trellistech.com/changelog
New features, improvements, and fixes from Trellis
New features, improvements, and fixes from Trellis.
***
## Upcoming
### A preview of what we're building next.
**Learning**
* **Trellis Academy** - learn the product through guided courses for getting
started, guest conversations, properties and reservations, permissions,
operations, and Trellis agents. Track your learning and collect certificates
as new courses become available.
**Tasks and Workforce**
* **Pending task statuses** - see why work is waiting, whether it is blocked,
needs owner approval, or is waiting on a vendor.
* **Vendor quotes** - request and compare quotes from a task before choosing
who will complete the work.
**Mobile and Calls**
* **Join active calls from iPhone** - see an active workspace call in Dynamic
Island and use a compact in-app call widget to join without hunting for the
conversation.
***
## August 2026
### August 18, 2026
**Properties**
* **Workspace-wide property order** - Set the default order for your properties
across web and mobile lists, reservation calendars, task calendars, and visit
calendars. Choose A–Z, Z–A, or a custom order that keeps parent and child
properties together.
Find it in: Properties
Available on: Web, iOS, Android
[Read guide](/platform/properties)
#### Improvements
* **Tasks and Workforce** **Change task status without a visit** - Move a task
directly to In Progress or Paused, even when it is not linked to a visit.
Linked visit tasks stay in sync when a visit starts or pauses.
Find it in: Tasks
Available on: Web, iOS, Android
[Read guide](/platform/tasks)
* **Tasks and Workforce** **Cleaner visit task list** - The property column is
hidden inside a property-scoped visit, so task titles and actions have more
room to breathe.
Find it in: Tasks > Visits
Available on: Web
[Read guide](/platform/tasks)
* **Guest Portal** **Switch reservation states in the editor** - The editor
sidebar now switches the preview between Registration, Pre-stay, In-stay,
and Post-stay so you can check how the portal looks at each step of the guest
journey. Page navigation stays inside the live preview.
Find it in: Guest Portal > Editor
Available on: Web
[Read guide](/platform/guest-portal)
* **Inbox** **Translated conversation goals and follow-ups** - Conversation
goal and follow-up notes now translate with the same control you use for
messages, so your team can read them in their preferred language.
Find it in: Inbox
Available on: Web
[Read guide](/platform/inbox)
### August 17, 2026
**Tasks and Workforce**
* **Shared steps inside task templates** - Edit department-wide steps without
leaving the task template, so common instructions stay together.
Find it in: Tasks > Templates
Available on: Web
[Read guide](/platform/tasks#task-templates)
#### Improvements
* **Guest Portal** **Easier rental agreement review** - Archive older
agreements, review available translations, and preview the finished document
before sharing it with guests.
Find it in: Guest Portal > Rental agreements
Available on: Web
[Read guide](/platform/guest-portal)
### August 16, 2026
**Tasks and Workforce**
* **Advanced task templates** - build task templates around how each property
and department operates. Add conditional checklist steps based on property
groups, fields, rooms, elements, or amenities, reuse configurations across
templates, and safely manage new checklist versions.
Find it in: Tasks > Templates
Available on: Web
[Read guide](/platform/tasks#task-templates)
**Owner Portal**
* **Owner Portal task and calendar improvements** - owners can review tasks and
calendar activity across every property they are authorized to access.
Shared filters make activity easier to find, while improved task-detail
permissions keep sensitive information protected.
Find it in: Owner Portal > Tasks and Calendar
Available on: Owner Portal
* **Owner notification preferences and approvals** - owners can choose which
email updates they receive without signing in. Approval requests can be
shared through secure links, and authorized operators can record an owner's
decision when handling it on their behalf.
Find it in: Owner Portal > Notifications
Available on: Owner Portal, Email
**Mobile and Smart Devices**
* **Smart-device controls for visits** - mobile teammates can check the health
of connected devices while working on a visit. With the appropriate
permissions, they can also control supported locks and thermostats directly
from Trellis.
Find it in: Visits > Smart devices
Available on: iOS, Android
**Inbox and Calls**
* **Approved agent-initiated voice calls** - Trellis agents in Slack and
WhatsApp can prepare an outbound voice call when a conversation needs direct
follow-up. A teammate must review and approve the action before the call is
placed.
Find it in: Inbox > Calls
Available on: Slack, WhatsApp
* **Three-way calling** - bring another person into an active call without
ending or restarting the conversation. Teammates can dial an additional
phone number and remove the added participant when they are no longer needed.
Find it in: Inbox > Calls
Available on: Web
### August 13, 2026
**Settings**
* **Guest planning totals** - Choose whether infants are included in the guest
total used for linens, preparation, and per-person planning. The full guest
breakdown remains available either way.
Find it in: Settings > Reservations
Available on: Web
[Read guide](/platform/settings)
### August 12, 2026
**Properties**
* **Richer house manuals** - Add images and videos to house manuals, choose
whether each manual is for your team or guests, and give guests a focused
page for each manual.
Find it in: Properties > Manuals
Available on: Web, Guest Portal
[Read guide](/guides/house-manuals)
### August 11, 2026
**Team**
* **Team invitations** - Choose a department and weekly schedule while inviting
a teammate, or invite them without a required schedule.
Find it in: Settings > Team
Available on: Web
[Read guide](/guides/field-worker-onboarding)
#### Improvements
* **Contacts** **Faster property assignments** - Assign a property directly
from the People list without opening the contact profile.
Find it in: Contacts > People
Available on: Web
[Read guide](/platform/contacts)
### August 9, 2026
**Tasks and Workforce**
* **Complete field checklists offline** - mobile workers can add required
photos, answer checklist steps, and complete assigned work without a
connection. Trellis syncs queued work when connectivity returns and asks the
worker to review any step another teammate changed in the meantime.
Find it in: Mobile app > Tasks
Available on: iOS, Android
[Read guide](/platform/tasks)
### August 7, 2026
**Integrations**
* **Hostaway gallery updates** - Upload photos, edit captions, remove images,
and reorder the property gallery in Trellis. Changes sync to Hostaway in the
background, and Trellis confirms the final gallery before clearing the
pending state.
Find it in: Properties > Gallery
Available on: Web
#### Improvements
* **Developer tools** **Reliable MCP filtering contracts** - MCP read tools now
publish only the filters their underlying routes enforce, so unsupported
inputs fail clearly instead of appearing to return a filtered result.
Reservation financial reads also include provider and freshness context for
authorized users.
Find it in: Developer settings > MCP server
Available on: API
[Read guide](/api-reference/mcp-server)
### August 4, 2026
**Owner Portal**
* **Email notification preferences** - owners can use the Notifications section
in their existing portal link to choose whether to receive email updates for
newly reported issues and completed tasks. The contact email is prefilled
when available and verified before notifications begin.
Find it in: Owner Portal > Notifications
Available on: Owner Portal, Email
***
## July 2026
### July 26, 2026
**AI Agent**
* **Reviewed agent memory** - the AI Agent can remember approved preferences,
corrections, and repeat procedures across conversations. Workspace admins can
search and manage memory in AI Hub, while property-specific memory stays
limited to teammates and agent runs that can access that property.
[Learn more](/platform/ai-agent).
### July 24, 2026
**AI Agent**
* **Steadier replies and approval recovery** - the AI Agent starts work more
consistently, recovers when one response path is temporarily unavailable,
and no longer appears to keep working indefinitely after an interrupted
approval. [Learn more](/platform/ai-agent).
**Inbox and Calls**
* **Independent phone and text setup** - a number already used for calling no
longer blocks your team from adding text messaging for that number. Trellis
also gives clearer recovery steps when a selected microphone is unavailable.
[Learn more](/guides/channels/phone-and-sms).
**Tasks and Workforce**
* **Property manuals available offline** - the mobile app now saves manuals for
properties in your loaded visits and when you open a task. Previously saved
manuals remain available after closing the app or losing connectivity.
[Learn more](/platform/tasks).
***
### July 23, 2026
**Contacts**
* **Manage contact methods in one place** - add, edit, or remove email, phone,
and WhatsApp details from an existing contact. If a detail already belongs to
another contact, Trellis now helps you open the matching record instead of
creating a duplicate. [Learn more](/platform/contacts).
**Tasks and Workforce**
* **Clearer visit progress** - visit details now place progress and the
assigned task list together, making it easier to see what is complete and
what still needs attention. [Learn more](/platform/tasks).
* **Current mobile checklists** - when a task template changes before work
starts, mobile workers can see the latest checklist without losing the
correct question types or completed work.
**Inbox**
* **Readable WhatsApp messages** - long incoming WhatsApp messages now wrap
cleanly inside the conversation.
* **Clearer channel choices** - the channel picker now keeps the **From** and
**To** details visible, including phone numbers and friendly line names.
[Learn more](/platform/inbox).
**Properties and Integrations**
* **More reliable property editing** - property locations now save when you
leave the field, and new rooms show a clear error if they cannot be created.
[Learn more](/platform/properties).
* **Krossbooking property aliases** - custom property names now appear
consistently across staff-facing pages, search, calendars, tasks, Inbox, and
reports while the original property name remains available for matching.
[Learn more](/integrations/krossbooking).
***
### July 22, 2026
**Tasks**
* **Template changes reach future work** - checklist edits on a task template
now update existing tasks that have not started. Tasks already in progress or
complete are left unchanged. [Learn more](/platform/tasks).
**Contacts and Reservations**
* **Guest details stay connected** - reservations created with a guest email or
phone number can now create or reuse the matching contact automatically.
* **Contacts across multiple properties** - add or remove property links from a
contact profile, including contacts associated with many properties. [Learn
more](/platform/contacts).
**Inbox**
* **Large PDF delivery choices for WhatsApp** - when a PDF is too large for the
selected WhatsApp connection, Trellis can offer smaller image pages or a
secure link before you send it. [Learn more](/platform/inbox).
***
### July 21, 2026
**Inbox**
* **Contact type history** - conversation timelines now show when a contact
changes type, including the previous type, the new type, and when it changed.
Repeated entries stay tidy when related conversations are combined. [Learn
more](/platform/inbox#review-contact-type-changes).
**Tasks and Workforce**
* **Consistent calendar cards** - task and visit calendars now use the same
card layout, with status and department shown together.
* **Department icons** - admins can choose an icon and color for each
department, and those choices carry across supported web and mobile work
views. [Learn more](/platform/workforce).
**Mobile**
* **Reservation calendar and details** - mobile teams can browse reservations
by property, open reservation details, preview recent messages, jump to the
full Inbox conversation, and view available guest access information.
***
### July 20, 2026
**Inbox**
* **Steadier message writing** - the reply area keeps its size while you type,
and email details move out of the way until you need them. [Learn
more](/platform/inbox).
* **Faster conversation review** - messages appear sooner when you switch
conversations, while comments and the details panel stay in place.
* **Clearer call actions** - the call button appears only when the contact has a
phone number.
**Knowledge Base**
* **Read documents in your interface language** - switch a Knowledge Base
document into any supported Trellis language without changing the original
document. The translated view stays read-only so the source remains intact.
[Learn more](/platform/ai-agent).
**Integrations**
* **Connect Guesty during onboarding** - new teams can start the Guesty
connection from the onboarding flow instead of leaving setup to find it
later. [Learn more](/integrations/guesty).
***
### July 18, 2026
**Inbox and Insights**
* **Named group participants** - group conversations now show their participant
list instead of using an unknown label when the group does not have a saved
name. [Learn more](/platform/inbox).
* **More complete messaging metrics** - Insights now includes previously
uncategorized sent messages under **Other** and keeps message volume separate
from call activity. [Learn more](/platform/insights).
**Properties**
* **Cleaning status history** - Health can show the property's current cleaning
status as the starting point even when no earlier status-change record is
available.
**AI Agent**
* **Links to answer sources** - when supported Trellis records such as
properties, tasks, reviews, or people informed an answer, managers can open
those records from the answer sources. [Learn more](/platform/ai-agent).
***
### July 17, 2026
**Workflows**
* **Folders on agent workflow pages** - organize and browse an agent's
workflows with the same folders used in the main workflow area. [Learn
more](/platform/workflows).
**Inbox**
* **Useful SMS failure reasons** - failed text messages now explain the problem
in plain language instead of showing a raw error code. [Learn
more](/platform/inbox).
***
### July 16, 2026
**Properties**
* **Smart-device roster** - review connected locks and devices across the
workspace, with status and property information in one list.
**Vendors**
* **Edit access and Wi-Fi details** - vendors with the right property access can
update lock codes and Wi-Fi details without waiting for a manager to re-enter
the information. [Learn more](/platform/workforce).
***
### July 15, 2026
**Inbox and Calls**
* **Separate sound controls** - set call and Inbox notification volume
independently so each teammate can choose the level that works for them.
[Learn more](/platform/inbox).
**Integrations**
* **Clearer Breezeway sync status** - Settings now explains when the full
inbound sync control is temporarily unavailable, while normal onboarding
remains available. [Learn more](/integrations/breezeway).
***
### July 14, 2026
**Contacts**
* **Companies and members** - company profiles now show their members, and
teams can link or unlink people from the company record. [Learn
more](/platform/contacts).
**Calls**
* **Custom call-menu greeting** - upload your own recording for the greeting
callers hear before choosing an option.
***
### July 13, 2026
**Calls and Settings**
* **Call-recording disclosure** - set the disclosure callers hear when call
recording is enabled for your team.
* **Temperature preference in General Settings** - choose the unit your
workspace uses from the main settings area.
**Inbox**
* **Combine the Unassigned filter** - include unassigned conversations
alongside other assignment choices without replacing the rest of your
filters. [Learn more](/platform/inbox).
***
### July 12, 2026
**Inbox and Notifications**
* **Saved Inbox drafts** - unfinished replies stay with the conversation so you
can switch away and continue writing later. [Learn more](/platform/inbox).
* **Clearer notification summaries** - summary headings and delivery choices
now use a more consistent visual hierarchy.
**Workflows**
* **Test workflow steps before a full run** - try an individual step, preview
estimated cost, and use saved test samples while building a workflow. [Learn
more](/platform/workflows).
**Mobile**
* **Copy text across the app** - select and copy supported text from tasks,
visits, contacts, Inbox conversations, manuals, and AI chats.
***
### July 10, 2026
**Tasks and Workforce**
* **Completed visits in scheduling** - show completed visits on the schedule
when you need the full picture of a team's day.
* **Workspace clock-in requirement** - admins can manage the clock-in
requirement for the whole workspace from Settings. [Learn
more](/platform/workforce).
***
### July 9, 2026
**Tasks and Vendors**
* **Vendor task comments** - vendors can add comments to the
property-management tasks assigned to their company. [Learn
more](/platform/tasks).
**Calls**
* **Custom hold audio** - upload a WAV or MP3 file for callers to hear while
they wait.
***
### July 3, 2026
**Inbox**
* **Cleaner filter menu** - the inbox filter dropdown is more compact, shows a property preview when you filter by property, and keeps its height steady as you scroll. [Learn more](/platform/inbox).
* **Gmail reply prefill** - when you reply from a Gmail channel, the composer now fills in the recipient details for you.
* **Guesty check-in status in the sidebar** - conversations tied to a Guesty reservation now show the guest's check-in form status and a link to the reservation in the inbox sidebar. [Learn more](/integrations/guesty).
* **WhatsApp automated replies** - automated messages sent through WhatsApp now show an automation badge, and long messages are translated in full.
* **Snappier AI chat** - AI replies in chat now appear as complete messages instead of a slow typewriter effect.
* **Suggested Reply clears on send** - the Suggested Reply card now clears as soon as you approve or send it, so you do not act on it twice.
* **Mobile composer polish** - the mobile inbox composer actions are easier to tap and the "new message" loading state is more stable.
**Contacts**
* **Bulk edit in People** - select several people at once and update shared fields in one step. [Learn more](/platform/contacts).
* **Reliable guest type** - contacts marked as **Guest** now stay set to Guest after edits.
**Tasks and Workforce**
* **Auto-complete vendor visits on mobile** - vendor visits now close out automatically on the mobile app when the work is finished. [Learn more](/platform/tasks).
* **Reliable new task sidebar** - the new task sidebar now opens cleanly every time.
* **Resend vendor invites** - property managers can now resend a vendor invite or trigger a password reset from vendor settings. [Learn more](/platform/workforce).
**Properties**
* **Delete PMS-linked properties** - you can now delete a property in Trellis even when it is linked to a connected property management system (PMS). [Learn more](/platform/properties).
**CRM**
* **Co-signed contracts** - send one contract to multiple signers and collect every signature on the same document.
**Automations**
* **Parking-request template** - a new workflow template detects parking requests in guest messages so you can respond faster. [Learn more](/platform/automations).
**Integrations**
* **Chekin connection** - connect Chekin so your AI Agent can use Chekin data during guest conversations. [Learn more](/integrations/overview).
* **Steadier Guesty sync** - legacy Guesty inquiries and check-in updates now load and refresh more reliably. [Learn more](/integrations/guesty).
* **Breezeway task sync fix** - task updates from Breezeway now sync back into Trellis without dropping changes. [Learn more](/integrations/breezeway).
***
## June 2026
### June 9, 2026
**AI Hub and AI Agent**
* **Live plans in chat** - the AI Agent can now show a step-by-step checklist while it works on larger requests. [Learn more](/platform/ai-agent).
* **Clarifying questions** - when the agent needs more information, it can pause, ask a question, and continue after you answer.
* **More natural replies** - agent replies now better follow your agent instructions and avoid overly robotic wording.
* **Ramp connection** - approved agents can look up Ramp card spend and add property notes to transaction memos. [Learn more](/integrations/ramp).
* **Clearer working status** - long AI replies now show progress labels so you can see that work is still moving.
* **More reliable long replies** - interrupted AI responses now retry more cleanly instead of stopping early.
**Inbox**
* **Assignment views** - Inbox now includes quick views for **Assigned to me**, **Assigned to others**, and **Unassigned**. [Learn more](/platform/inbox).
* **Create task from conversation** - create a linked task from a conversation with the conversation context already included.
* **Editable saved views** - update saved inbox filters without deleting and recreating the view.
* **Better reservation matching** - the reservation picker now searches the full visible month before filtering.
* **Clearer missed call cards** - missed Quo calls now show as **Missed call** in the thread and inbox preview.
* **Fresher sidebar previews** - conversation sidebars now stay more current after new messages arrive.
**Properties**
* **Operations column** - the properties list can show key operational owners, such as cleaning, maintenance, inspection, and front office. [Learn more](/platform/properties).
* **Owner portal calendar links** - reservation details can show owner portal calendar links when available.
* **More supported property edits** - additional supported property fields can stay aligned with connected property systems.
**Workforce and Tasks**
* **Shift clock** - workers can clock in and out from the app, and admins can record times when needed. [Learn more](/platform/workforce).
* **Optional completion media** - workers can attach photos or videos when finishing a task or visit, even when media is not required. [Learn more](/platform/tasks).
* **Vendor workspace fixes** - vendor task visibility and vendor-created task handling are more reliable.
* **Mobile stability** - task list navigation and mobile route recovery are more reliable.
**Workflows**
* **Clearer run failures** - failed workflow steps now show the failing step and a clearer reason. [Learn more](/platform/automations).
* **Cleaner workflow overview** - workflow folders now start collapsed for a calmer page.
* **More flexible AI-started workflows** - AI-started workflows now handle supported workflow details more reliably.
**Artifacts**
* **Drive-style artifact page** - Artifacts now open in a card grid with previews for supported images, videos, documents, dashboards, and forms. [Learn more](/platform/artifacts).
* **Cleaner ready cards** - artifact cards no longer show a ready badge when no action is needed.
* **Better generated artifacts** - AI-created artifacts now recover more clearly when generated content needs correction.
**Insights**
* **Richer Pulse rows** - Pulse rows now show guest, property, and reply context inline so managers can scan activity faster. [Learn more](/platform/insights).
**Integrations**
* **Integrations directory** - Settings now includes a browseable integrations directory with connection status and direct actions. [Learn more](/integrations/overview).
* **Krossbooking refresh listings** - refresh Krossbooking listings on demand from the integration page. [Learn more](/integrations/krossbooking).
* **Guesty, Hostaway, and Rentals United fixes** - several connected property and message updates now stay aligned more reliably.
***
## May 2026
### May 4, 2026
**Tasks and workforce**
* **Move work between properties on the calendar** - drag tasks or visits from one property row to another to reschedule and move work in one step. [Learn more](/platform/tasks).
***
## April 2026
### April 30, 2026
**Inbox**
* **Search shortcut** - press **Command-F** on Mac or **Ctrl-F** on Windows to jump into inbox search. [Learn more](/platform/inbox).
* **Cleaner WhatsApp reaction previews** - WhatsApp reactions now show the contact name instead of account-style labels.
**AI Hub**
* **Save button for agent settings** - agent identity and behavior edits now save only when you click **Save**.
**Workforce**
* **Web location sharing** - office staff can share location from a desktop browser when live tracking is enabled. [Learn more](/platform/workforce).
* **Approximate location fallback** - if precise location is unavailable, Trellis can show a broad city-level location when the worker allows it.
### April 29, 2026
**Integrations**
* **Ramp for AI Agent** - connect Ramp so approved agents can answer spend questions and add property notes to transaction memos. [Learn more](/integrations/ramp).
**Inbox**
* **Conversation tags** - add tags to conversations and filter by one or more tags. [Learn more](/platform/inbox).
* **Message links** - links to older messages now open the right message more reliably.
**Reservations**
* **Reservation custom fields in sidebars** - reservation details now show available custom fields in calendars, dashboard, tasks, and AI chat.
### April 27, 2026
**Reviews**
* **Reviews from Hostaway and Krossbooking** - supported guest reviews now appear in Trellis and link to the related reservation, property, and guest. [Learn more](/platform/reviews).
* **Agent picker for review replies** - choose which agent drafts a review response.
**AI Agent**
* **Simpler meeting join rules** - meeting settings now use clear toggles for team, external, not organized by me, and not accepted meetings. [Learn more](/platform/ai-agent).
### April 26, 2026
**Settings**
* **Custom roles** - create roles with specific permissions, inbox access, and property access. [Learn more](/platform/settings).
* **Voice-only phone notice** - phone settings now explain when a number supports calls but not SMS.
### April 25, 2026
**AI Agent**
* **Clickable skill references** - when the agent references an approved skill, you can open it from the chat preview.
**Tasks**
* **No-charge visits** - mark visit-level costs as not billable while keeping the record visible. [Learn more](/platform/tasks).
### April 24, 2026
**Inbox**
* **Reply from reservation details** - read and reply to the guest conversation from the reservation side panel. [Learn more](/platform/inbox).
**Properties**
* **Cleaner property overview** - property detail sections are easier to scan and edit. [Learn more](/platform/properties).
### April 23, 2026
**AI Agent**
* **Meetings workspace** - AI-joined meetings now have a dedicated place for past and upcoming meetings. [Learn more](/platform/ai-agent).
* **Meeting detail pages** - open a meeting to review notes, transcripts, linked records, and follow-up questions.
* **Meeting recap emails** - configure recap emails for attendees after supported meetings.
* **Calendar-scheduled meetings** - connect a calendar so the agent can join supported meetings based on your rules.
**Mobile Tasks**
* **Visit reschedule moves linked tasks** - rescheduling a visit also moves the attached tasks. [Learn more](/platform/tasks).
* **Improved date picker** - mobile visit rescheduling is easier on small screens.
### April 21, 2026
**Insights**
* **Redesigned Insights tabs** - Insights now includes Pulse, Messaging, Agents, Workforce, and Reviews views. [Learn more](/platform/insights).
* **Clickable stats** - click charts, cards, and tables to open the related records.
**AI Hub**
* **Cleaner document toolbar** - AI Hub documents have simpler search, filters, and sorting.
### April 19, 2026
**Tasks**
* **Visits and tasks calendar toggle** - switch calendar view between grouped visits and individual tasks. [Learn more](/platform/tasks).
### April 17, 2026
**Insights**
* **Agent activity feed** - Pulse now shows recent AI actions such as messages, tasks, and property updates. [Learn more](/platform/insights).
* **Record drill-downs** - open the records behind stats without leaving Insights.
**Tasks**
* **Unassigned tab for vendor workspaces** - vendors can see work that still needs an assignee. [Learn more](/platform/tasks).
### April 16, 2026
**AI Agent**
* **Shift time updates** - approved agents can help update actual shift clock-in and clock-out times. [Learn more](/platform/ai-agent).
### April 15, 2026
**Tasks**
* **Department management** - approved agents can help create, rename, delete, and reassign task departments. [Learn more](/platform/tasks).
### April 14, 2026
**Workflows**
* **Action limits for AI steps** - choose what an AI step is allowed to do inside a workflow. [Learn more](/platform/automations).
* **Clearer step timing** - workflow run details now make each step easier to review.
### April 10, 2026
**Properties**
* **Pipeline board** - track properties or deals across custom stages. [Learn more](/platform/properties).
**Connected Accounts**
* **Credential verification** - Trellis can verify saved third-party login details and show a verified status. [Learn more](/platform/connected-accounts).
**Tasks**
* **Supplies on task creation** - add required supplies while creating a task. [Learn more](/platform/tasks).
* **Room-based checklists** - checklist items can be grouped by room or section.
* **Inventory updates** - completing a task can update inventory counts when supplies are attached.
* **Mobile visit page** - workers can review upcoming and past visits from mobile.
**AI Agent**
* **Reopen completed tasks** - approved agents can reopen work that needs follow-up.
* **Task comment mentions** - teammate mentions from agent comments now send notifications.
**Workflows**
* **Run detail refresh** - workflow runs now show clearer related records, step summaries, and history. [Learn more](/platform/automations).
**Inbox**
* **Default contact type by email address** - set whether unknown senders from a mailbox should become guests, vendors, or owners. [Learn more](/platform/inbox).
### April 9, 2026
**Mobile Tasks**
* **Mobile task filters** - filter mobile task lists by status, assignee, property, and more. [Learn more](/platform/tasks).
* **Time tracking banner** - see active tracked time while moving through the app.
* **Smoother mobile navigation** - home, schedule, tasks, and AI chat layouts were improved.
### April 8, 2026
**AI Agent**
* **Switch response modes mid-chat** - change the AI response mode during a conversation. [Learn more](/platform/ai-agent).
* **More meeting voice options** - choose from more supported voice options.
* **Zoom and Microsoft Teams support** - invite the meeting agent to supported Zoom and Microsoft Teams links.
* **Real-time activity details** - the AI chat sidebar shows what the agent is doing as it works.
* **Slack file reading** - approved agents can read supported files shared in connected Slack channels.
**Outbound messages**
* **Inline media** - supported images and videos now render inside message threads. [Learn more](/platform/outbound).
**Workflows**
* **Help on failed steps** - failed workflow steps can ask AI for troubleshooting help. [Learn more](/platform/automations).
**Contacts and Properties**
* **Cleaner contact activity** - contact history now focuses on meaningful changes. [Learn more](/platform/contacts).
* **Editable bedrooms and bathrooms** - supported property details can be edited from the overview. [Learn more](/platform/properties).
### April 7, 2026
**AI Agent**
* **Voice meetings** - approved agents can join supported video meetings and answer with spoken responses. [Learn more](/platform/ai-agent).
* **Better availability search** - the agent now searches more of your portfolio and explains when results are limited.
**Workflows**
* **Calendar view for runs** - review workflow runs on a monthly calendar. [Learn more](/platform/automations).
* **Failure notifications** - failed workflows can notify your team.
* **Cancel running workflows** - stop a running workflow from the run detail page.
* **Bulk workflow actions** - enable, disable, or delete selected workflows in one step.
**Integrations**
* **Guesty owner conversations** - supported owner conversations now appear in Inbox. [Learn more](/integrations/guesty).
* **Breezeway comments** - comments added by field workers in Breezeway can sync back to Trellis. [Learn more](/integrations/breezeway).
* **Calry reliability** - Calry imports and conversations are more reliable. [Learn more](/integrations/calry).
**Inbox**
* **Gmail multi-account support** - connect more than one Gmail account to a workspace. [Learn more](/platform/inbox).
* **Reservation notes in the sidebar** - more stay details are visible while replying.
### April 6, 2026
**Guesty**
* **Calendar block and unblock** - block or unblock Guesty calendar dates from Trellis with notes. [Learn more](/integrations/guesty).
**Guest-facing stay tools**
* **House manual and stay details** - share property instructions, rules, Wi-Fi, parking, and access notes. [Learn more](/platform/guest-portal).
* **Imported portal links** - show guest portal links and access status when available.
* **Upsell products** - create add-ons such as early check-in or grocery packages.
* **Connected lock details** - show access details when a lock integration is connected.
**Workflows**
* **Richer run summaries** - workflow run history now shows clearer results and timing.
* **Better save warnings** - workflow setup now catches more common mistakes before a run starts.
**Contacts**
* **Contact cleanup** - Contacts now focuses on search, saved contact methods, conversation links, and cleanup tools. [Learn more](/platform/contacts).
**Inbox**
* **Blocked email senders** - block unwanted senders so they do not reach Inbox. [Learn more](/platform/inbox).
* **Full email view** - expand email messages to read the full content.
* **Resizable email previews** - adjust email preview height and keep your preference.
### April 5, 2026
**Contacts**
* **CSV contact import** - upload a contact file, map columns, preview, and import. [Learn more](/platform/contacts).
**Workflows**
* **Manual escalations can start workflows** - team-created escalations can now trigger the right follow-up workflow. [Learn more](/platform/automations).
**Mobile**
* **Unread notification badge** - the profile tab now shows unread notifications.
### April 4, 2026
**Guesty**
* **Reservation custom fields** - reservation-level Guesty custom fields now appear in Trellis. [Learn more](/integrations/guesty).
* **Folio total fix** - folio payment totals now show more accurately.
**Breezeway**
* **Task sync fix** - Breezeway task reporting is more reliable. [Learn more](/integrations/breezeway).
### April 3, 2026
**AI Agent**
* **Clearer sidebar result** - the AI sidebar no longer shows a failure message after a task actually succeeds.
### April 2, 2026
**Workflows**
* **Run experience refresh** - workflow run pages now show clearer errors, steps, and notifications. [Learn more](/platform/automations).
* **Template install fixes** - workflow templates install more reliably.
**AI Agent**
* **Ordered activity details** - agent actions now show in the order they happened.
* **Working indicator** - the activity panel opens while the agent is working and closes when done.
**AI Hub**
* **Agent settings refresh** - agent identity settings are easier to configure. [Learn more](/platform/ai-hub).
### April 1, 2026
**Workflows**
* **Approval steps** - pause a workflow for manual review before sensitive actions happen. [Learn more](/platform/automations).
**Inbox**
* **Unknown SMS contacts** - unknown SMS contacts now show clearer phone details.
* **Convert to Contact** - convert unknown SMS contacts into saved contacts. [Learn more](/platform/contacts).
***
## March 2026
### March 31, 2026
**AI Agent**
* **AI sidebar refresh** - the AI sidebar has a cleaner layout, regenerate action, feedback actions, and record links. [Learn more](/platform/ai-agent).
**Properties**
* **Properties page refresh** - the property list and filters are easier to use. [Learn more](/platform/properties).
# Frequently asked questions
Source: https://docs.trellistech.com/faq
Find the right Trellis setup, daily-work, and troubleshooting guide
Use this page to find the canonical answer to common Trellis questions. The
linked article owns the full steps, checks, and recovery guidance.
## Getting started
Start with one property connection, one message channel, one AI Agent in
review mode, the teammates who need access, and one safely tested workflow.
Follow the [Quickstart](/quickstart) and use its readiness checklist before
expanding.
Confirm the expected property and reservation are present, a safe inbound
test reaches Inbox, the AI Agent uses the right source, teammates see only
their work, and **Workflows > Runs** shows a successful safe test. See the
[Quickstart](/quickstart#check-that-your-workspace-is-ready).
Choose the channel your team already uses for the highest volume of work.
Follow the guide for [email](/guides/channels/email-inbox),
[WhatsApp](/guides/channels/whatsapp),
[phone and SMS](/guides/channels/phone-and-sms), or
[Slack](/guides/channels/slack).
## AI Agent and knowledge
Put a changing property fact on the property, a company-wide policy in a
document, agent voice and limits in instructions, and a repeat procedure in
a skill. See [AI Hub](/platform/ai-hub#put-information-in-the-right-place).
Start in review mode, test a property fact, a policy, a procedure, and a
hand-off case, then review the result with your team. Follow
[Launch and hand off your AI Agent](/guides/launch-and-handoff-ai-agent).
Find the source that should own the answer, correct it there, and repeat the
same test before allowing automatic replies. Follow
[Fix wrong AI information](/guides/fix-wrong-ai-information).
## Tasks, teams, and workflows
Create or choose the cleaning task, confirm its property and checklist,
assign it, complete a safe field test, and have a manager review the result.
Follow [Run your first cleaning operation](/guides/first-cleaning-operation).
Vendor access is managed from **Settings > Permissions**. Confirm the
contact, property access, and task types before resending an invitation. See
[Set up a vendor](/platform/workforce#set-up-a-vendor).
Use a safe example, inspect every step in **Workflows > Runs**, and require
approval before a sensitive message or change. See
[Workflow automations](/platform/automations#test-before-you-turn-it-on).
Start with the least access the person needs, limit property scope, and test
with the invited account. See
[Choose roles and property access](/guides/roles-and-property-access).
## Connections and troubleshooting
Check the connection status, open a recent record in the source system and
Trellis, use the refresh method shown for that integration, and confirm the
latest known change arrived. Start with the
[Integrations overview](/integrations/overview).
Use the [Troubleshooting](/platform/troubleshooting) symptom index. It routes
sign-in, message, sync, AI, task, notification, and mobile issues to the
safest first check.
Include the affected property, conversation, task, or workflow; the time it
happened; what you expected; what you saw; and a screenshot with private
guest details hidden when possible. Email
[support@trellistech.com](mailto:support@trellistech.com).
# Troubleshoot access and visibility
Source: https://docs.trellistech.com/guides/access-troubleshooting
Diagnose "why can't I see this?" questions in order: role, property access, then deliberate restrictions
## What this helps you do
Resolve access complaints — a teammate who cannot see a property, a task list
that looks empty, a page that will not open — with a three-step diagnosis in
**Settings > Team & Permissions**, instead of guesswork or recreating records.
## Before you start
* Get the exact complaint: which record, which page, which teammate.
* Confirm the record exists by opening it from an admin account.
## The three checks, in order
Open the teammate's role in **Settings > Team & Permissions**. Does the
role's matrix include **View** for the resource at all? A role without
**View** on Tasks hides every task, on every property.
Roles restrict property scope: "Restrict which properties this role can
see and act on. Empty selection = all properties." Confirm the property is
in a group the role can see, and review the member's **Override property
groups** setting for per-person exceptions.
Narrower controls can hide records on purpose — task visibility set to
**Assigned tasks only**, and department permissions that scope work to a
team. Confirm whether the restriction is intentional before changing it.
## Fix at the right layer
Change the narrowest setting that explains the complaint. Widening a role
grants the change to everyone holding it; an **Override property groups**
exception affects one person. After the change, ask the teammate to sign in
again and open the record.
## When to escalate
If all three checks pass and the record is still invisible, escalate to
support with what you ruled out — the role, the property access, and the
deliberate restrictions you reviewed. That evidence turns a settings hunt into
a support case.
## Common problems
Review task visibility (**Assigned tasks only** shows only their assignments) and confirm their
shifts and department cover the visits in question.
Their role's property groups exclude the missing properties. Add the property to a visible group
or set a member-level override.
Ask the teammate to sign in again — role changes apply on the next session — and re-test from
their account, not yours.
## Related articles
* [Choose roles and property access](/guides/roles-and-property-access)
* [Understand the five action classes](/guides/safe-operations-foundation)
* [Settings & Admin](/platform/settings)
# Agent permissions and approvals
Source: https://docs.trellistech.com/guides/agent-permissions-and-approvals
Check the sources behind an agent answer, and control which agent actions run immediately versus wait for a person
## What this helps you do
Trust an agent answer for the right reason — because you can see what it read —
and set each agent's boundaries so safe work runs at full speed while sensitive
actions wait for you.
## Read the sources behind an answer
Every substantive agent answer carries the material it worked from.
On a suggested reply, open **Sources** to see the records the agent used — property facts,
documents, and conversation history each appear as their own source. A reply with no attached
material shows "No sources are attached to this reply."
Match the answer's specific claims to the listed sources. **Sources used** names what actually
informed the reply, not everything the agent could reach.
For agent work beyond a single reply, the run's **Evidence** shows what the agent did and found
step by step.
If a claim has no matching source, or the source is a document you know is out
of date, correct the record first — see
[Fix wrong AI information](/guides/fix-wrong-ai-information) — rather than
editing the one answer.
## Control what runs immediately
An agent's boundaries live in its **Access & Safety** settings.
Every tool the agent can use is **Allowed**, **Ask first**, or **Off**. **Ask first** means the
agent can draft the action, but a human must confirm before it runs.
**View** and **Change** access are set separately per work area, so an agent can read one area
while only proposing changes in another.
Outbound messages follow the reply flow's **Approve & send** control. For the situations that
always deserve review, see [Approve a sensitive message](/guides/approve-sensitive-message).
## Where the line sits by default
The five action classes in
[Understand the five action classes](/guides/safe-operations-foundation)
explain the model behind these controls: reads and drafts are safe and run
immediately, while deliveries and spending pause for a person. Agent
permissions apply that model per agent and per tool — tighten a specific
agent's boundaries with **Ask first** or **Off** without slowing down every
other agent in the workspace.
# Approve a sensitive message
Source: https://docs.trellistech.com/guides/approve-sensitive-message
Add review before messages about money, safety, policy exceptions, or important guest promises
## What this helps you do
Keep a person in control when a message could change a guest promise, affect
money, create a policy exception, or respond to a safety concern.
## Before you start
* Name the message types that require approval.
* Choose the manager or team responsible for each type.
* Decide what the workflow may draft while it waits.
* Use a synthetic recipient and no real guest details for testing.
## Add the approval
In **Workflows**, open the workflow that prepares or sends the message.
Review the recipient, channel, trigger, and message. Confirm why it needs a
person.
Place the approval before the message or action. Choose the responsible
reviewer shown in the workflow.
Make sure approval continues to the reviewed message and denial stops or
returns the work to a person.
Use synthetic information. Confirm the workflow waits, the reviewer sees the
full context, and nothing sends before approval.
Open **Workflows > Runs** and verify the approval, reviewer decision, next
step, and final status.
## Reviewer checklist
Before approving, check:
* The recipient, property, reservation, and channel.
* Dates, amounts, access details, and policy wording.
* Whether the message promises something your team can deliver.
* Whether private information is necessary and appropriate.
* Whether another person or owner must decide first.
## How to check it worked
* The safe test stops at approval.
* The responsible reviewer receives enough context.
* Denial prevents the message or sensitive action.
* Approval continues only with the reviewed content.
* Runs shows the complete decision and outcome.
## Common problems
Turn the workflow off, move the approval before the send step, and repeat
the synthetic test.
Correct the reviewer or team in the workflow and test both approve and deny.
Assign a backup reviewer or route the case to your escalation team. Do not
remove approval to solve a staffing delay.
## Related articles
* [Workflow automations](/platform/automations)
* [Launch and hand off your AI Agent](/guides/launch-and-handoff-ai-agent)
* [Outbound messages](/platform/outbound)
# Connect email to Inbox
Source: https://docs.trellistech.com/guides/channels/email-inbox
Connect an email account, run a safe inbound test, and recover a disconnected mailbox
## What this helps you do
Connect a team email account so supported incoming messages can reach Trellis
Inbox. Your available reply and automation options depend on the connection and
your workspace permissions.
## Before you start
* Use an account your team is allowed to connect.
* Ask an admin or manager to confirm which mailbox should be shared.
* Keep the AI Agent in review mode during the first test.
* Have a second safe email address ready for an inbound test.
## Connect the mailbox
Go to **Settings > Integrations > Email**.
Select the available email connection and follow the sign-in prompts. Review
the account name before approving access.
Return to the email integration and confirm it shows the mailbox your team
intended to connect.
From the second address, send a short message that contains no guest or
reservation details. Confirm it appears in **Inbox** under the expected
channel.
Confirm the conversation, sender, draft, and reply channel are correct.
Send only when your team has approved the test.
## How to check it worked
* The email integration shows the intended account.
* The safe test appears once in the expected Inbox view.
* The conversation shows email as its channel.
* Teammates with Inbox access can open it.
## Recover a disconnected mailbox
Open **Settings > Integrations > Email** and review the connection status. Sign
in again only with the approved team account. Repeat the inbound test after the
connection is restored. Do not send repeated test replies while delivery is
uncertain.
## Common problems
Clear Inbox filters, confirm the connected address, and check whether the
message reached that mailbox outside Trellis. Then refresh Inbox once.
Stop the test. Ask an admin to disconnect it, then connect the approved team
mailbox.
Ask an admin to check the teammate's Inbox and property access in
**Settings > Permissions**.
## Related articles
* [Inbox](/platform/inbox)
* [Launch and hand off your AI Agent](/guides/launch-and-handoff-ai-agent)
* [Troubleshooting](/platform/troubleshooting)
# Set up phone and SMS
Source: https://docs.trellistech.com/guides/channels/phone-and-sms
Verify a Trellis phone connection with safe call and text tests
## What this helps you do
Set up the phone and text capabilities available in your workspace, then verify
that your team can find the resulting activity in Trellis.
## Before you start
* Ask an admin which number should be used.
* Review the call and text options shown on the integration page.
* Use a team-owned test phone. Do not test with a guest.
* Confirm your local consent, recording, and messaging requirements.
## Connect and test
Go to **Settings > Integrations > Phone & SMS**.
Confirm the displayed number and whether your workspace is set up for calls,
texts, or both.
Send a short message from the team-owned phone. Confirm the conversation
appears in **Inbox** with the expected number.
Place a short test call. Confirm the call activity appears where your team
expects it. Do not record or contact anyone outside the test.
Check the recipient, number, content, and approval state. Send only when a
manager has approved the test.
## How to check it worked
* The expected number and capabilities appear in the integration.
* The inbound text appears once in Inbox.
* Enabled call activity appears with the correct test number.
* Teammates with the right access can review the activity.
## Recover a disconnected number
Open **Settings > Integrations > Phone & SMS** and review the displayed status.
Ask an admin to follow the reconnect steps. Run one inbound test after recovery.
Do not repeat outbound calls or texts while the delivery result is unknown.
## Common problems
Review the capabilities shown for the number. A workspace may be configured
for only some phone features.
Clear Inbox filters, confirm the destination number, and refresh once.
Stop testing and ask an admin to review the phone integration before anyone
sends a message.
## Related articles
* [Inbox](/platform/inbox)
* [Outbound messages](/platform/outbound)
* [Troubleshooting](/platform/troubleshooting)
# Connect Slack for team operations
Source: https://docs.trellistech.com/guides/channels/slack
Connect the approved Slack workspace and verify internal Trellis notifications
## What this helps you do
Connect Slack for internal team work such as supported alerts and operational
updates. Slack is a team channel; it is not a replacement for a guest message
channel.
## Before you start
* Ask a Slack admin which workspace and default channel Trellis should use.
* Choose a test channel with no customer or guest participants.
* Decide which notification types need their own approved channels. Notification
types without an override continue using the default channel.
* Confirm who should be allowed to change the connection.
## Connect and test
Go to **Settings > Integrations > Slack**.
Follow the displayed connection steps. Review the workspace name and
requested access before approving.
Select the approved default channel when the integration asks for one.
Go to **Settings > Notifications**. For each enabled workspace Slack
notification, an admin or manager can choose a different approved channel.
Leave a notification on the default channel when it does not need a
dedicated destination.
Use the test action shown in Trellis, or run an approved workflow that posts
only synthetic operational information.
Check that the update appears once in the expected Slack channel and links
your team back to the right Trellis work.
## How to check it worked
* The intended Slack workspace is connected.
* The test reaches the approved channel for that notification type, or the
default channel when no override is configured.
* The update contains no private guest information.
* Teammates can follow the update back to the correct Trellis area.
## Recover a disconnected workspace
Open **Settings > Integrations > Slack** and review the connected workspace and
channel. Ask a Slack admin to approve the connection again if required. Repeat
one synthetic test. Do not post real guest details while testing.
## Common problems
Confirm the person reconnecting Slack can access that channel and that the
channel is approved for Trellis updates.
Stop the workflow and open **Settings > Notifications**. Correct the channel
for that notification type, then remove the synthetic test if your Slack
policy allows.
Ask an admin to review that teammate's Trellis role and property access.
## Related articles
* [Workflow automations](/platform/automations)
* [Choose roles and property access](/guides/roles-and-property-access)
* [Troubleshooting](/platform/troubleshooting)
# Connect WhatsApp
Source: https://docs.trellistech.com/guides/channels/whatsapp
Connect an approved WhatsApp account, verify incoming messages, and recover the connection safely
## What this helps you do
Connect the WhatsApp account shown in your workspace so supported conversations
can appear in Trellis Inbox. The integration page shows the capabilities
available for your connection.
## Before you start
* Confirm which business account and number your team owns.
* Use an admin or manager account in Trellis.
* Keep automatic replies off or in review mode for the first test.
* Use a safe test contact that is not a guest.
## Connect and test
Go to **Settings > Integrations > WhatsApp**.
Follow the displayed connection steps. Before approving, verify the business
account and number.
Return to the integration page and confirm the expected number is shown as
connected.
From the test contact, send a short message with no guest details. Confirm
it appears once in **Inbox** with WhatsApp as the channel.
Check the recipient, conversation, and any AI draft. Send only after your
team approves the test.
## How to check it worked
* The intended business number is connected.
* The inbound test appears in the correct conversation.
* The channel label is WhatsApp.
* A teammate with the right access can review the conversation.
## Recover a disconnected account
Open **Settings > Integrations > WhatsApp**. Confirm the account has not changed,
then follow the displayed reconnect steps. Repeat one inbound test after the
status is restored. If delivery is uncertain, do not resend the same outbound
message.
## Common problems
Clear Inbox filters, confirm the test reached the connected number, and
refresh once. Then review the integration status.
Stop testing and ask an admin to reconnect the approved business account.
Keep the AI Agent in review mode and ask the teammate responsible for that
channel to approve or edit the draft.
## Related articles
* [Inbox](/platform/inbox)
* [Launch and hand off your AI Agent](/guides/launch-and-handoff-ai-agent)
* [Troubleshooting](/platform/troubleshooting)
# Assign, escalate, or create a task
Source: https://docs.trellistech.com/guides/conversation-escalation
Three ways to move a conversation to the right person — and what the receiver sees in each
## What this helps you do
Pick the right hand-off for a guest conversation so the work lands with the
right person, with the context they need, instead of dying in the gap between
owners.
## The three moves
| Move | Use it when | What the receiver gets |
| --------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------- |
| **Assign** | The conversation itself needs a different owner — it stays a conversation | The thread appears under their name with the full message history and the reservation and property context beside it |
| **Escalate** | The conversation needs attention beyond normal ownership — judgment, authority, or urgency | An **Escalation** flags the thread for the configured **Recipients**, on top of whoever owns it |
| **Create task** | The guest needs something done in the real world — a repair, a delivery, a clean | A task linked to the property and reservation, scheduled and assigned like any other operational work |
## Assign a conversation
Assigning changes who owns the thread. The receiver sees everything you see —
the history, the reservation, the property — so an assignment needs no
separate summary. What it does need is a reason: a one-line note in the thread
telling the new owner what is outstanding turns a transfer into a hand-off.
## Escalate a conversation
**Escalate** raises the thread to the people configured as escalation
**Recipients**. Trellis agents also escalate on their own when a conversation
needs human attention — the thread shows an **Escalation** with the agent's
reasoning, and the suggested response waits for your review.
Escalating does not move ownership. The owner still owns the outcome; the
escalation adds eyes and authority.
## Turn it into a task
When the request needs work at the property, use **Create task** from the
conversation. The task carries the link back to the conversation, property,
and reservation, so the worker sees why the work exists and the conversation
owner can watch its progress. For what makes the task itself succeed, see
[Create a task that comes back done right](/guides/create-a-task).
## The follow-up habit
Whoever owns the conversation owns checking that the work happened. An
assignment, escalation, or task is a delegation, not an ending — the
conversation resolves when the guest's need is met and the record shows it.
# Create a task that comes back done right
Source: https://docs.trellistech.com/guides/create-a-task
Instructions, checklists, and proof requirements that make completed work verifiable
## What this helps you do
Create tasks whose completions you can trust without being on site — because
the instructions were concrete and the proof was named before the work
started.
## Before you start
Know the property, the timing window, and what "done" looks like. A task
missing any of the three bounces back with questions or, worse, comes back
"complete" without being checkable.
## Create the task
Use **Create task** from wherever the need surfaced — a conversation, a property, or the task
list directly. Starting from a conversation or reservation carries the property and stay context
with it.
Assume the worker has never seen this property. Name the exact area, the exact problem, and
anything they must know before starting. "Fix the lockbox" fails; "Front-door lockbox, code
wheel sticks on 3 — replace the unit in the garage cabinet" succeeds.
A **Checklist** turns one vague task into verifiable parts, each checked off individually.
Sequence the items the way the work must happen.
Mark items **Photo required** where you need to see the result, and say in the instructions what
the photo must show. Proof named after completion is an argument; proof named before is a
requirement.
Give the task its date, timing window, and assignee. Unassigned or undated tasks are wishes, not
work.
## Let an agent draft it
Trellis agents can draft tasks from a conversation or a request — the draft
arrives for your review with the property and reservation already linked.
Review it like any other draft: tighten the instructions, add the checklist
and proof requirements, then let it through. The agent saves the typing; the
standards stay yours.
## What happens next
The completed work comes back with its proof attached for review — the
reviewer's half of this contract is covered in
[Review completions and evidence](/guides/task-versus-visit).
# Onboard a field worker
Source: https://docs.trellistech.com/guides/field-worker-onboarding
Help a field worker sign in, find assigned work, complete proof, and manage notifications
## What this helps you do
Give a cleaner, inspector, or maintenance teammate a clear first-day path from
invitation to completed work.
## Before you start
* Confirm the worker's email or phone contact.
* Choose their role, department, and property access.
* Prepare one safe training task.
* Decide which checklist, photo, note, and time details are required.
## Onboard the worker
From **Settings > Permissions**, review the contact, role, department, and
property scope before sending the invitation. In a property-management
workspace, choose whether the worker needs a recurring shift or **No shift
requirement**. The recurring option starts with Monday through Friday,
9:00 AM to 5:00 PM. Adjust the days, times, and number of weekly
duplications before you send the invitation.
Ask the worker to accept the invitation, sign in, and choose the correct
workspace.
Have the worker open their schedule and the assigned training task. Confirm
the property, time, and instructions.
Follow each item and add the required photos, notes, or time information.
Use the task note or issue path your team has chosen. Do not mark blocked
work complete without explaining the problem.
Mark the training task complete, then have a manager review the result.
The shift choice is for teammates invited into your property-management
workspace. Vendor workspace invitations keep their existing access flow and do
not add a teammate schedule.
## Set notifications
Ask the worker to allow the notification methods your team uses for assignments
and schedule changes. Keep alerts limited to useful work. If a notification is
missing, check both Trellis preferences and the device or browser permission.
## How to check it worked
* The worker signs into the correct workspace.
* They see the training task and no unrelated property.
* The checklist, photos, notes, and completion status reach the manager.
* Required notifications are enabled.
* The worker knows how to report blocked work.
## Common problems
Confirm the contact in **Settings > Permissions** before using the available
resend option.
Check the assignee, department, role, and property access. Then refresh.
Confirm the workspace name before continuing. Then check that the worker's
role and property access belong to that workspace.
Check device permissions and connection quality. Keep the task open until
the required proof appears.
## Related articles
* [Tasks](/platform/tasks)
* [Workforce](/platform/workforce)
* [Choose roles and property access](/guides/roles-and-property-access)
# Run your first cleaning operation
Source: https://docs.trellistech.com/guides/first-cleaning-operation
Prepare, assign, complete, and review one cleaning job from start to finish
## What this helps you do
Prove one cleaning process before you automate it across your portfolio. This
guide connects the property, task, assignee, field work, and manager review.
## Before you start
* Choose one test property and one upcoming or synthetic cleaning.
* Confirm the teammate or vendor has access to that property.
* Prepare the checklist, timing, and photo requirements your team uses.
* Keep any checkout workflow off until the manual test is complete.
## Prepare the work
Open **Properties** and confirm the address, access notes, rooms, and
cleaning details the worker needs.
In **Tasks**, use the cleaning task type or template your team has approved.
Set the property, date, time, checklist, and required proof.
Assign the teammate, department, or vendor. Confirm their role and property
access before saving.
Ask the worker to sign in, open the assigned task, and confirm the schedule,
property, checklist, and instructions.
Have the worker follow the checklist, add the required photos or notes, and
mark the task complete.
Confirm completion time, checklist, photos, notes, and any issue that needs
follow-up.
## Add checkout automation after the test
Once the manual process is correct, create or update a workflow that creates the
cleaning task after the right checkout event. Use the same property, task
details, and assignment rules. Run a safe test and inspect
**Workflows > Runs** before enabling it.
## How to check it worked
* The task belongs to the correct property and time.
* The intended worker can open only the work they need.
* The checklist and proof requirements are clear.
* The manager can review completion and exceptions.
* Any checkout workflow has a successful safe test in Runs.
## Common problems
Confirm the assignment, department, role, and property access. Then ask the
worker to refresh the task list.
Correct the property source first, then update or recreate the test task.
Turn it off, inspect the trigger and assignment in **Workflows > Runs**, and
repeat the safe test.
## Related articles
* [Tasks](/platform/tasks)
* [Workforce](/platform/workforce)
* [Workflow automations](/platform/automations)
* [Field worker onboarding](/guides/field-worker-onboarding)
# Fix wrong AI information
Source: https://docs.trellistech.com/guides/fix-wrong-ai-information
Correct the source of a wrong AI answer and verify the same question again
## What this helps you do
Fix an incorrect AI Agent answer at its source so the correction lasts. Do not
patch only one draft when the underlying property fact, policy, instruction, or
procedure is wrong.
## Find the source that should own the answer
| Wrong information | Check first |
| ------------------------------------------------- | ------------------------------------------------- |
| Parking, Wi-Fi, access, amenity, or check-in fact | The property |
| Company policy or owner rule | The approved document |
| Voice, limits, or when to ask a person | Agent instructions |
| A repeat process | The skill |
| Reservation date, guest, or booking detail | The connected property system and its latest sync |
## Correct and retest
Record the question, the wrong answer, the property or conversation, and the
time. Hide private guest details from screenshots.
Use the table above. If two sources disagree, choose one canonical source
and remove or update the conflicting copy.
Make the smallest accurate change. Do not add a broad instruction for one
property's changing fact.
Test in review mode with the same property and context. Confirm the answer
now uses the corrected source.
Ask a related question to make sure the correction did not create a new
conflict.
Keep automatic replies off for the affected case until a manager accepts
both results.
## When the source is a reservation
Open the reservation in the connected property system and Trellis. Use the
refresh method documented for that integration. Confirm the latest known change
appears before retesting the AI Agent.
## How to check it worked
* The canonical source contains the accurate information.
* Conflicting copies are removed or corrected.
* The same question now produces the expected answer.
* A nearby case remains accurate.
* A manager accepts the result before automatic use resumes.
## Common problems
Confirm you edited the source used by the selected property and agent. Check
for a conflicting document, instruction, or property field.
Review each property's facts and the agent's property access. Do not put a
property-specific exception in a company-wide document.
Keep the example in review mode and contact support with the time, property,
question, expected answer, and a private screenshot.
## Related articles
* [AI Hub](/platform/ai-hub)
* [Launch and hand off your AI Agent](/guides/launch-and-handoff-ai-agent)
* [Integrations overview](/integrations/overview)
# Create and share house manuals
Source: https://docs.trellistech.com/guides/house-manuals
Write property-specific instructions for your team or guests, then share only the guest-safe version
## What this helps you do
Create a clear Markdown manual for each property. Keep operating instructions
inside Trellis, or publish guest-safe instructions through the property's
permanent QR manual.
## Before you start
* Confirm you can edit the property.
* Decide whether the manual is for your team only or safe for anyone who scans
the property's QR code.
* Prepare the title and instructions you want people to follow.
## Create a manual
In **Properties**, select **Manuals**, then select **New manual**.
Choose the property and give the manual a specific title, such as "Arrival guide" or "Pool
care". Select **Internal only** for your team, or **Visible to guests** to show it on the
property's public QR manual.
Use headings, lists, and links to make the Markdown easy to scan. Save the manual before you
publish it for guests.
For a guest-visible manual, open the property's **Mobile manual** and use the copied guest link
or QR code on a phone. Confirm the title, content, and support contact are correct before
sharing or printing it.
Anyone who scans a permanent QR code can open its guest-visible manuals. Do not include door
codes, lockbox codes, passwords, reservation details, or team-only notes. Keep that information in
reservation-specific guest links or internal manuals.
## Translate a manual
Open a saved manual and select **Translate**. Choose the language you need,
then review the translated version. When you update the original title or
instructions, generate the translation again before sharing it with guests.
## How to check it worked
* The manual appears under the correct property in **Properties > Manuals**.
* Internal manuals do not appear on the public guest link.
* Guest-visible manuals show on the QR manual with their title and Markdown
formatting.
* The selected translation appears when the guest page is opened in that
language.
## Related articles
* [Properties](/platform/properties)
* [Guest portal](/platform/guest-portal)
* [Choose roles and property access](/guides/roles-and-property-access)
# Launch and hand off your AI Agent
Source: https://docs.trellistech.com/guides/launch-and-handoff-ai-agent
Test the AI Agent in review mode and define when a person must take over
## What this helps you do
Launch an AI Agent with clear information, safe review, and a dependable human
hand-off. Start with one property and one channel.
## Before you start
* Complete the [Quickstart](/quickstart) through the channel test.
* Decide which teammate owns escalations.
* Prepare one property fact, one company policy, one repeat procedure, and one
request that must go to a person.
* Keep automatic replies off during testing.
## Prepare the source information
Use one source of truth for each kind of information:
| Information | Put it here |
| --------------------------------------- | ------------------ |
| Property facts such as parking or Wi-Fi | Property |
| Company policies | Document |
| Voice, limits, and hand-off rules | Agent instructions |
| Repeat procedures | Skill |
## Test in review mode
Go to **AI Hub**, choose the agent, and review its instructions and access.
Ask a question whose answer belongs to one property. Confirm the answer uses
that property's current details.
Ask one question answered by a company document and one that should follow a
skill. Confirm the sources do not conflict.
Use a safe example involving a complaint, refund, safety concern, or another
case your team requires a person to review. Confirm the agent pauses or
prepares a draft instead of making the sensitive decision.
Check tone, facts, recipient, property, and requested action. Correct the
source information, not only the draft.
## Decide when a person takes over
Write short hand-off rules in the agent instructions. Name the situations, the
person or team responsible, and what the agent may do while waiting. Common
hand-offs include safety issues, money, policy exceptions, angry guests, owner
decisions, and uncertain property facts.
## Move beyond review mode
Only consider automatic replies after your team has repeated the tests on real
approved examples and reviewed the results. Expand one channel or property at a
time. Keep sensitive actions behind approval.
## How to check it worked
* Each test uses the intended source.
* The agent follows your tone and limits.
* The hand-off reaches the responsible person.
* No sensitive promise or action happens without the required review.
* A manager knows where to inspect the conversation and improve the source.
## Common problems
Follow [Fix wrong AI information](/guides/fix-wrong-ai-information) and
update the source that should own the answer.
Review the agent's property, Inbox, and tool access in AI Hub.
Tighten the hand-off instructions and require approval for the action. Test
the same case again in review mode.
## Related articles
* [AI Hub](/platform/ai-hub)
* [AI Agent](/platform/ai-agent)
* [Approve a sensitive message](/guides/approve-sensitive-message)
# Send a maintenance request to a vendor
Source: https://docs.trellistech.com/guides/maintenance-request-to-vendor
Turn an approved maintenance issue into assigned vendor work with manager review
## What this helps you do
Create clear vendor work from a maintenance issue while keeping property access,
assignment, proof, and guest communication under your team's control.
## Before you start
* Confirm the property and the issue.
* Remove guest details the vendor does not need.
* Confirm the vendor can access the property and task type.
* Decide who approves cost, timing, entry, and guest communication.
## Create and assign the work
Confirm what happened, where it happened, how urgent it is, and whether a
person must contact the guest first.
In **Tasks**, choose the property and add a clear title, description,
priority, timing, access notes, and required proof.
Choose the approved vendor. Review their property and task-type access
before saving.
Check that the vendor can open the task and sees the correct property,
timing, and instructions.
Check notes, photos, completion time, and any follow-up or cost approval.
Have the responsible teammate update the guest, owner, or internal team only
after reviewing the vendor result.
## How to check it worked
* The task contains only the information the vendor needs.
* The approved vendor can open the correct task and property.
* Required proof reaches the manager.
* Cost, access, or guest communication follows the approval rule.
* Any follow-up task has an owner and due date.
## Common problems
Review the vendor contact, invitation, task type, and property access in
**Settings > Permissions**.
Reassign it, review any default assignment, and confirm the new vendor
before sending further details.
Pause the vendor workflow and hand the conversation to the responsible
teammate.
## Related articles
* [Tasks](/platform/tasks)
* [Set up a vendor](/platform/workforce#set-up-a-vendor)
* [Approve a sensitive message](/guides/approve-sensitive-message)
# Read a reservation
Source: https://docs.trellistech.com/guides/reservations
The reservation record decoded: status lifecycle, the guest behind it, the channel it came from, and what your PMS owns
## What this helps you do
Answer "which reservation?" — the first question behind almost any guest
issue — and read the record correctly once you have it.
## The status lifecycle
A reservation moves through a small set of statuses:
| Status | Meaning |
| ---------------------------- | ------------------------------------------------ |
| **Inquiry** | A guest asked about a stay; nothing is committed |
| **Confirmed** | The booking is real and upcoming |
| **Checked In** / **In Stay** | The guest is currently at the property |
| **Checked Out** | The stay ended normally |
| **Canceled** | The booking ended before or during the stay |
Status answers most timing questions on its own: a "late checkout" request
against a **Checked Out** reservation and one against an **In Stay**
reservation are different conversations.
## What hangs off the record
* **The guest contact.** The person behind the stay, with their conversation
history. One contact can hold many reservations across properties and years.
* **The property.** The stay links to exactly one property, which is where
cleaning, maintenance, and house details live.
* **The channel.** Where the booking originated — a listing channel or a
direct booking. Channel determines how guest messages travel and which
policies came with the booking.
* **Connected work.** Tasks and conversations created for this stay reference
it, so the reservation is the hub for tracing what happened around a stay.
## What your PMS owns versus Trellis
When a property management system is connected, it is the source of truth for
the booking itself — dates, status, guest identity, and money sync from the
PMS into Trellis. Work that happens around the stay — conversations, tasks,
notes, AI activity — lives in Trellis.
The practical rule: to change booking facts, change them in the PMS and let
the sync carry them over; correcting them only in Trellis will not hold. For
tracing and fixing wrong information wherever it lives, see
[Fix wrong AI information](/guides/fix-wrong-ai-information).
# Choose roles and property access
Source: https://docs.trellistech.com/guides/roles-and-property-access
Give each teammate the work and properties they need without unnecessary access
## What this helps you do
Plan practical access for office staff, managers, field workers, owners, and
vendors. Available roles and controls can vary by workspace, so use the closest
role shown in **Settings > Permissions** and test the invited account.
## Before you start
* List the tasks each person must complete.
* List the properties they should see.
* Identify actions that require manager or admin approval.
* Start with the least access that supports the job.
## Recommended access patterns
| Person | Usually needs | Usually does not need |
| ------------------ | ---------------------------------------------------- | ----------------------------------------------- |
| Front office | Inbox, contacts, reservations, approved properties | Billing, integrations, broad admin changes |
| Operations manager | Tasks, Workforce, workflows, properties, team review | Access outside their operating scope |
| Field worker | Assigned schedule, tasks, visits, checklists, photos | Inbox, billing, workspace administration |
| Owner | Approved property reporting and communication | Other owners' properties or team administration |
| Vendor | Assigned task types and approved properties | General workspace or unrelated property access |
These are starting points, not automatic settings.
## Configure and verify access
Go to **Settings > Permissions** and choose the person or role.
Enable only the areas needed for the person's job.
Turn on **Show Team view** when the role needs to review the team's visits
in the mobile app. This setting does not replace task, department, or
property permissions; those controls still determine what the person can
see and complete.
Choose the approved properties, teams, or assignments when those controls
are available.
Review the email, role, and scope before sending the invitation.
Ask the person to sign in and complete one safe read-only check. Confirm
they can see the intended work and cannot see an unrelated property.
## Review access over time
Review access when someone changes teams, an owner adds or removes a property, a
vendor's contract ends, or a manager takes over a new portfolio. Remove access
that is no longer needed.
## Common problems
Review their role and the permission for that area. Then ask them to sign in
again.
Reduce their property or team scope and repeat the unrelated-property test.
Follow [Set up a vendor](/platform/workforce#set-up-a-vendor) and confirm the
contact before resending.
## Related articles
* [Settings & Admin](/platform/settings)
* [Workforce](/platform/workforce)
* [Field worker onboarding](/guides/field-worker-onboarding)
# Understand the five action classes
Source: https://docs.trellistech.com/guides/safe-operations-foundation
How Trellis separates reading, drafting, changing, delivering, and spending — and where approvals protect you
## What this helps you do
Predict which actions in Trellis run immediately and which pause for a person,
so you can set up permissions and agent access with confidence. Every action a
teammate or AI agent takes belongs to one of five classes, and the controls in
**Settings > Team & Permissions** and each agent's **Access & Safety** follow
the same model.
## The five classes
| Class | What it covers | Typical controls |
| ------- | ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| Read | Viewing records | The **View** permission in the role matrix; agent **View** access |
| Draft | Composing something not yet sent, like a suggested reply | Always safe; drafts wait for review |
| Change | Editing records inside Trellis — property fields, task details, schedules | **Create**, **Edit**, **Delete**, and **Assign** in the role matrix; agent **Change** access |
| Deliver | Sending to the outside world — a guest message, a provider update | **Approve & send** on replies; **Ask first** on agent tools |
| Spend | Money — refunds, costs above limits | The **Approve** permission; cost approvals on tasks |
A wrong change can be corrected inside Trellis. A wrong delivery has already
reached a guest or an external system. That is why reads, drafts, and changes
run at full speed while deliveries and spending pause for review.
## Where the controls live
Go to **Settings > Team & Permissions**. Each role is a matrix of resources
and actions — **View**, **Create**, **Edit**, **Delete**, **Assign**, and
**Approve**. Property access notes: "Restrict which properties this role
can see and act on. Empty selection = all properties."
In an agent's **Access & Safety**, every tool is **Allowed**, **Ask
first**, or **Off**, with **View** and **Change** access set separately
per work area.
Above tool access sits the autonomy mode: **Observe only**, **Ask before
acting**, **Act within limits**, or **Paused**. Even in **Act within
limits**, tools set to **Ask first** still stop for a person.
Drafted guest replies wait as suggested replies for **Approve & send**.
Agent actions set to **Ask first** stop at a **Requires approval** prompt
showing exactly what would run.
## Judge each request on its class
Before an unfamiliar action, ask which class it is. If the answer is deliver
or spend, expect an approval — and treat declining as normal operation, not a
failure. The prompt shows the exact content and input, so judge each item on
its own evidence.
## Common problems
Review the tool's setting in **Access & Safety**. Tools set to **Allowed**
run without a prompt in **Act within limits**; move sensitive tools to
**Ask first**.
Their role grants **View** but not **Edit** on that resource. Review the
role matrix in **Settings > Team & Permissions**.
Reads, drafts, and changes never require approval. If routine internal
edits are prompting, the affected tools or permissions are set more
strictly than the action class requires.
## Related articles
* [Choose roles and property access](/guides/roles-and-property-access)
* [Approve a sensitive message](/guides/approve-sensitive-message)
* [Settings & Admin](/platform/settings)
# Tasks, visits, and completion review
Source: https://docs.trellistech.com/guides/task-versus-visit
How a task differs from a visit, and how to review completed work against its evidence
## What this helps you do
Read operational work the way Trellis structures it — tasks inside visits —
and review completions so "done" always means verifiably done.
## Task versus visit
A **task** is one unit of work with its own instructions, checklist, and
proof requirements: fix this lockbox, run this turnover clean.
A **Visit** is a worker's bundle of work at one property for one day. When a
task is scheduled and assigned, it lands on a visit — the worker's view of
"what am I doing at this property today." One visit can carry several tasks;
one task always belongs to the property and timing that scheduled it.
The distinction matters when reading status: a task that never got done may
have failed on its own terms, or its visit may never have happened at all —
different problems with different fixes. A missed visit is a scheduling or
staffing issue; a failed task inside a completed visit is a work-quality
issue.
## Review a completion
Open the completed task and put the attached evidence next to what was asked: every checklist
item checked, every **Photo required** item backed by a photo showing what the instructions
demanded.
**Accept** when the evidence carries the completion. **Decline** when it does not — and say
specifically what is missing or wrong, so the redo is one trip instead of a guessing game.
Before declining, ask whether the task could have been done as written. Wrong code in the
instructions, a guest still in the unit, a part that does not exist — those are failures of the
task, not the worker. Fix the task and reschedule rather than declining the person who reported
honestly.
## Why reviews are worth the minutes
Reviewed completions are the record every quality number is built on. A
completion accepted without its evidence poisons that record silently — the
metric says the work happened, and nobody can later prove it did. The
standards for setting proof requirements up front are in
[Create a task that comes back done right](/guides/create-a-task).
# Breezeway
Source: https://docs.trellistech.com/integrations/breezeway
Connect Breezeway to keep cleaning, maintenance, inspection, comments, photos, and assignments aligned
Use the Breezeway integration when your field team works in Breezeway and your operations team works in Trellis. Supported task updates can stay aligned in both tools.
## What syncs into Trellis
* Cleaning, maintenance, and inspection tasks.
* Task templates and checklists.
* Task comments, excluding private notes.
* Photos and attachments tied to synced tasks.
* Worker, vendor, and assignment details.
* Task costs when your Breezeway account supports them.
* Task tags and labels.
## What Trellis can send back
Supported task changes made in Trellis can appear in Breezeway, including new tasks, status changes, comments, photos, assignments, and task-level costs.
Visit-level Trellis costs and media stay in Trellis unless they belong to a synced Breezeway task.
## Before you connect
* Make sure you can manage the Breezeway account.
* Have the Breezeway client ID and client secret ready.
* Know which Breezeway workers and vendors match Trellis team members.
* Review which properties should be linked between both systems.
## Connect Breezeway
Go to **Settings > Integrations** and choose **Breezeway**.
Enter the Breezeway client ID and client secret.
Match Breezeway properties to Trellis properties.
Match Breezeway people and vendors to the right Trellis team members or vendor records.
Review the task list and open a few tasks to confirm assignments, comments, photos, and checklists look right.
## Use Breezeway templates
When a crew relies on Breezeway checklists, use a Breezeway template while creating the task in Trellis. This helps the worker see the same checklist in Breezeway.
## Verify current task data
1. Confirm one expected Breezeway task appears in Trellis with the correct
property, type, and assignee.
2. Review **What Trellis can send back** before changing a task, comment, photo,
assignment, or cost.
3. Use the connection status and available refresh control in
**Settings > Integrations > Breezeway**.
4. Make one safe task change in the approved source, refresh, and confirm that
exact change appears in the other system.
Do not repeat a task change when the first result is unknown.
## Common problems
Check the worker mapping in **Settings > Integrations > Breezeway**. The person may need to be matched in both systems.
The worker may be active in one system and inactive in the other. Check both accounts before reassigning work.
Confirm the property is mapped and the task type is supported for Breezeway sync.
Confirm they belong to a synced Breezeway task, not only to a Trellis visit.
## Related articles
# Calry
Source: https://docs.trellistech.com/integrations/calry
Connect Calry to bring properties, reservations, contacts, photos, and conversations from supported property systems into Trellis
Calry is a bridge that connects Trellis to other property systems. Use it when
your PMS is not in our direct list, or when your company uses more than one
system.
## Supported systems
Calry can connect Trellis to systems such as Hostfully, Hostify, Avantio, and other supported platforms. Ask your Trellis account manager to confirm whether your setup is supported.
## What syncs into Trellis
* Properties and listing details.
* Property photos and amenities.
* Reservations and stay details.
* Guest contacts linked to reservations.
* Guest conversations when the connected system supports them.
## What Trellis can send back
Replies can go back through Calry when the connected property system supports message sending. Other send-back actions depend on the system behind Calry.
## Connect Calry
Go to **Settings > Integrations** and choose **Calry**.
Sign in to Calry and copy the connection key from account settings.
Paste the key into Trellis, choose the right workspace mapping if asked, and click **Connect**.
Review **Properties**, reservations, **Contacts**, and **Inbox**.
## Manual sync
Use manual sync when you want Trellis to re-check recent Calry data. Go to **Settings > Integrations > Calry**, click **Sync**, and choose the date range.
## Verify current data
1. Confirm one expected source property and recent reservation appear in
Trellis.
2. Treat supported message replies as the documented send-back behavior; other
actions depend on the system behind Calry.
3. Use **Sync** with the smallest date range that contains your test record.
4. Change one harmless source detail, sync, and confirm that exact change
appears in Trellis.
Do not repeat a reply while its delivery result is unknown.
## Common problems
Ask your Trellis account manager whether Calry supports it or whether another integration is a better fit.
Your underlying PMS may not allow replies on that channel. Check the source
system and the conversation type.
Run a manual sync with a date range that includes those bookings.
Check whether the source system shares those details through Calry.
## Related articles
# Guesty
Source: https://docs.trellistech.com/integrations/guesty
Connect Guesty to bring properties, reservations, messages, owners, reviews, and calendar updates into Trellis
Use the Guesty integration when Guesty is one of your main property systems. Trellis can import supported Guesty data, show it across the app, and send supported updates back to Guesty.
## What syncs into Trellis
* Properties, photos, amenities, rooms, and property groups.
* Reservations, guest details, dates, notes, and supported financial details.
* Guest, vendor, and owner conversations.
* Owner contacts linked to the properties they own.
* Guest reviews when Guesty makes them available.
* Calendar blocks and availability details.
* Guesty custom fields for properties and reservations.
## What Trellis can send back
Supported work can be sent back to Guesty, including:
* Replies to supported conversations.
* New reservations created in Trellis.
* Supported edits to existing Guesty reservations.
* Calendar blocks and unblocks with a reason or note.
* Supported property field updates.
A booking is not confirmed in Guesty until the Guesty record appears on the reservation in
Trellis. Wait for that before telling the guest it is booked.
## Before you connect
* Make sure you are allowed to manage the Guesty account.
* Create or find the Guesty connection key and secret in Guesty.
* Keep connection keys out of screenshots, tickets, and chat messages.
## Connect Guesty
Go to **Settings > Integrations** and choose **Guesty**.
Enter the Guesty connection key and secret shown in your Guesty Marketplace or API key area.
Click **Connect** and wait for Trellis to start the first import.
Review **Properties**, **Inbox**, **Contacts**, **Reviews**, and reservations to confirm the data looks right.
## Manual sync
Use manual sync when you want Trellis to re-check recent Guesty data. Go to **Settings > Integrations > Guesty**, click **Sync**, and choose the date range.
## Manage the Homeowner Portal
The Trellis **Homeowner Portal** works with or without Guesty. Open
**Properties > Owner Portal** to manage the existing owner access
links and review completed Trellis tasks before sharing them.
Guesty is an optional destination for an approved update. It appears only when
the workspace has an active Guesty connection, the Trellis property has one
active Guesty listing mapping, and the update is a supported cleaning or
inspection with eligible photos. Trellis remains the source of the task,
approval, reviewed copy, and owner access.
### Publish a Trellis task to an owner
Find the completed task for the correct property. Trellis keeps the task private until your team
publishes it.
Check the title, summary, staff attribution, and qualifying photos. Remove internal notes or
evidence the owner should not see.
Confirm the intended owner and property before publishing. Access is scoped to that
owner-property relationship.
Trellis owner access is required. If Guesty is eligible, you can also create one completed
Guesty task from the same approved snapshot. A Guesty warning never removes the Trellis update.
Publishing changes owner visibility and may create a Guesty task when you explicitly select
Guesty. It does not send email, SMS, or another owner notification.
## Verify current data
1. Confirm one expected Guesty property and recent reservation appear in
Trellis.
2. Review **What Trellis can send back** before testing any reply or change.
3. Use **Sync** with the smallest date range that contains your test record.
4. Change one harmless source detail your team is allowed to edit, sync, and
confirm that exact change appears in Trellis.
Do not repeat a reply, booking, block, or property update when the first result
is unknown.
## Common problems
Check that the listing or booking is active in Guesty, then run a manual sync for the right date
range.
Make sure the conversation supports replies through Guesty and that the connection is still
active.
Most Guesty custom fields are read-only in Trellis. Edit them in Guesty. A few fields are
editable in Trellis when your screen clearly shows an edit control.
Confirm the owner is attached to the property in Guesty, then run a manual sync.
## Related articles
# Hospitable
Source: https://docs.trellistech.com/integrations/hospitable
Connect Hospitable with OAuth to bring properties, reservations, guests, messages, availability, and reviews into Trellis
Use the Hospitable integration to bring your property and guest data into Trellis without copying an API key or access token. You sign in to Hospitable and approve access through its authorization screen.
## What syncs into Trellis
* Properties and room types.
* Reservations, stay dates, and supported booking details.
* Guest profiles linked to reservations and conversations.
* Guest conversations from supported booking channels.
* Availability for the next year.
* Reviews when Hospitable makes them available.
## What Trellis can send back
* Replies to supported guest conversations go back through Hospitable to the original booking channel.
* Supported reservation status changes made in Trellis go back to Hospitable.
## Before you connect
* Make sure you are an admin or manager in Trellis.
* Sign in with a Hospitable account owner or administrator who can approve partner access.
* Allow pop-up windows for Trellis. The Hospitable authorization screen opens in a separate window.
* Confirm that you are signed in to the Hospitable account you intend to connect.
## Connect Hospitable
In Trellis, go to **Settings > Integrations**, add a PMS connection, and choose **Hospitable**.
Enter a name for the connection if needed, then click **Connect Hospitable**. You do not need to paste an API key or access token.
In the window that opens, sign in to Hospitable, review the requested access, and approve the connection.
When authorization is complete, close the confirmation window if it does not close automatically and return to Trellis.
Wait for the initial sync, then review **Properties**, reservations, **Contacts**, **Inbox**, and **Reviews**.
## Managing the connection
Each PMS connection gets its own card under **Settings > Integrations**. On the Hospitable card you will find:
| Action | What it does |
| ----------------- | ------------------------------------------------------------------------------------------------ |
| Test Connection | Checks that the authorization is still valid |
| Sync Data | Runs a manual import for a range you choose: last 7, 30, or 90 days, all time, or a custom range |
| Sync Webhooks | Re-registers the webhooks Hospitable uses to push live updates to Trellis |
| Edit Connection | Renames the connection or re-authorizes it |
| Remove Connection | Disconnects Hospitable. Data already imported into Trellis stays |
New bookings and messages keep syncing on their own after that, so there is nothing to import manually day to day. You can also revoke Trellis's access from inside Hospitable at any time.
### Manual sync
Use manual sync when you want Trellis to re-check recent Hospitable data. Go to **Settings > Integrations**, open the Hospitable connection, click **Sync Data**, and choose the smallest date range that contains the records you need.
## Verify current data
1. Confirm that one expected Hospitable property and a recent reservation appear in Trellis.
2. Open a supported conversation in **Inbox** and confirm that its guest and reservation details match Hospitable.
3. If you test a reply, use a test conversation and confirm delivery in Hospitable before sending another message.
4. Make one harmless change in Hospitable, run a sync, and confirm that the same change appears in Trellis.
## Known limitation
Hospitable does not provide property amenity lists to Trellis. Add the information your team needs for guest answers to the property's notes or house rules in Trellis.
## Troubleshooting
The authorization window is a browser pop-up, so a pop-up blocker will stop it silently. Allow pop-ups for your Trellis domain and click **Connect Hospitable** again.
Cancel the authorization, sign out of Hospitable in the authorization window, and restart the
connection with the correct account.
Trellis waits five minutes for you to finish in the pop-up. If it takes longer, the connection is cancelled. Click **Try again** and complete the Hospitable sign-in more quickly, for example by signing in to Hospitable in another tab first.
This appears if the pop-up was closed, or access was declined, before Hospitable finished handing control back. Click **Try again** and approve the access on the Hospitable screen.
Return to Trellis and allow the initial sync to finish. If data is still missing, run **Sync Data** for a recent date range and confirm that the records are active in Hospitable.
The connection was authorized but the first import has not run. Click **Sync Data** on the Hospitable card to start it manually. If that does not clear the status, contact support and give us your workspace name.
Confirm the listings are active in Hospitable, then run **Sync Data**. Properties that already existed in Trellis may need to be matched to their Hospitable listing under **Mappings**.
Hospitable can share only the data available for the connected booking channel and account.
Confirm that the conversation or review is visible in Hospitable and that the connection is
still active.
Hospitable does not share amenity lists with Trellis. Keep the relevant guest-facing details in
the property's notes or house rules in Trellis.
## Related articles
# Hostaway
Source: https://docs.trellistech.com/integrations/hostaway
Connect Hostaway to bring properties, reservations, messages, reviews, and finance context into Trellis
Use the Hostaway integration when Hostaway manages your listings, bookings, channels, and guest messages. Trellis can keep supported Hostaway data visible across Properties, Inbox, Reviews, Accounting, and AI Hub.
## What syncs into Trellis
* Properties and listing details.
* Reservations, guests, dates, and supported financial details.
* Guest messages from supported Hostaway channels.
* Guest reviews and existing host responses when available.
* Finance report details the AI Agent can use for owner and commission questions.
## What Trellis can send back
Supported replies sent from Inbox can go back through Hostaway to the guest's original channel. Other send-back actions depend on what Hostaway allows for your account and channel.
## Before you connect
* Make sure you can manage the Hostaway account.
* Have the Hostaway account ID and connection secret ready.
* If Hostaway asks which connection type to create, choose the public Hostaway connection type meant for partner apps.
* Keep connection secrets out of tickets, chat messages, and screenshots.
## Connect Hostaway
Go to **Settings > Integrations** and choose **Hostaway**.
Use the Trellis listing in Hostaway Marketplace when available. Otherwise, use the Hostaway API settings area to create or copy the account ID and secret.
Paste the account ID and secret into Trellis, then click **Test connection** or **Connect**.
Review **Properties**, reservations, **Inbox**, and **Reviews**.
## Finance reports
The AI Agent can answer approved finance questions using Hostaway report data, such as commission by listing, taxes, and guest fees. This helps your team avoid guessing from reservation totals alone.
Example questions:
* "What was our commission for April?"
* "Show commission by listing last month."
* "Compare March and April owner fees."
## Manual sync
Use manual sync when you want Trellis to re-check recent Hostaway data. Go to **Settings > Integrations > Hostaway**, click **Sync**, and choose the date range.
## Verify current data
1. Confirm one expected Hostaway property and recent reservation appear in
Trellis.
2. Treat supported Inbox replies as the documented send-back behavior; other
actions depend on the account and channel.
3. Use **Sync** with the smallest date range that contains your test record.
4. Change one harmless source detail in Hostaway, sync, and confirm that exact
change appears in Trellis.
Do not repeat a reply or another send-back action while its result is unknown.
## Common problems
Check that the account ID and secret were copied correctly and that the Hostaway key is active.
Some booking channels limit what Hostaway can share. Check whether the conversation is available in Hostaway and supported by the connection.
Confirm that the original conversation supports Hostaway replies and that the connection is still active.
Run a manual sync with a date range that includes the older bookings.
## Related articles
# Krossbooking
Source: https://docs.trellistech.com/integrations/krossbooking
Connect Krossbooking to bring properties, reservations, conversations, and reviews into Trellis
Use the Krossbooking integration to keep supported Krossbooking data available in Trellis. It is most useful for teams that want one inbox, one property view, and one review workflow while Krossbooking remains their main booking system.
## What syncs into Trellis
* Properties and listing details.
* Reservations with guest and stay details.
* Guest contact profiles.
* Supported guest and owner conversations.
* Guest reviews with ratings and comments.
## What Trellis can send back
Replies sent from Inbox can go back through Krossbooking when the original channel supports replies. Trellis does not publish Krossbooking review replies yet.
## Connect Krossbooking
Go to **Settings > Integrations** and choose **Krossbooking**.
Ask your Krossbooking account manager or use the Krossbooking admin area to get the connection details.
Enter the details in Trellis and click **Connect**.
Review **Properties**, reservations, **Inbox**, and **Reviews**.
## Refresh listings
Use **Refresh listings** when you add or change listings in Krossbooking and want Trellis to check them again without waiting for the next normal update.
## Monitor the connection
Go to **Settings > Integrations > Krossbooking** to review recent sync activity, errors, and timing. Use this page when you want to confirm whether new reservations or messages are flowing into Trellis.
## Verify current data
1. Confirm one expected Krossbooking property and recent reservation appear in
Trellis.
2. Treat supported Inbox replies as the only send-back behavior documented on
this page.
3. Use **Refresh listings** for a listing change, or the manual sync shown in
the integration when available.
4. Change one harmless listing detail in Krossbooking, refresh, and confirm that
exact change appears in Trellis.
Do not repeat a reply while its delivery result is unknown.
## Common problems
Confirm the listing is active in Krossbooking, then use **Refresh listings** or run a manual sync if available.
Check whether the booking channel exposes that conversation to Krossbooking and whether the thread is supported by Trellis.
Confirm the original channel supports replies through Krossbooking.
Check whether Krossbooking has the review and whether it is linked to a reservation Trellis can see.
## Related articles
# Integrations overview
Source: https://docs.trellistech.com/integrations/overview
Connect Trellis to the tools your team already uses for properties, messages, tasks, finance, and operations
Integrations bring outside data into Trellis so your team can work from one
place. Some integrations can also push updates from Trellis back to the other
tool.
## What integrations help with
Bring listings, bookings, guests, owners, and stay details into Trellis.
Read and reply to supported guest, owner, and vendor conversations from Inbox.
Keep cleaning, maintenance, inspection, comments, photos, and assignments aligned.
Let the AI Agent read approved finance details, such as card spend or property reports.
## Before you connect
* Make sure you are an admin in Trellis.
* Make sure you have permission to connect the outside account.
* Keep passwords, secrets, and connection keys out of tickets, chat messages, and screenshots.
* Decide which tool wins when data disagrees. For example, use your PMS for
reservations and Trellis for tasks.
## Connect an integration
Go to **Settings > Integrations**.
Select the integration you want to connect.
Enter the account details or connection keys requested on the screen.
Use **Test connection** when available, then connect the integration.
Review Properties, Inbox, Tasks, Reviews, or Accounting depending on what the integration supports.
## How to check it worked
Use the same four-part check for every integration:
1. **What comes in:** confirm one expected property, reservation, message, task,
or finance record appears in Trellis.
2. **What can go back:** read the provider page before testing a reply or
change. Do not assume every field is two-way.
3. **How to refresh:** use the connection's documented automatic, scheduled, or
manual refresh method.
4. **Latest known change:** make one safe change in the source system, refresh
as documented, and confirm that exact change appears in Trellis.
Do not repeat an outbound action when the first result is unknown.
## Common problems
Check that the connection details were copied correctly, the outside account is active, and your account has permission to connect it.
Run a manual sync if the integration offers one. Also check whether the missing record is active in the connected tool.
Confirm that the original channel supports replies through the integration and that the connection is still active.
Check their role in **Settings > Permissions**. Integration setup is usually limited to admins.
## Available integration guides
## Related articles
* [Connected accounts](/platform/connected-accounts)
* [Settings & Admin](/platform/settings)
* [Quickstart](/quickstart)
* [Troubleshooting](/platform/troubleshooting)
# Ramp
Source: https://docs.trellistech.com/integrations/ramp
Connect Ramp so approved AI agents can answer spend questions and add property notes to transactions
Use the Ramp integration when your team wants Trellis to help connect card spend to properties, tasks, vendors, and operating work. Ramp is optional. Trellis works without it.
## What the AI Agent can do
Answer questions about card charges, merchants, cardholders, and spending over time.
Add property notes to transaction memos when you approve that use.
Help identify cards, cardholders, and unusual spend patterns.
The agent cannot move money, change limits, issue cards, freeze cards, or pay vendors.
## Before you connect
* Make sure you can manage the Ramp account.
* Create a Ramp developer app for Trellis.
* Enable the permissions shown on the Trellis connection screen.
* Keep the Ramp client ID and secret private.
## Connect Ramp
In Ramp, open developer settings and create an app for Trellis.
Turn on the read permissions Trellis asks for, plus the permission to write transaction memos.
In Trellis, open **AI Hub**, choose the agent, and open the **Integrations** tab.
Enter the Ramp client ID and secret, then click **Connect**.
## What the agent will not do
The Ramp integration is intentionally limited. The agent will not:
* Issue, freeze, or close cards.
* Change card limits.
* Move money or pay vendors.
* Change transaction amounts, dates, merchants, or categories.
Those actions must be done directly in Ramp.
## How to check it worked
* The Ramp card in AI Hub shows connected.
* The agent can answer a simple spend question.
* Ramp activity appears in Pulse when the agent uses Ramp.
* Property notes written by the agent appear on the matching Ramp transaction memo.
## Common problems
Check that the client ID and secret were copied correctly and that the Ramp app is active.
Open the Ramp app, enable the missing permission listed by Trellis, and try again.
Ask with more detail, such as date, merchant, amount, cardholder, or property.
Open the agent's **Integrations** tab in AI Hub, find Ramp, and click **Disconnect**.
## Related articles
# Welcome to Trellis
Source: https://docs.trellistech.com/introduction
Coordinate properties, conversations, tasks, teams, and repeat work
Trellis helps short-term rental teams coordinate daily property operations.
Your available areas and connections depend on your workspace setup.
## What your team can manage
Review supported guest, owner, vendor, and team conversations in Inbox.
Keep the property details and operating context your team needs.
Plan cleaning, maintenance, inspections, assignments, and proof of completion.
Add approved information, set access, review drafts, and define hand-offs.
Test repeat tasks, messages, approvals, and notifications before enabling them.
Review the operational and financial areas available to your workspace.
## Who uses Trellis
* Property managers coordinate properties, reservations, conversations, and
operational work.
* Front-office teams review Inbox conversations and guest needs.
* Operations managers plan tasks, schedules, vendors, and workflows.
* Field workers complete assigned work, checklists, photos, notes, and time.
* Owners and vendors use the access their workspace administrator provides.
## Connected systems
Trellis can connect with supported property systems, message channels, field
operations tools, and finance tools. Each integration page explains what can
come into Trellis, what can go back, and how to verify a current record.
Review Guesty, Krossbooking, Hostaway, Calry, and their supported records.
Coordinate supported Breezeway task and assignment information.
## Start with one proven path
Connect one property system, verify one property, test one inbound channel, keep
the AI Agent in review mode, invite the necessary team, and safely test one
workflow.
Complete the first setup and readiness checklist.
Find the canonical guide for common questions.
# Accounting
Source: https://docs.trellistech.com/platform/accounting
Review booking revenue, expenses, payments, ledgers, and owner statements
## What Accounting helps you do
Accounting gives your team one place to review money-related operations. It helps you connect bookings, payments, expenses, and owner reporting so finance work is easier to check.
Use Accounting to:
* Review booking revenue.
* Check ledger activity.
* Track expenses.
* Review payments.
* Prepare owner statements.
## Before you start
Accounting data depends on your connected systems and your workspace setup. Some views may be empty until booking, payment, expense, or owner-statement data is available.
## Main areas
A high-level view of accounting activity.
Review revenue tied to reservations and stays.
See money movement in a structured list.
Track costs connected to properties and operations.
Review payment records when they are available.
Prepare and review owner-facing statement information.
## Review accounting data
Click **Accounting** in the main navigation.
Use the sidebar to open Booking revenue, Ledger, Expenses, Payments, or Owner statements.
Make sure the view is showing the period you need.
Click a row to review the related booking, property, payment, or statement context.
## How to check it worked
The totals should match the source data you expect for the selected period. If something looks wrong, check the connected integration and the date range first.
## Common problems
Your workspace may not have accounting data for that view yet, or your date range may be too narrow.
Check whether the same date range, booking status, fees, taxes, and owner rules are being compared.
Accounting access depends on your workspace role and permissions.
## Related articles
* [Insights](/platform/insights)
* [Ramp](/integrations/ramp)
* [Hostaway](/integrations/hostaway)
# AI Agent
Source: https://docs.trellistech.com/platform/ai-agent
Use your AI teammate for guest replies, operating questions, meetings, and approved actions
## What this helps you do
The AI Agent helps your team answer questions, draft replies, find records, and complete approved work. It uses the instructions, documents, connected accounts, and permissions you set in AI Hub.
Draft replies using approved property, reservation, and policy details.
Look up reservations, properties, tasks, contacts, reviews, and other records your team can access.
Create tasks, add notes, update records, or start workflows when the agent has permission.
Join supported meetings, take notes, and create summaries when meeting tools are connected.
## Before you start
* Set up the agent in **AI Hub**.
* Add clear instructions for tone, rules, escalation, and what the agent should never do.
* Add the documents and skills the agent can use.
* Connect the channels you want the agent to work in, such as Inbox, email, Slack, WhatsApp, SMS, Telegram, or meetings.
* Review action permissions before letting the agent send messages or change records.
## Write clear agent instructions
Good instructions tell the agent how to behave, what to use, and when to ask for help.
Include:
* Your company voice and greeting style.
* The kinds of questions the agent may answer.
* The situations that need a manager, such as refunds, complaints, safety concerns, legal questions, and discounts.
* Rules for sending messages, creating tasks, and changing records.
* Words or promises the agent should avoid.
Keep instructions short and direct. If a rule matters, write it as a clear sentence, not a paragraph.
## Connect channels
The agent can work in connected channels when your team enables them:
* **Inbox** for guest, owner, vendor, and team conversations.
* **Email** for connected mailboxes.
* **Slack** for approved workspace channels.
* **WhatsApp, SMS, and Telegram** for supported messaging.
* **Meetings** for supported video calls and recaps.
* **Workflows** for repeat steps that include AI decisions or drafts.
## Control permissions
Permissions decide what the agent can read and what it can do.
Use stricter permissions when the action affects money, guest promises, property records, or outside systems. Use approvals when a human should review the action before it happens.
Common permission choices:
* Read property and reservation details.
* Draft replies without sending.
* Send replies after approval.
* Create tasks or comments.
* Start a workflow.
* Update approved records.
## Look up operating details
The agent can answer questions using records it is allowed to read.
Common lookups include:
* **Reservations** - dates, property, guest count, contact details, notes, and available stay details.
* **Properties** - check-in notes, amenities, access instructions, owner details, and custom fields.
* **Availability** - open dates and matching properties when connected reservation data is available.
* **Tasks** - status, assignee, due date, comments, checklist progress, and related property.
* **Reviews** - ratings, comments, response drafts, and related stays.
* **Contacts** - guest, owner, vendor, and prospect details.
Ask with the record you care about. For example: "Find Maria Lopez's June reservation and draft a reply about parking."
## Use documents, skills, and memory
AI Hub controls the agent's approved knowledge.
* **Documents** are policies, SOPs, property instructions, and reference material.
* **Skills** are step-by-step instructions the agent can follow.
* **Memory** helps the agent remember approved preferences and repeat procedures.
* **Permissions** decide which agents can use which documents and skills.
Trellis keeps conversation history separate from approved memory. The agent can
search earlier sessions when it needs the original context, while durable memory
stores only selected preferences, corrections, and procedures. Workspace-wide
memory is available across the agent's authorized work; property memory is added
only when the agent and teammate can access that property.
Workspace admins can review an agent's memories in AI Hub. From there, they can
search memory, add or correct an item, archive and restore it, or permanently
forget it for privacy. Archiving removes an item from future answers without
deleting its lifecycle history.
Use separate agents when different jobs need different rules. For example, one agent may handle guest replies while another supports owner updates or team operations.
## Read Slack files and shared context
When Slack is connected and permitted, the agent can use supported channel messages and files. It can summarize shared text files, describe supported images, and use that context while answering team questions.
Before relying on Slack context:
* Confirm the Slack account is connected.
* Confirm the agent is allowed to read the channel.
* Keep private or sensitive files out of channels the agent can access.
## Use the AI chat sidebar
The AI chat sidebar is the fastest place to ask the agent for help while you work.
Open the AI chat from the current page or record.
Type `@` to search for and attach files, properties, people, agents,
workflows, contacts, conversations, reservations, tasks, or task templates.
The tagged resources are included as context for the agent.
Say what you want, such as "Draft a reply," "Summarize this guest thread," or "Create a maintenance task from this message."
For multi-step work, the agent can show a checklist so you can see what it is doing.
Review drafts and any pending actions before they go out.
## Review linked records in chat
When the agent references a record, Trellis can show record pills, inline lists, and detail panels. Use these to check the source before you act.
You may see:
* A reservation, property, task, contact, review, or workflow link.
* An inline list, such as several matching tasks or reservations.
* A detail panel with the related record and a breadcrumb trail when you click deeper.
This is useful when you want to verify an AI answer without leaving your current work.
## Review agent activity
Use **Insights > Pulse** to review recent AI activity. Pulse helps managers see what the agent did, where it happened, and whether anything needs attention.
Activity details can show:
* The conversation, task, property, or reservation involved.
* The action the agent took.
* The result or error.
* Any approval that is still waiting for review.
## Meetings
When meetings are connected, the agent can join supported calls, take notes, and prepare summaries. Use this for owner calls, team handoffs, vendor discussions, and operating meetings where Trellis context is useful.
Before enabling meeting joins:
* Which calendar or meeting account is connected.
* Which meetings the agent may join.
* Who receives recap emails.
* Whether meeting notes should be shared with other agents in your workspace.
Meeting tools can help with:
* Joining supported Google Meet, Zoom, or Microsoft Teams links.
* Taking notes during a call.
* Preparing a recap with action items.
* Linking meeting notes to properties, reservations, or tasks.
* Letting your team ask follow-up questions about the meeting.
Use meeting join rules carefully. Many teams start with external customer or owner calls, then add team meetings only after reviewing how notes are shared.
## Set up each channel
Each channel needs its own setup and permissions.
Connect the mailbox, choose what the agent may read or send, and test with a safe draft before allowing sends.
Connect Slack, choose approved channels, and decide whether the agent may read files shared there.
Confirm the phone or messaging account is connected, then review message permissions before allowing guest-facing sends.
Connect the meeting account or calendar, set join rules, and decide who receives recaps.
## Use workflows and scheduled work
The agent can help with repeat work when a workflow includes AI steps or when your team asks it to start an approved workflow.
Good uses include:
* Drafting a guest reply that waits for manager approval.
* Creating a task from a conversation.
* Reviewing a booking question before check-in.
* Preparing a daily summary for managers.
* Notifying the team when a sensitive issue needs review.
Keep approvals on workflows that send messages, change records, or affect money.
## How to check it worked
* The agent uses the tone and rules from AI Hub.
* Drafts include the right guest, reservation, property, or task details.
* Any message or record change appears in the related conversation, task, workflow, or activity history.
* Pulse shows the completed action or the reason it needs attention.
* Pending approvals are visible to the right reviewers.
## Common problems
Add clearer instructions or approved documents in AI Hub. Also check that the agent can read the record it needs.
Check channel connection, contact details, and the agent's message permissions.
Answer the question in the same conversation. The agent should continue from there.
Check the connected calendar, meeting link, join rules, and whether the agent is allowed to attend that type of meeting.
## Related articles
Set up agents, instructions, documents, skills, and permissions.
Use AI drafts in guest and team conversations.
Add AI steps to repeat processes.
Review AI activity in Pulse.
# AI Hub
Source: https://docs.trellistech.com/platform/ai-hub
Set up agents, knowledge, skills, and connected accounts so Trellis can help your team work faster
## What AI Hub helps you do
AI Hub is where you manage the AI agents that help your team. Use it to choose an agent, add helpful knowledge, set what the agent can access, review past chats, and connect accounts the agent may need.
Use AI Hub when you want to:
* Teach an agent how your business works.
* Add property instructions, policies, or team knowledge.
* Control which inboxes, properties, and tools an agent can use.
* Review agent chats, plans, and work history.
* Connect website accounts the agent can use during approved browser tasks.
## Before you start
You need access to AI Hub in your workspace. Admins and managers usually set up agents first. Other teammates may only see the agents and knowledge they are allowed to use.
Have these items ready:
* Your brand voice and guest reply style.
* Check-in, checkout, parking, Wi-Fi, and house-rule notes.
* Clear escalation rules for complaints, refunds, safety issues, and owner questions.
* The inboxes or properties where the agent should help.
## Put information in the right place
Use the source that matches how the information should be reused:
| Information | Where it belongs | Example |
| ------------------------------------ | ------------------- | ------------------------------------------------- |
| Voice, limits, and escalation rules | Agent instructions | Ask a manager before promising a refund |
| Company-wide policies and procedures | Documents | Cancellation policy or owner communication policy |
| Details that change by property | The property record | Parking, Wi-Fi, amenities, and check-in notes |
| A repeatable set of steps | Skills | How to handle a maintenance request |
Keep one source of truth for each detail. If parking instructions change, update
the property instead of adding a conflicting exception to the agent
instructions.
## Set up an agent
Click **AI Hub** in the main navigation.
Open the agent you want to set up. If your workspace has more than one agent, pick the one that matches the job, such as guest support or owner operations.
Write short instructions that explain the agent's tone, what it should answer, and when it should ask a human for help.
Add documents, property notes, skills, and examples that help the agent answer correctly.
Choose which inboxes, properties, tools, and connected accounts the agent can use.
## Choose how Autopilot handles properties
When Autopilot is on, property access controls which conversations can receive
an automatic reply.
* If you do not select a property or property group, Autopilot can reply for
any property it can identify.
* If you select properties or property groups, Autopilot sends automatic
replies only for those selections.
* For conversations outside the selection, use **Create drafts for unselected
properties** to choose whether Trellis saves a draft for review or does
nothing. This setting appears after you select at least one property or
property group.
* Properties in **Never responds for** do not receive an automatic reply or a
draft.
If Trellis cannot identify the property for a conversation, it follows the
same draft setting as an unselected property.
## How to check it worked
Ask the agent a simple question that uses your real workspace context, such as:
* "What should we tell guests about parking at this property?"
* "Which tasks are open for tomorrow?"
* "Draft a reply for this conversation."
The answer should use your workspace details and follow your instructions. If it does not, update the agent's instructions or knowledge and try again.
Test one question from each source you added. For example, ask about a company
policy, a property detail, and a repeat procedure. Keep the agent in review mode
until each answer uses the right source and asks a person for help when needed.
## Common problems
Add clearer property instructions, guest policies, or examples. Short, specific notes work better than long vague instructions.
Check the agent's access settings. It may not be allowed to use that inbox, property, or tool.
Set the agent's default access to require approval for changes. Use stricter access for guest sends, provider actions, and anything that changes records.
Open the agent's connected accounts and verify the credential again. Some websites may ask for a two-factor code.
## Related articles
* [AI Agent](/platform/ai-agent)
* [Connected accounts](/platform/connected-accounts)
* [Inbox](/platform/inbox)
* [Workflows](/platform/workflows)
* [Launch and hand off your AI Agent](/guides/launch-and-handoff-ai-agent)
* [Fix wrong AI information](/guides/fix-wrong-ai-information)
# Artifacts
Source: https://docs.trellistech.com/platform/artifacts
Open files, images, dashboards, forms, and other work created during AI sessions
## What Artifacts helps you do
Artifacts are files and views created while the AI agent works. They can include images, videos, dashboards, forms, CSV files, markdown notes, and HTML previews.
Use Artifacts to:
* Review work the AI created.
* Open previews without leaving Trellis.
* Switch between grid and list views.
* Return to files from past AI sessions.
* Share or download items when available.
## Open an artifact
Open the Artifacts page from your workspace or from an AI session link.
Use grid view for visual files and list view when you want to scan names and details.
Click an artifact card to open the side preview.
Check that the file is complete and useful before sharing or using it.
## What you might see
Visual files created or collected during a task.
Data views the AI assembled for analysis.
Interactive or web-style artifacts that can be previewed in Trellis.
Markdown, CSV, and other file formats created during a session.
## Common problems
Wait for the AI session to finish. Some files take longer to prepare than a text reply.
Try opening the artifact again. If it still looks wrong, ask the AI to rebuild it or contact support.
Check the related AI session, or use the Artifacts page search and view controls.
## Related articles
* [AI Hub](/platform/ai-hub)
* [AI Agent](/platform/ai-agent)
* [Insights](/platform/insights)
# Workflow automations
Source: https://docs.trellistech.com/platform/automations
Use workflows to handle repeat work such as messages, tasks, approvals, and follow-ups
## What this helps you do
Workflow automations help your team stop repeating the same manual steps. Use them to prepare messages, create tasks, route approvals, notify teammates, and keep follow-up work moving.
Run a workflow when something happens, on a schedule, or when a teammate starts it by hand.
Use conditions so the workflow only runs when the situation matches your rules.
Create tasks, prepare messages, update records, notify your team, or ask AI for help.
Add approvals before sensitive messages or changes go out.
## Before you start
* Open **Workflows** from the main navigation.
* Decide the outcome you want before adding steps.
* Confirm the needed channels and integrations are connected.
* Use a template when one matches your use case.
* Add approvals for guest promises, money, policies, or anything that should not run without review.
## How workflows work
Most workflows have three parts:
* **Trigger** - what starts the workflow, such as a booking, checkout, task update, schedule, or manual start.
* **Condition** - the rule that decides whether the workflow should continue.
* **Action** - what Trellis does next, such as creating a task, drafting a message, notifying Slack, or asking the AI Agent to help.
## Create a workflow from a template
Go to **Workflows > Templates**.
Choose the template closest to your process.
Check the trigger, rules, message text, task details, and approval points.
Run a safe test example before turning it on.
Enable the workflow once the test result matches what you expect.
## Build your own workflow
Start small. A good first workflow has one trigger, one or two rules, and one clear action.
Examples:
* Create a cleaning task after checkout.
* Draft a late checkout offer when a guest asks.
* Notify a manager when a complaint comes in.
* Ask for approval before sending a refund-related message.
* Create an owner follow-up task after a maintenance issue closes.
## Test before you turn it on
Use safe test examples to make sure the workflow does what you expect. Check names, dates, message text, task details, approvals, and any connected records before enabling it.
Do not turn on a workflow that can message guests, change outside systems, or affect money until a manager has reviewed the test result.
## Review workflow runs
Open **Workflows > Runs** to see what happened. Each run shows the workflow, status, steps, timing, and any error that needs review.
Use run history to answer:
* Did the workflow start at the right time?
* Did it stop because a rule did not match?
* Did it wait for approval?
* Did a message, task, or record change happen?
* Did any step fail?
## How to check it worked
* The workflow is enabled.
* The run history shows a successful test or live run.
* Any created task, message, notification, or record update appears in the right place.
* Pending approvals appear for the right reviewers.
* Failed runs show a clear next step.
## Common problems
Check that the workflow is enabled, the trigger happened, and the trigger matches the right property, channel, or event.
Open the run and review the rules. A condition may not have matched.
Review the approval item, check the message and recipient, then approve or deny it.
Workflow management is usually limited to managers and admins. Check their role in **Settings > Permissions**.
## Related articles
Learn the main Workflows area.
Add AI steps with clear permissions.
Review message sending rules.
Create and assign work from workflows.
# Connected accounts
Source: https://docs.trellistech.com/platform/connected-accounts
Give an AI Agent an approved website login for supported browser work
Connected accounts let an AI Agent use a website login during supported browser
tasks. Add only accounts your team is authorized to use, and keep sensitive
actions behind review.
## Before you start
* Confirm the website and account are approved for the agent's job.
* Use a team-managed account when possible.
* Review the agent's instructions, property access, and tool permissions.
* Decide which actions always require a person.
* Never paste a password or two-factor code into a document, task, or chat.
## Add and verify an account
Go to **AI Hub**, choose the agent, and open **Integrations**.
Choose **Connect website** and enter the fields shown for that account.
Use **Verify** when available. Confirm the browser opens the intended site
and account.
If the site asks for a code or another check, follow the prompt yourself.
Do not share the code outside the sign-in screen.
Ask the agent to find one harmless detail. Watch the session when live view
is available and confirm it stays within the approved task.
## Use connected accounts safely
* Give the agent the narrowest task and access that works.
* Require approval before a purchase, message, booking change, or other
sensitive action.
* Check the website, account, and requested action before approving.
* Remove a connected account when the agent no longer needs it.
* Verify again after the website password or sign-in method changes.
## How to check it worked
* The intended account shows a successful verification.
* The read-only test opens the correct site and account.
* The agent returns the requested information without taking another action.
* A person is asked before any sensitive change.
## Common problems
Confirm the website, username, and current password. Complete any extra
sign-in step yourself, then try once more.
Use the sign-in prompt or live browser view to enter the code. Do not send
the code in chat or save it in a document.
Stop the task, remove or update the connected account, and verify the
approved account before continuing.
Update the agent's instructions and access so the action requires approval,
then repeat the read-only test.
## Related articles
* [AI Hub](/platform/ai-hub)
* [AI Agent](/platform/ai-agent)
* [Launch and hand off your AI Agent](/guides/launch-and-handoff-ai-agent)
* [Settings & Admin](/platform/settings)
# Contacts
Source: https://docs.trellistech.com/platform/contacts
Manage guests, owners, vendors, teammates, and prospects with searchable profiles
## What this helps you do
Contacts keeps people organized across Trellis. Use it to find guests, owners, vendors, teammates, and prospects, then jump to their messages, reservations, tasks, and related records.
## Before you start
* Connect your communication and property systems so Trellis can match people to conversations and reservations.
* Decide who on your team can create, edit, merge, or delete contacts.
* Use clear contact types so your team knows who each person is.
## Find a contact
Choose **Contacts** from the main navigation or open a contact from Inbox, Tasks, Properties, or a reservation.
Search by name, email, phone number, company, property, reservation, or tag.
Review contact methods, tags, linked records, and recent conversations.
## Keep profiles clean
Good contact records help your team avoid duplicate messages and wrong-person replies.
* Add a clear name when a contact comes in as unknown.
* Keep email addresses and phone numbers up to date.
* Merge duplicates when the same person has more than one profile.
* Use tags for groups your team needs to find later.
* Check linked conversations before deleting or merging a contact.
## Contact types
Common contact types include:
* **Guest** - someone staying at a property or asking about a stay.
* **Owner** - a property owner or owner representative.
* **Vendor** - a cleaner, repair vendor, supplier, or outside partner.
* **Team member** - someone in your company.
* **Prospect** - someone who may become a guest, owner, or partner.
## How to check it worked
* The contact appears in search.
* Messages and reservations link to the right person when Trellis can match them.
* The profile shows the correct type, contact methods, tags, and related records.
* Duplicate contacts are merged or marked clearly for cleanup.
## Common problems
Open the profile and add the name, type, email, or phone number your team knows. Trellis can match more records once the profile has good details.
Review both profiles first. Merge them only when you are sure they are the same person.
Check the email address or phone number on the contact, then update the contact or ask an admin to help merge records.
## Related articles
Read and reply to conversations tied to contacts.
Connect owners, groups, and property records.
# Guest portal
Source: https://docs.trellistech.com/platform/guest-portal
Build and publish a guest portal for registration, stay information, access instructions, services, and support
## What this helps you do
Use the guest portal builder to prepare one branded experience for the
properties you choose. Guests can complete registration, return to their
progress, read stay instructions, use services, ask the AI assistant for help,
and view access information when registration allows it.
## What Trellis supports today
Create a portal from scratch or duplicate an existing portal, then arrange the blocks guests
will use.
Collect answers and supported file uploads before the guest receives sensitive access details.
Create reusable Markdown agreements, collect a drawn guest signature, and download the signed
PDF from the portal or reservation.
Preview desktop and mobile layouts with sample guest data. Trellis uses the guest language and
completes missing translations when you publish.
Publish manuals, services, support, and access instructions while keeping address, Wi-Fi,
parking, and entry details protected until registration is complete.
## Build and publish a portal
Go to **Reservations > Guest Portal**. This page contains the reusable templates you can assign to reservations. Individual guest portals are not listed here; open the relevant reservation to find its portal.
Choose **New portal** for a blank portal. Name the portal, then choose the source language and country. Trellis creates its registration settings automatically. Use **Duplicate** on an existing portal when you want to reuse its setup.
Search for properties and select every property that should use the portal. A property can use one published guest portal at a time.
Add and reorder the registration, manual, services, AI, support, and access blocks. In Access,
create and reorder the manual check-in steps that guests should follow. Each step can include a
title, written instructions, visibility rules, and an image or video. Use the explicit previous
and next controls to move between block settings.
Open **AI Concierge**, then use the right sidebar to select the active AI Agent that should
answer guests. Turn on the concierge after selecting the agent. If that agent becomes
unavailable, choose another active agent before publishing the concierge again.
Use the right sidebar to add and order each registration step. Damage protection is one step where the guest chooses either a non-refundable damage waiver or a refundable security deposit. Check-in form, rental agreement, identity verification, damage protection, and tourist tax can be included as needed and marked required or optional. For a rental agreement, first create the document under **Reservations > Agreements**, then select it in the agreement step. Check-in form questions and file uploads remain configured inside the check-in form step.
Check both desktop and mobile previews. When you publish, Trellis fills missing translations and shows the portal as **Published**.
Open **Personalization** to apply the workspace logo, colors, typography, and shape to the
public access page. You can also set a dedicated display name, headline, and introduction, then
switch the live preview between the Guest Portal and its access page.
## What guests see
* Registration shows progress and a summary before submission.
* Check-in questions, agreement signing, verification, damage protection, and tourist tax appear as progress steps when configured. In damage protection, the guest chooses either the waiver or the deposit.
* A rental agreement shows the configured Markdown with reservation and property details filled in. After signing, the guest can download a PDF containing the agreement, stay details, signature, timestamp, and document hash.
* A guest can leave and return without losing uploaded files that are still valid.
* Manual, guide, and service areas become available after registration, while Access remains locked until its configured checks pass.
* Sensitive access information stays locked until required registration is complete.
* The Access block shows your ordered manual check-in steps before connected lock or device details.
* AI uses one chat for the reservation so the guest keeps the same conversation context.
* If a guest does not have their private link, the public Guest Portal access page can find one
active portal using the PMS confirmation code or OTA reservation number together with any part
of the guest name. Before opening the private portal, the guest confirms the complete surname or
full name from the booking. The page does not show reservation results or booking details.
## Handle guest questions
When a guest sends a message through the AI assistant, the conversation appears
in **Inbox** with the **Guest Portal** channel. Your AI Agent can answer in that
same conversation, and your team can review or reply from Inbox. Replies remain
visible in the portal, so the guest can continue the conversation without
switching to another messaging app.
The conversation stays connected to the reservation. This gives the AI Agent
the relevant stay context and lets your team review the full portal message
history from one Inbox thread.
## Review registration applications
Go to **Reservations > Registration** to review submitted registrations. The
left side groups applications into **To do**, **Approved**, and **Declined**.
Select an application to review the guest, property, stay, registered guests,
and identity-verification evidence.
For a manual identity check, review the submitted document and selfie, then
approve or decline the application. Checks completed through a connected
identity-verification service remain visible with the provider result and do
not require a second manual decision.
## Review an individual guest portal from a reservation
Open a reservation from **Reservations** or **Inbox** to review its Guest Portal
without leaving the reservation. The Guest Portal section appears only when
that reservation already has a portal.
Use the section to:
* Check whether the portal is active, when the guest last opened it, and which
registration step needs attention.
* Review registration answers and uploaded files, download the signed rental
agreement, and approve or reject a manual verification when required.
* Approve or decline service requests, mark paid services as fulfilled, and
review relevant payment or deposit status.
* Review recent portal activity, open the guest preview, or copy the current
link.
Link rotation immediately replaces the old link, and revocation disables guest
access. Use those actions only when the current link should stop working. To
create or configure reusable templates, go to **Reservations > Guest Portal**.
## Collect registration charges
Add a **Damage protection** step when the guest must choose between paying a
non-refundable damage waiver and saving a card for a refundable security
deposit. Configure both amounts and currencies on the same step. The guest can
complete only one option: choosing either one locks the other.
Add a **Tourist tax** step when the guest must pay that charge as part of
registration. Charges open Stripe Checkout and are tracked independently from
the check-in form and from service purchases.
Damage protection and tourist taxes are registration charges. Optional stay
extras such as late checkout belong in the Services catalog instead.
## Pay for guest services
In **Reservations > Services**, choose one flow for each service:
* **Requires approval** sends the guest's request to the reservation
conversation. Your team can approve or decline it from the Inbox timeline or
the reservation sidebar. If the service has a price, payment becomes
available in the portal only after approval.
* **Direct purchase** opens payment immediately, without an operator approval
step.
To show service names and descriptions in each guest's language, open a
service and choose its source language. Add translations one language at a
time, or select **Generate translations** to prepare all languages or only the
ones that are missing. Review the preview before saving. Trellis keeps existing
manual translations unless you explicitly confirm that they can be replaced.
The catalog shows which languages are complete, missing, or need review. If a
translation is unavailable, guests see the source-language content through a
consistent fallback, so the service remains readable.
Trellis shows the surrounding service catalog, request status, checkout, and
confirmation controls in the selected app or portal language. Dates and prices
use that language's display conventions. Arabic and Hebrew layouts run from
right to left, including the guest checkout.
This lets you require an availability check for services such as early check-in
or late checkout, while offering other extras for immediate purchase. Approval,
payment, and fulfillment remain separate steps in the service history.
When the guest's device and browser support it, Stripe shows a fast Apple Pay
or Google Pay button automatically. Card payment remains available, with secure
Stripe Checkout as a fallback.
The express wallet option appears in the **Total** summary above the regular
checkout button. Stripe decides which wallet options the guest's device can
show.
Each payment covers one service type, with its selected quantity. A guest can
return to the portal and buy another service in a separate payment. After a
successful payment, Trellis records the purchase on the reservation timeline
and Stripe sends the payment receipt to the email address collected at checkout.
To review service performance, go to **Insights > Results** and select
**Upsells**. Use the date and property filters to compare sales, revenue,
conversion, fulfillment, and the products guests purchase most often. Select
an activity row to review its details and open the linked Inbox conversation.
## How to check it worked
* The editor header shows **Published**, and reloading the page keeps the saved configuration.
* Assigned properties appear in the portal and no longer appear as available for another published portal.
* Desktop and mobile previews show sample reservation and guest details instead of blank blocks.
* A test guest can complete registration and then open the protected Access area.
* Damage protection appears as one registration step, accepts exactly one waiver or deposit choice, and returns to the portal as complete after the selected Stripe flow succeeds.
* A signed rental agreement can be downloaded both by the guest and from the reservation's Guest Portal card.
* A message sent from the AI assistant appears in Inbox as a Guest Portal conversation, and the reply appears back in the portal.
* An approval-required service appears in the conversation timeline and reservation sidebar, where it can be approved or declined.
* A test service purchase returns to the Guest Portal and appears on the reservation timeline.
## Common problems
Check the error shown in the editor. Fix the highlighted field or property assignment, then save
again. Reload the page to confirm the latest draft is present.
Clear the search first. If the property still does not appear, it may already belong to another
published guest portal.
Confirm the file is JPEG, PNG, WebP, or PDF and is within the limits configured for that field.
Ask the guest to retry before the portal link expires.
Check the registration summary for an unanswered required field. Access opens only after the
required registration is submitted.
## Related articles
Keep property and guest-facing stay details current.
Review the reservation conversation.
Manage repeat guest and operational steps.
# Inbox
Source: https://docs.trellistech.com/platform/inbox
Manage guest, owner, vendor, and team conversations in one place
## What this helps you do
Inbox is where your team reads, answers, assigns, and follows up on conversations. Use it to keep guest messages, owner updates, vendor questions, and team notes from getting lost across different tools.
Review messages from connected channels in one shared inbox.
Use AI drafts, quick replies, translations, and reservation details while you write.
Assign conversations, add tags, and use follow-up dates so the right person owns the next step.
Review complaints, refunds, safety concerns, and other escalations before anyone replies.
## Before you start
* Connect the channels your team uses, such as email, SMS, WhatsApp, Slack, phone, or messages from your property management system.
* Make sure each teammate has the right role in **Settings > Permissions**.
* Set up AI Hub before using AI reply drafts or automatic guest handling.
* Decide how your team should use tags, assignments, and follow-up dates.
## Open and sort the inbox
Choose **Inbox** from the main navigation.
Start with the conversations that need attention. Use assigned, unread, escalated, or follow-up
views when you need a smaller list.
Filter by channel, tag, assignee, property, guest, or reservation when you are looking for
something specific.
Search by guest name, phone number, email, reservation, or message text.
## Find today’s arrivals and departures
Open **Filter > Arrivals and departures** and select **Check-in today**, **Check-out today**, or both. Selecting both shows guests arriving or departing today; other selected filters still apply. These options use linked reservation dates and exclude cancelled bookings, inquiries, pending payments, and no-shows. Today follows the property’s timezone, or the workspace’s timezone when the property has none. Saved views keep these filters relative to today.
## Read and answer a conversation
1. Open a conversation from the list.
2. Check the side panel for guest, reservation, property, and past message details.
3. Choose the right channel if more than one is available.
4. Write your reply, or start from an AI draft or quick reply.
5. Add attachments if the channel supports them.
6. Send the message.
Review AI drafts before sending. Be extra careful with refunds, legal issues, safety concerns,
complaints, and anything that promises money or a policy exception.
## Use AI help safely
AI can draft replies, summarize long threads, translate messages, and surface details from connected records. Your team stays in control.
Use AI when:
* The guest asks a common question.
* You need a short summary of a long thread.
* You want a draft in a clear, friendly tone.
* You need help reading or replying in another language.
Use a human review when:
* The message is angry, urgent, or sensitive.
* The guest asks for a refund, discount, legal answer, or safety help.
* The AI says it is unsure.
* The answer depends on a manager decision.
On mobile, open a conversation and use its actions menu to switch
**Automatic AI replies** for that guest without leaving the conversation.
## Assign, tag, and follow up
* **Assign** a conversation when one person should own the next reply.
* **Tags** help your team group messages, such as billing, maintenance, VIP, owner, or complaint.
* **Follow-up dates** keep messages visible when you need to come back later.
* **Bulk actions** help clean up a large list after a busy day.
## Choose what Mark done does to escalations
Workspace admins can open **Settings > Team & Permissions > Inbox access** and
set **Automatically close escalations when marking a conversation done**.
* When the setting is on, **Mark done** also dismisses open escalations on the conversation.
* When the setting is off, **Mark done** closes only the conversation. Action-required and knowledge-gap escalations stay open until your team handles them separately.
Keep the setting off when your team wants to reply to the guest, close the
conversation, and teach the AI from the escalation as a separate step.
## Review contact type changes
The conversation timeline shows when a contact changes type, such as from guest
to owner. Each event includes the previous type, the new type, and when the
change happened.
When related conversations are combined, Trellis removes repeated contact type
events so the timeline stays easy to review.
## Voice calls
If phone is connected, your team can place and receive calls from Inbox. Call history stays with the conversation so the next person can see what happened.
When a call or voice message includes a recording, use the timeline to play it,
move through the audio, and open its transcript when one is available.
Before calling, check that the contact has a valid phone number and that your team has a connected phone number in Settings.
## How to check it worked
* The sent message appears in the conversation.
* The conversation shows the right assignee, tag, or follow-up date.
* The side panel shows the related guest, reservation, or property when Trellis can match it.
* Escalated conversations stay visible until a team member handles them. Afterward, the outcome remains in the conversation timeline, including the time and reviewer when available.
## Common problems
Clear filters first, then search by guest name, email, phone number, reservation, or property. Also check archived or resolved views if your team uses them.
Check their role in **Settings > Permissions**. They may need a role that allows conversation access.
Make sure AI Hub is set up, the conversation is on a supported channel, and the agent has permission to use the right information.
Check that the channel is connected, the contact details are valid, and the attachment size is allowed for that channel.
## Related articles
Set up the AI that helps with guest conversations.
Manage guests, owners, vendors, and prospects.
Learn where Trellis can send messages from.
Connect the accounts your AI and inbox can use.
# Insights
Source: https://docs.trellistech.com/platform/insights
Use analytics, Pulse, and workflow-backed reports to understand activity and results
## What Insights helps you do
Insights is your workspace dashboard. It helps managers see what is happening across the business without opening every property, task, or conversation one by one.
Use Insights to:
* Review recent activity in Pulse.
* See how agents are helping your team.
* Track message volume and response work.
* Check task and workforce trends.
* Review property and reservation results.
* Open saved reports and recent report runs.
## Before you start
Your view depends on your role and permissions. Some users only see Pulse. Admins and managers may see the full dashboard when they have access to the related records.
## Main areas
A quick summary of the areas your role can see.
A live activity feed for agent work, messages, tasks, and other key events.
See agent activity and where the AI is helping your team.
Review conversation activity and message trends.
Track task and team activity when your role can view workforce data.
Review property and reservation performance when your role can view those records.
Run saved reports and open recent results without leaving Insights.
## Use Reports
Reports are generated by workflows, so a saved report can run on demand or on a
daily, weekly, or monthly schedule. Each run keeps its own status and result.
Describe what the report should cover. Say whether you need it once or want to save and schedule
it.
In Insights, select **Reports** to see saved reports and recent runs.
Click **Run now** when you need a fresh result outside its normal schedule.
Select a recent run to read the full report in Insights.
A report can be pending, running, ready, failed, or cancelled. Trellis notifies
the report recipient when an in-app delivery is ready.
## Filter Insights by property
Use the property filter at the top of Insights to focus the dashboard on one or
more properties. You can also select a property group to include all properties
in that group. The selection applies across Overview, Agents, Messaging,
Workforce, Results, Reviews, and Upsells, including the details you open from
those areas.
Clear the selection to return to workspace-wide results.
## Use Pulse each day
Click **Dashboard** or **Insights** in the main navigation.
Select **Pulse** in the Insights sidebar.
Look for items that need review, such as drafted replies, task changes, escalations, or
important property updates.
Click an item to see more context in the side panel.
## Understand AI Automation Rate
In **Messaging**, AI Automation Rate shows the share of completed AI decisions
that the AI handled without a person taking over. It includes replies the AI
sent and conversations where it correctly decided that no reply was needed.
Escalations remain in the total because they required human ownership.
Drafts, pending decisions, failed attempts, rejected suggestions, and
conversations answered by a person before the AI finished are not counted. This
keeps the rate focused on completed decisions instead of unfinished work.
Use the count beside the rate to understand the sample size, and compare the
same date range and property filters when reviewing changes over time.
## How to check it worked
You should be able to answer:
* What happened recently?
* What needs a human decision?
* Which area needs attention today?
* Which teammate or agent is involved?
## Common problems
Your role may not have full Insights access. Ask an admin to review your permissions.
Check the date range, property filters, and whether your workspace has data for that area.
You may not have permission to view the related record, such as a conversation, task, property,
or reservation.
Leave Reports open while Trellis refreshes the status. If the run fails, ask the agent to check
the report instructions or data access.
## Related articles
* [AI Hub](/platform/ai-hub)
* [Inbox](/platform/inbox)
* [Tasks](/platform/tasks)
* [Workforce](/platform/workforce)
* [Reviews](/platform/reviews)
# Outbound messages
Source: https://docs.trellistech.com/platform/outbound
Send guest, owner, vendor, and team messages from supported Trellis channels
## What this helps you do
Outbound messages are messages Trellis sends or prepares outside the main reply box. Use them for guest updates, owner notes, vendor coordination, reminders, and workflow steps that need a message.
## Before you start
* Connect the channel you want to use, such as email, SMS, WhatsApp, Slack, or messages from your property management system.
* Check that the contact has a valid email address, phone number, or channel profile.
* Confirm your team is allowed to send from that channel.
* Review any AI-drafted message before it goes out.
## Where outbound messages come from
Send direct replies and follow-up messages from a conversation.
Prepare or send repeat messages after events such as bookings, check-ins, checkouts, or task updates.
Let approved agents draft or send messages based on their permissions.
Notify teammates, vendors, or managers about work that needs attention.
## Choose the sender for owner approval email
In **Settings > Message templates**, open **Owner Approval > Email** and choose the **Default email sender**. Trellis prefills that address when someone shares an owner approval request by email.
Before sending from a task, review the **From** field. You can choose a different connected email address for that request without changing the saved default. This setting applies only to owner approval emails and does not replace the workspace-wide default email sender.
## Send a message safely
Pick the channel that matches where the guest, owner, vendor, or teammate expects to hear from you.
Confirm the name, email address, phone number, or channel profile.
Check names, dates, prices, property details, and any promises before sending.
Send the message if it is ready, or route it for approval if your workflow requires a manager review.
## Attachments
Some channels support attachments. Keep files small, useful, and appropriate for the recipient. If a file will not send, try a smaller file or use a channel that supports that file type.
## How to check it worked
* The message appears in the related conversation, task, workflow run, or activity history.
* The recipient and channel are correct.
* If approval was required, the message shows who approved or denied it.
* If a send failed, Trellis shows the failure so your team can fix the contact or channel.
## Common problems
Check the channel connection, recipient details, and attachment size. If it came from a workflow, open the run to see which step needs attention.
Check their role and channel permissions in **Settings > Permissions**.
Review the pending approval in the workflow or activity area. Approve it only after checking the recipient and message content.
## Related articles
Reply to active conversations.
Build repeat message steps with approvals.
Manage AI message permissions.
# Properties
Source: https://docs.trellistech.com/platform/properties
Keep property details, owners, reservations, access notes, and operating instructions organized
## What this helps you do
Properties is the home base for each listing your team manages. Use it to keep the information your team needs for guest support, owner updates, maintenance, cleaning, and reporting.
Keep addresses, photos, notes, amenities, instructions, and custom fields in one place.
Give Inbox, Tasks, AI Hub, and Workflows the property context they need.
Track owners, contacts, groups, and portfolio details when your team uses them.
Review data from connected property systems and correct mismatches when needed.
## Before you start
* Connect your property management system if you want listings and reservations to sync.
* Decide which details your team should manage in Trellis and which should stay in the connected system.
* Add the teammates who need property access.
## Find a property
Choose **Properties** from the main navigation.
Search by property name, address, owner, group, or status.
Review the overview first, then use the property tabs for reservations, tasks, owner details,
access notes, or other records your team uses.
## Update property details
Use property details for information your team needs often:
* Check-in and checkout notes
* Parking, Wi-Fi, trash, and house rules
* Access instructions and lock notes
* Amenities and room details
* Owner or group context
* Custom fields your team uses for special processes
Keep guest-facing instructions short and specific. If a note is only for your team, label it
clearly so it is not copied into a guest reply by mistake.
## Create a fixed QR code for guest guidance
Property-manager workspace admins can create a permanent QR code for each property. Use it on printed signs when guests need instructions that may change over time, such as how to collect a building fob before using an elevator.
Open a property, then select **Mobile manual**.
Enter the instructions guests should see. You can also add a public instructional video link.
Select **Save changes**, then download the QR code or copy its guest link for your sign.
Open the copied link and confirm the property, guidance, video, and support contact appear as
expected before printing.
A fixed QR link can be opened by anyone who scans it. Add only guest-safe guidance. Do not include
door codes, lockbox codes, Wi-Fi details, passwords, reservation information, or team-only notes.
Keep credentials and door controls in reservation-specific guest links.
The QR destination stays the same when you edit the public guidance or rename the property, so you do not need to reprint the code after those updates.
Until you save public guidance, the link shows a "not found" page instead of the property name and address, so add the guidance before you print the sign.
## Create property details from a video tour
Attach a house-tour video in an agent chat and ask the agent to create a property
from it. You can also ask it to update a property you already have. Tell the agent
which property to use and which details you want saved.
The agent can inspect selected frames and transcribe narration to identify rooms,
write a listing title and description, record individual amenities, and save
selected frames as photos. A photo selected for the property gallery can also be
associated with its room; it appears in both places. Other room attachments are
not automatically added to the gallery.
Review the saved title, description, rooms, amenities, and gallery before using
the listing. Sampled frames may miss spaces or equipment. Supply details the tour
does not establish, such as the address, floor area, price, or guest capacity.
Saving these details in Trellis does not publish a listing to a connected PMS;
publishing remains a separate action.
## Rooms and elements
Rooms and elements describe what is physically at each property. Keeping them accurate powers two things:
1. **Task templates adapt to each property** - checklists automatically add the right room steps and skip steps for amenities the property does not have (see [How templates adapt to each property](/platform/tasks#how-templates-adapt-to-each-property)).
2. **The AI agent answers guest questions accurately** - it draws on the property's rooms and elements to describe amenities and instructions.
You manage both from the property: open a property and select the **Details** section, which has a **Rooms** tab and an **Elements** tab.
### Rooms
A room is a single physical space, such as one bedroom, one bathroom, the kitchen, or the living room. You add **one room record per space**, so a 3-bedroom home has three separate bedroom records. Each room has a type and an optional name (for example, "Master Bedroom").
Room records let one template step become one step per room. For example, a
"Clean Bedroom" step becomes one step per bedroom the property has. See [Repeat
a step for each room](/platform/tasks#repeat-a-step-for-each-room).
Open the property, select the **Details** section, then the **Rooms** tab.
Click **Add Room**. Then choose one of two ways:
* **Quick Add** - Tap a room type. Trellis names repeats for you (Bedroom,
then Bedroom 2).
* **Custom** - Set the room name and type yourself.
Click a room to rename it, add photos, or assign elements to it. You can also remove a room you no longer need.
If a property was imported from a connected system, rooms may already be filled in. If a property
has no detailed rooms, templates use the property's room counts when repeating a step per room.
### Elements
An element is a specific amenity or feature at the property, such as a pool, hot tub, grill, washer, dryer, smart lock, or heating. Elements are grouped into categories (appliance, system, area, amenity, utility, outdoor, and other), and you can assign an element to a specific room.
Open the property, select the **Details** section, then the **Elements** tab.
Click **Add Element**. Use **Quick Add** to pick from the preset list (pool, grill, hot tub,
washer, dryer, smart lock, and many more), or use **Custom** to create your own with a name and
type.
Click an element to open it, then use the **Active** switch to mark whether the property has it.
#### Turn amenities on and off with Active
The **Active** switch on each element marks whether the property currently has that amenity:
* **Active** - the element is present. Template steps linked to it appear on new tasks, and the AI can use it.
* **Inactive** - the element is dimmed and labeled "Inactive." Template steps linked to it are skipped on new tasks.
Turning an element off does not delete it. The element stays on the property for reference, and
you can turn it back on if the property gets that amenity later. To remove an element permanently,
use **Delete** instead, which also removes its supplies, photos, and documents.
Each element also has a **Show in house manual** toggle. For the AI agent to share an element with
guests, the element must be both **Active** and **Show in house manual**. Use this to keep
team-only items (like a utility shutoff) out of guest-facing answers.
### Per-property template settings
Each property has a **Templates** section where you can override a shared template's defaults (duration, number of people, supplies, and costs) for just that property, without creating a separate template.
Open the property, select the **Templates** section, and click a template to set its per-property values. See [Per-property template settings](/platform/tasks#per-property-template-settings) in the Tasks documentation for the full walkthrough.
### Inventory for one property
Open a property and select **Inventory** in the sidebar to review and update stock for that home. The section uses the warehouse linked to the property and shows the same counts as the portfolio-wide [Supplies inventory](/platform/supplies#track-inventory-by-property).
Select any quantity in a House or Owner Closet column to edit it. The property page uses the same inventory editor and stock records as Supplies, so changes made in either view stay in sync.
## Use custom fields
Custom fields help track details that do not fit a standard property field. Use plain field names your team understands, such as **Pool code**, **HOA rules**, **Owner approval needed**, or **Pet policy notes**.
Avoid adding fields for information no one uses. Too many fields make the page harder to trust.
## Keep connected systems aligned
When a property is connected to another system, some details may come from that system. If a value looks wrong, check which system owns that field before changing it. This prevents your team from fixing a field in one place and seeing it change back later.
## How to check it worked
* The property appears in search and filters.
* Key details are visible to the team members who need them.
* Rooms and elements reflect the actual physical property. Templates generate the correct checklist items for this property.
* Inbox, Tasks, AI Hub, and Workflows show the latest property context where they use it.
* Connected records, such as reservations or tasks, point to the right property.
## Common problems
Check filters first. If the property should come from a connected system, confirm the integration is connected and that the listing is active there.
The connected system may own that field. Update it in the source system or ask your admin which system should control it.
Check their role and property access in **Settings > Permissions**.
Open the property, select the **Details** section, and check the **Rooms** and **Elements** tabs. The missing step likely needs a room type the property does not have, or an element that is missing or inactive. Add the room, or open the element and turn its **Active** switch on.
An element may be active when the property does not have it. Open the **Details** section, go to the **Elements** tab, click the element, and turn its **Active** switch off. Future tasks will skip steps linked to it.
## Related articles
Create and track work tied to a property.
Share stay information and portal links.
Connect property systems and finance tools.
Let AI use approved property context.
# Reviews
Source: https://docs.trellistech.com/platform/reviews
Monitor guest reviews, find responses that need work, and review AI-assisted reply drafts
## What Reviews helps you do
Reviews helps your team track guest feedback in one place. Use it to see recent reviews, understand rating trends, and focus on reviews that still need a response.
Use Reviews to:
* View guest reviews by date, channel, property, and rating.
* See which reviews need a response.
* Review rating and response trends.
* Open review details with related property and reservation context.
* Use AI-assisted drafting when your workspace has it enabled.
## Main areas
Review totals, average rating, response rate, and trends.
Search and filter individual reviews.
Focus on reviews where your team still needs to reply.
Open a review to see guest, property, rating, source, and related task context.
## Review guest feedback
Open **Reviews** from your workspace.
Look at rating, response rate, and reviews that need action.
Filter by source, property, rating, sentiment, or response status.
Review the details and decide whether to respond, create a task, or follow up with the team.
## How to check it worked
You should know which reviews need replies, which properties are getting feedback, and whether your response rate is improving.
## Common problems
Check whether the connected channel or PMS has synced the review into Trellis.
Confirm the review source supports replies from your workspace and that the draft has been reviewed.
Check the reservation or channel connection for that review.
## Related articles
* [Insights](/platform/insights)
* [Inbox](/platform/inbox)
* [AI Hub](/platform/ai-hub)
# Settings & Admin
Source: https://docs.trellistech.com/platform/settings
Manage workspace setup, people, permissions, notifications, phone numbers, integrations, billing, and developer access
## What Settings helps you do
Settings is where admins manage the workspace. Some teammates can see only their own notification settings. Admins can see more areas, such as people, integrations, billing, and developer access.
Use Settings to:
* Update workspace details.
* Manage team access and permissions.
* Set notification preferences.
* Configure phone numbers and call flows.
* Manage tags and customization.
* Connect integrations.
* Review billing.
* Create developer access when needed.
## Main areas
General workspace settings and billing.
Team members, roles, permissions, and workforce location settings.
Notifications and phone numbers.
Tags and other workspace labels.
Integrations and developer access.
## Update team access
Click **Settings** in the main navigation.
Go to the team and permissions area.
Review what they can view, create, update, approve, or manage.
Save your changes. If the teammate is already signed in, ask them to refresh the page.
## Build a multi-level call flow
Use connected voice menus when one keypad choice needs to open another set of options. For example, a main menu can send emergency callers to a second menu for the correct building or team.
In **Settings**, open **Phone numbers**, choose a number, and open its call flow.
Select the current voice menu, then use the **+** button next to **Voice menus**. Trellis
connects the new menu to the next available keypad choice.
Name the menu, write its prompt, and choose where each keypad option sends the caller. Choose
**Open menu** to connect an option to another voice menu. If callers can select a language, add
the prompt for each language you offer.
Confirm the menu paths on the canvas, then publish the call flow. Trellis blocks missing menus
and menu loops before publishing.
## Choose browser notifications
In **Settings**, open **Notifications**.
Turn on **Browser notifications** and allow notifications when your browser asks.
Use the **Browser** switches to choose which notification types this browser receives. The
**Mobile app** switches control the Trellis mobile app separately.
Confirm the page shows **This browser is subscribed**.
## Connect an integration
In Settings, open **Integrations**.
Pick the PMS, messaging, finance, or operations tool you want to connect.
Use the provider account and credentials required by that integration.
Confirm the connection is active and review what data is syncing.
## Count infants as guests
In **Settings → General**, under **Utilities**, turn **Count infants as guests**
on or off.
Leave it on to include infants in the guest total. Turn it off when your team
plans linens, preparation, or per-person fees using adults and children only.
The full guest breakdown remains available either way.
## Resolve a past-due payment
When a workspace payment becomes past due, Trellis shows a billing banner with
the payment deadline. The workspace remains available during the seven-day
grace period so your team can keep working while an admin updates billing.
Select **Manage Billing** from the banner to fix the payment method or complete
the outstanding payment. If the payment is still unresolved when the deadline
passes, Trellis pauses most workspace access while keeping the billing recovery
path available. Normal access returns after the subscription becomes active
again. After a canceled subscription is successfully restarted, Trellis refreshes
the workspace automatically, so operational pages become available without a
manual browser reload.
## Common problems
Your role may not have Settings access. Ask an admin to review your permissions.
Confirm both the role permission and any section-specific access, such as inbox access.
Open the integration detail page and check connection status, credentials, and provider
permissions.
## Related articles
* [Integrations overview](/integrations/overview)
* [Inbox](/platform/inbox)
* [Workforce](/platform/workforce)
* [API authentication](/api-reference/authentication)
# Supplies
Source: https://docs.trellistech.com/platform/supplies
Track supply items, inventory, warehouses, orders, deliveries, and task usage
## What Supplies helps you do
Supplies helps your team know what is stocked, where it is stored, and what needs to be ordered. It connects field work with inventory so teams can see what was used during a task and what needs replacement.
Use Supplies to:
* Create supply items.
* Track stock by warehouse.
* Review inventory levels.
* Create and approve supply orders.
* Record deliveries.
* Connect supplies to tasks.
## Main areas
The list of supplies your team tracks, such as towels, batteries, filters, or cleaning products.
Stock levels for each item and warehouse.
Storage locations such as offices, closets, vehicles, or supply rooms.
Requests and purchase tracking for needed supplies.
Records of supplies that arrived or moved into stock.
## Create a supply item
Open **Supplies** from the workspace area where your team manages inventory.
Open the **Items** view.
Enter a clear name, category, and any ordering details your team needs.
Add inventory for the warehouses where the item is stored.
## Use supplies on tasks
When a task needs supplies, add the expected items to the task. When the work is done, confirm what was actually used so inventory stays accurate.
## Track inventory by property
Use the **All properties** filter in **Inventory** to focus the stock table on one home. Trellis loads stock only for warehouses linked to that property, so you can review and update the home's counts without searching across every storage location.
You can also open a property and select **Inventory** in its sidebar. This is the same inventory record shown in Supplies, filtered to that home. Changes made in either view stay in sync.
## Common problems
Check whether recent deliveries, task usage, or warehouse transfers have been recorded.
Confirm the item exists in Supplies and has been added to the task or template.
Open the order details to see whether it still needs approval, ordering, delivery, or cancellation.
## Related articles
* [Tasks](/platform/tasks)
* [Workforce](/platform/workforce)
* [Properties](/platform/properties)
* [Accounting](/platform/accounting)
# Tasks
Source: https://docs.trellistech.com/platform/tasks
Create, assign, schedule, and track work for cleaning, maintenance, inspections, and guest requests
## What this helps you do
Tasks keep operational work moving from request to completion. Use them for cleaning, maintenance, inspections, supply work, owner requests, guest issues, and anything your team needs to track.
Add the property, due date, priority, instructions, checklist, and photos your team needs.
Assign work to teammates, vendors, departments, or a scheduled visit.
Use list, calendar, mobile visit, and status views to see what is done and what is blocked.
Track time, supplies, no-charge work, and task history for clean records.
## Before you start
* Add your properties and team members.
* Set up departments or vendors if your team routes work by group. Common departments include Cleaning, Maintenance, Inspection, and Front Office.
* Create task templates for repeat work, such as turnovers, inspections, and repairs.
* Connect inventory if you want tasks to update supply usage.
Add a short description to each department so Trellis and your team know what belongs there. For example, "Pool Care" can cover pool cleaning, chemicals, and pool equipment repairs.
## Create a task
Choose **Tasks** from the main navigation.
Add the title, property, due date, priority, and details.
Pick a teammate, vendor, department, or leave it unassigned until you know who should take it.
Add checklist items, photos, supply needs, notes, or a task template.
The task appears in the list and on the calendar when it has a scheduled date.
## Task stages
Most tasks move through the same simple path:
The task exists, but it may not be assigned or scheduled yet.
The task has a date and an assignee, so it can appear on the calendar.
The assignee has started the work, updated checklist items, added notes, or uploaded photos.
The work is done. If your workspace requires approval, a manager reviews it before it is final.
## Task templates
A task template is a saved blueprint for work you repeat across properties. Common examples include a turnover clean, a pre-arrival check, or a seasonal filter change.
When you create a task from a template, Trellis fills in:
* Title and description
* Department and priority
* Estimated time and number of people
* Checklist
* Default supplies and costs
That way, a new task takes a few clicks instead of a few minutes.
You can start any task from a template. This works everywhere tasks are created: by hand, on the mobile app, in automations, and in workflows.
**How the pieces fit together.** It helps to picture the model before you build one:
1. A **template** holds the task defaults and a **checklist**.
2. A checklist is split into **sections**. A section is either a **room-type section** (Bedroom, Bathroom, Kitchen) or a **custom section** (Amenities, Exterior, Final Walkthrough).
3. Each section holds **checklist items**, the steps a worker does. You can link an item to a property **element** (pool, grill, hot tub) so it only shows where that element exists.
4. Each **property** has its own **rooms** and **elements**. When you create a task, Trellis reads them and adjusts the template's checklist to match. See [How templates adapt to each property](#how-templates-adapt-to-each-property).
5. You can also set **per-property overrides** for a template's time, people, supplies, and costs.
The result: one template can cover every property. Each property gets the right rooms, steps, and defaults on its own.
Common templates teams set up:
| Template | Department | Typical use |
| -------------------- | ----------- | ----------------------------------------------- |
| Standard Turnover | Cleaning | Guest checkout cleaning with standard checklist |
| Deep Clean | Cleaning | Quarterly or seasonal deep cleaning |
| Pre-Arrival Check | Inspection | Quick walkthrough before guest arrives |
| HVAC Filter Change | Maintenance | Scheduled seasonal maintenance |
| Post-Stay Inspection | Inspection | Detailed review after guest checkout |
### Where to find templates
In the left navigation, open **Tasks**, then choose **Templates** under the **Operations** group. This opens the Task Templates screen, where you can search templates, filter by department, and create, edit, duplicate, or delete them.
You can also reach this screen from **Settings**. The Settings shortcut redirects to **Tasks > Templates**, so both paths land in the same place.
### Create a template
Go to **Tasks > Templates** and click **New Template**.
Add a **Template Name** (required) and an optional **Description** that tells the team when to use it.
Choose the **Department** that owns this work (Cleaning, Maintenance, Inspection, and so on) and a default **Priority** (Low, Normal, High, or Urgent).
Enter how long the task usually takes. Keep it **Fixed for all properties** to use the same time everywhere, or switch to **Varies per property** so each property can set its own time (see [Per-property template settings](#per-property-template-settings)).
Choose how many people should be assigned (1 to 5). This also has a **Fixed for all properties** / **Varies per property** toggle.
Add sections and checklist items. Each item can have a title, description, step type, reference photo, and photo requirements. See [Checklists](#checklists) for the full breakdown.
Optionally pre-fill the supplies (with quantities and a warehouse) and cost lines (amount, currency, and who to bill) that should appear on every task from this template.
The template is now available when creating tasks, on mobile, in automations and workflows, and in each property's Templates panel.
**Let the AI build it for you.** Instead of building a template by hand, describe what you need to the AI agent, such as "create a bathroom deep clean checklist with photo requirements." The agent knows your departments, room types, and property elements, and builds the template with sections, steps, element links, and photo settings. Review and adjust it before using it widely.
**Work in more than one language?** Open a template and use **Translate template** to have the AI translate the name, description, and checklist items into another language, so field teams see the steps in the language they prefer.
### Apply, switch, or clear a template on an existing task
You do not have to choose a template when the task is created. Open any task, find the **Template** picker in the Details panel, and apply, switch, or clear it at any time.
Switching or clearing a task's template **rebuilds the checklist from scratch**. Every existing checklist item is removed first, including completed checkmarks, item notes, uploaded photos, and AI photo-check results. Only do this when you want a fresh checklist. The task's comments and activity history are not affected.
* **Apply a template** to a task that had none. Trellis generates the template's checklist and fills in its default supplies and costs.
* **Switch to a different template** if you picked the wrong one or the work changed. The current checklist is cleared and rebuilt from the new template.
* **Clear the template** (the **X** in the picker) to remove it. The checklist is cleared and the task is left with no template checklist.
* **Re-selecting the same template** does nothing, so you can open the picker without risk of wiping work.
Switching a template does not overwrite the task's title, priority, or department. If the new template has a different description, Trellis asks before replacing the task's description.
### Templates from connected integrations
If you connect an integration like Breezeway, the template picker groups templates by where they came from so you can tell them apart:
* **From Breezeway** (or another connected provider) - templates imported from that account. Choosing one keeps the checklist and requirements aligned so they carry over when the task syncs back to that system.
* **From Trellis** - templates you built in Trellis. These work for tasks managed entirely in Trellis, but their checklists do not appear on the connected provider's side.
* **PMS templates** and **Custom templates** headers may also appear, depending on your connections.
Only active templates appear in the picker.
## Checklists
A checklist breaks a task into clear steps so the person doing the work knows exactly what to do and what "done" looks like. You can add a checklist to a single task, or build it into a template so every task of that type starts with the same steps.
Each checklist item can include:
* A **title** and an optional **description** with instructions
* A **step type** that controls how the worker responds. Common types are a simple done check, yes/no, a number or count, a rating, a short text answer, and a photo step.
* A **reference photo** that shows what a finished step should look like
* **Required photos** (for example before, after, an issue photo, or a general photo) the worker must capture
* **AI photo verification**, which flags photos that look wrong, missing, too dark, or hard to verify so a manager can review before the task closes
### Checklist sections
Checklist items are grouped into sections so the team can work through them in a logical order. There are two kinds of section:
* **Room-type sections** are tied to a kind of room, such as Bedroom, Bathroom,
Kitchen, or Living Room. These adapt to each property (see [Repeat a step for
each room](#repeat-a-step-for-each-room) below).
* **Custom sections** are free-form groupings such as Amenities, Exterior, or Final Walkthrough. These always appear as written.
Within a section, an item can also be **linked to an element** (like a grill or hot tub) so it only appears at properties that have that element.
When a worker opens the task, the checklist is grouped by section so they can move through it room by room.
### How templates adapt to each property
This is what makes one template work for a whole portfolio. Instead of building a separate template per property, you build one template and Trellis adapts its checklist to each property using that property's **rooms** and **elements** (set up on the [property detail page](/platform/properties#rooms-and-elements)).
#### Repeat a step for each room
When a checklist item is in a room-type section (such as Bedroom or Bathroom), Trellis creates one copy of that step for each matching room at the property.
A single "Clean Bedroom" step becomes "Bedroom 1," "Bedroom 2," and "Bedroom 3" at a 3-bedroom property, and just "Bedroom" at a 1-bedroom. If the property has no rooms of that type, the step is skipped entirely.
So one "Deep Clean" template with a Bedroom section works everywhere:
* A studio gets no bedroom steps
* A 2-bedroom condo gets "Bedroom 1" and "Bedroom 2"
* A 5-bedroom villa gets "Bedroom 1" through "Bedroom 5"
Where the room count comes from:
* If the property has **detailed rooms** set up in its Rooms tab (often imported from a connected system), Trellis uses those rooms, including their names and photos.
* If it has no detailed rooms, Trellis falls back to the property's **room counts** (bedrooms, bathrooms, and similar) from the property record.
#### Element-aware steps
A checklist item can be linked to a specific property element, such as a grill, hot tub, pool, or washer. When a task is created, Trellis checks the property:
* **The element is present and active** - the step appears on the task.
* **The element is missing or marked inactive** - the step is skipped.
A "Clean the grill" step only appears for properties that actually have a grill. Properties without one never see it, and you never have to edit the template per property.
You maintain one template, and each property automatically gets only the steps that apply to it.
#### Set up rooms and elements first
Per-room steps and element-aware steps only work if each property's rooms and
elements are set up. You do this on the property, not on the template:
Go to **Properties**, open a property, and select the **Details** section.
Open the **Rooms** tab and add a room for each physical space (one record per room). If you imported from a connected system, rooms may already be there.
Open the **Elements** tab and add or confirm amenities like pool, hot tub, grill, washer, and dryer.
Use each element's **Active** toggle to show whether the property has it. Inactive elements are skipped when checklists are generated.
See [Rooms and elements](/platform/properties#rooms-and-elements) for the full setup steps.
### Per-property template settings
Even with automatic room and element adaptation, some properties need different defaults than others. The **Templates** section on each property lets you override a shared template for just that property, without creating a separate template.
To override a template at a property:
Go to **Properties**, open the property, and select the **Templates** section. You will see the workspace's active templates.
Click a template to open its per-property settings.
Change the values you want to differ at this property. For supplies and costs, click **Edit** to start from the template's defaults, then adjust. Use **Reset** to return to the template defaults.
What you can override per property:
| Setting | What it does |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **Estimated duration** | How long the task should take at this property. A larger home might need 4 hours for a turnover instead of the template's 2. |
| **Required assignees** | How many people to assign. A big property might need 2 cleaners instead of 1. |
| **Default supplies** | Different supply items, quantities, or warehouse for this property, such as extra chlorine for a property with a pool. |
| **Default costs** | Different cost lines or amounts, such as a higher cleaning fee, and who to bill (the property or your company). |
If the template creator set duration or required people to **Fixed for all properties**, that field is locked on the property and shows a lock icon. Switch the template to **Varies per property** in the template editor to allow per-property values.
Per-property overrides apply only to **new** tasks created from that template at that property. Tasks that already exist keep the values they were created with.
## Schedule and assign work
* **List view** is best for scanning work by status, assignee, property, priority, or due date.
* **Calendar view** is best for daily schedules, visit planning, and moving work between days.
* **Mobile visits** help field teams see the work grouped by property and date.
* **Unassigned work** should be reviewed often so nothing sits without an owner.
### Visits
When the same person has more than one task at the same property on the same day, Trellis can group those tasks into a visit. This gives the field worker one trip to follow instead of several separate cards.
On mobile, field workers can open **My Visits** to see upcoming and past visits, task progress, property details, and assigned work. If a visit needs to move, use **Reschedule** on the visit so every task in that visit moves together.
### Calendar planning
Use the calendar when you need to plan a day, week, or month:
* Use **Visits** mode to plan trips to properties.
* Use **Tasks** mode to see each task by itself.
* View the calendar by property when you are checking coverage at each home.
* View the calendar by team member when you are balancing workloads.
* Drag work to another day, property, or team member when plans change.
The **Unassigned** row stays easy to find in the team-member calendar, so managers can quickly spot work that still needs an owner.
### Mobile task work
Field teams can create and update tasks from mobile. When creating a mobile task, they can choose a property, date, department, priority, assignee, and template. If the property has bookings shown in Trellis, the calendar helps the team avoid scheduling work during a guest stay.
Admins can also update assignees and dates from the mobile task detail page.
## Communicate on a task
Each task has an activity feed for comments and updates. Use it to keep notes, questions, photos, and manager decisions in one place.
Type **@** in a comment to mention a teammate. Mentioned teammates receive a focused notification, even if they are not assigned to the task.
Team members can manage how they receive task comment notifications in their own notification settings.
If your team works in more than one language, task auto-translation can show titles and descriptions in each teammate's preferred language while keeping the original text.
## Track time, supplies, and cost
Use time tracking when you need to know how long work took. A field worker can start time tracking while working on a task, and managers can later compare planned time with actual time.
Use supply tracking when cleaners or technicians use items from inventory:
Add the supplies the worker is likely to use, such as filters, batteries, towels, or cleaning products.
Before closing the task, confirm the actual quantity used.
Trellis updates stock for supplies that are tied to a warehouse.
If your team stores supplies in more than one place, use warehouse transfers in [Supplies](/platform/supplies) to move items from one warehouse to another and keep counts accurate.
Mark work as **no-charge** when the cost should stay in your records but should not be billed onward. You can use no-charge for one task or for a whole visit, depending on what should be excluded.
## Export and report on tasks
Use filters to narrow the task list, then export tasks when you need a spreadsheet for owners, accounting, or internal review. Large exports show progress while the file is prepared, then download when ready.
Common filters include status, date, property, assignee, department, priority, and vendor.
## Use live tracking responsibly
If location tracking is enabled for your workspace and your team has given permission, managers can use the live map to see active workers and route work more clearly.
Location sharing depends on the worker's permission and device settings. If a worker denies location permission or ends their shift, tracking stops.
Use live tracking for dispatch and safety, not surprise monitoring. Make sure your team understands when location sharing is on.
## Keep connected systems aligned
When a connected property system supports task updates, Trellis can help keep work status and related notes aligned. What syncs depends on the integration and your workspace settings.
## How to check it worked
* The task appears in the list with the right property, assignee, due date, and status.
* The calendar shows scheduled work on the expected day.
* Checklist items, comments, photos, supplies, and time entries appear in the task history.
* Visits group same-day property work correctly.
* Exports include the tasks that match your current filters.
* Closed tasks show who completed the work and when.
## Common problems
Check the task assignee, department, property access, and the teammate's role in **Settings > Permissions**.
Open the task or calendar view and update the scheduled date. If it belongs to a visit, check the visit date too.
The step may reference a room type or element that the property does not have. Open the property detail view, check the **Rooms** and **Elements** panels, and make sure the relevant room or element exists and is marked as active.
The property may have an element that should be inactive. Open the property detail view, find the element in the **Elements** panel, and toggle the **Active** switch off. Future tasks will skip that step.
Make sure the task has supply items attached and that usage was confirmed before the task was closed.
Open the task or visit cost section and mark the work as no-charge.
The template field may be set to **Fixed for all properties**. Open the template in **Tasks > Templates**, switch the duration or required people to **Varies per property**, then set the value on the property's **Templates** section.
This is expected. Switching or clearing a task's template rebuilds the checklist and removes the previous checkmarks, notes, and photos. Re-selecting the same template makes no changes, so only switch when you want a fresh checklist.
## Related articles
Manage schedules, shifts, approvals, and team availability.
Track inventory, warehouses, orders, and deliveries.
Create tasks automatically from repeat events.
Keep property details ready for the team.
# Troubleshooting
Source: https://docs.trellistech.com/platform/troubleshooting
Route common sign-in, message, sync, AI, task, notification, and mobile problems
Start with the symptom you can observe. Run one safe check at a time. Do not
repeat an outbound message, payment, or outside-system change when the first
result is unknown.
## Sign-in or access
Confirm the invited email and selected workspace. Use password reset from
the sign-in screen when needed. If your company uses its own sign-in flow,
start there.
Clear page filters, then ask an admin to review your role, team, and property
scope in **Settings > Permissions**. See
[Choose roles and property access](/guides/roles-and-property-access).
Confirm the contact in **Settings > Permissions > Vendors** before using the
available resend option. See [Set up a vendor](/platform/workforce#set-up-a-vendor).
## Inbox or message
Clear Inbox channel and property filters. Confirm the message reached the
connected source account, review its status in **Settings > Integrations**,
and refresh Inbox once. Use the matching [channel guide](/faq).
Check the recipient, conversation state, channel, and connection. If the
result is unknown, do not send the same reply again. Capture the time and
visible status for support.
Open the conversation and use the available reservation change control.
Confirm the property, guest, and dates before saving.
## Property or reservation sync
Confirm the record is active in the source system. Review the integration
status and use the refresh method documented for that provider. Then compare
one known current record in both places.
Check the latest value in the source system, use the provider's documented
refresh method, and confirm the known change arrived. Start with the
[Integrations overview](/integrations/overview).
Check the integration page to confirm that field can go back. If the page
does not list it, treat Trellis as a separate record and contact support
before repeating the change.
## AI Agent
Confirm the selected agent, conversation, channel, and access. Check whether
the request requires a person or approval. Keep the case in review mode
while you investigate.
Do not correct only the draft. Find and correct the source, then repeat the
same test in review mode. Follow
[Fix wrong AI information](/guides/fix-wrong-ai-information).
Require approval for that action, tighten the hand-off instruction, and
repeat the same safe test. See
[Launch and hand off your AI Agent](/guides/launch-and-handoff-ai-agent).
## Tasks, workforce, or workflows
Check the property, task type, assignee or department, and the workflow that
should create it. Open **Workflows > Runs** to find the step that stopped.
Check the task assignee, department, role, and property scope. Then ask the
worker to refresh. See
[Field worker onboarding](/guides/field-worker-onboarding).
Confirm it is enabled and the trigger occurred. Open the run and review each
condition, approval, action, and visible error. See
[Workflow automations](/platform/automations#review-workflow-runs).
## Notifications or mobile
Check Trellis notification preferences and the browser or device
permission. Confirm the assignment or event should notify that person.
Check camera and photo permissions and connection quality. Keep the task
open until the required proof appears; do not mark it complete early.
Pull to refresh the current screen. Confirm the correct workspace and
account before signing out and back in.
## Contact support
Email [support@trellistech.com](mailto:support@trellistech.com) with:
1. The affected property, conversation, task, workflow, or integration.
2. The time and your time zone.
3. What you expected and what appeared.
4. The safe checks you completed.
5. A screenshot with private guest details hidden when possible.
## Related articles
* [Frequently asked questions](/faq)
* [Quickstart](/quickstart)
* [Integrations overview](/integrations/overview)
* [Settings & Admin](/platform/settings)
# Workflows
Source: https://docs.trellistech.com/platform/workflows
Build and review automated work for messages, tasks, approvals, upsells, and repeatable operations
## What Workflows helps you do
Workflows help Trellis run repeatable work for you. A workflow can start from an event, a schedule, or a manual action. It can create tasks, prepare messages, ask the AI agent to help, wait for approval, or update records your workspace is allowed to change.
Use Workflows when a process happens the same way more than once.
## Main areas
View, organize, edit, and run your workspace workflows.
Start from common workflow patterns instead of building from a blank page.
See what each workflow did, where it paused, and whether any step failed.
Store reusable values that workflows can use, such as shared email addresses or team settings.
Create guest offers and checkout links when Stripe is connected.
## Build a workflow
Click **Workflows** in the main navigation.
Start from the workflow list, or open **Templates** if you want a guided example.
Choose what starts the workflow, such as a schedule, a message, a reservation change, or a manual run.
Add actions such as creating a task, drafting a message, asking the AI agent, waiting, or requesting approval.
Review the workflow and run a safe test when available. Keep approvals turned on for high-impact actions.
## Review a workflow run
Open **Runs** to see what happened. A run shows each step, the status, and any error message that needs attention.
Use this page to answer:
* Did the workflow start?
* Which step ran?
* Did it send, draft, pause, or fail?
* Does a manager need to approve something?
## Common problems
Check whether the trigger matched, the workflow is active, and the schedule uses the right timezone.
Open the run and approve or reject the step after reviewing what will happen.
Check the connected channel and the run details. Some channels require approval or may not support every message type.
Make sure Stripe is connected and the upsell has a clear name, price, and currency.
## Related articles
* [Automations](/platform/automations)
* [AI Hub](/platform/ai-hub)
* [Tasks](/platform/tasks)
* [Workforce](/platform/workforce)
* [Outbound messages](/platform/outbound)
# Workforce
Source: https://docs.trellistech.com/platform/workforce
Schedule shifts, review approvals, track absences, and manage field teams
## What Workforce helps you do
Workforce helps managers plan who is working, where they should be, and what needs approval. It is built for cleaning, inspection, maintenance, and field teams that need clear schedules.
Use Workforce to:
* Schedule shifts.
* Review the team calendar.
* Approve requests.
* Track absences.
* Manage departments and team assignments.
* Support field workers who clock in and out.
## Before you start
Admins and managers usually see the full Workforce section. Field workers may see a simpler view focused on their shifts and assigned work.
Make sure your team members, departments, and permissions are set up before you rely on the schedule.
## Main areas
Review planned shifts and who is assigned.
See the workforce calendar by date.
Review requests that need manager approval.
Track time away from work.
Manage departments and the people who belong to them.
## Plan the schedule
Click **Workforce** in the main navigation.
Use the calendar to see who is working on each day.
Check whether each property, visit, or operational need has the right person assigned.
Open **Approvals** and approve or reject pending requests.
## Use Schedule on mobile
In the mobile app, open **More > Schedule**. Use **Me** to review your personal
shifts and manage your own absence requests. Select **Request Absence** to add
time away, or select an existing request to edit or delete it.
Admins and managers can switch to **Team** to review and manage team shifts.
Visits remain available from the separate **Visits** destination.
## Set up a vendor
Go to **Settings > Permissions**, then open **Vendors**.
Enter the vendor name and the contact who should manage the vendor
workspace.
Select the properties and task types the vendor should see. Use default
assignment only when the vendor should receive that work automatically.
After the vendor accepts the invitation, ask them to sign in and confirm
that the right properties and tasks are visible.
If the contact already manages a vendor workspace, Trellis can link that
workspace instead of creating another one.
## How to check it worked
Your schedule should show the right team members, dates, and assignments. Field workers should see their own shifts, and managers should see pending approvals before work is missed.
## Common problems
Check their role and permissions. Some tabs are shown only to admins, managers, or users with workforce approval access.
Confirm the worker has an active shift and location tracking or clock-in settings are allowed for that workspace.
Open team or workspace settings and confirm the department exists and has the right members.
Open **Settings > Permissions > Vendors**, select the vendor, and confirm
the contact email. Use **Resend invite** when it is available, then check
that the correct properties and task types are selected.
## Related articles
* [Tasks](/platform/tasks)
* [Settings & Admin](/platform/settings)
* [Insights](/platform/insights)
* [Choose roles and property access](/guides/roles-and-property-access)
* [Send a maintenance request to a vendor](/guides/maintenance-request-to-vendor)
# Quickstart
Source: https://docs.trellistech.com/quickstart
Set up one property, channel, AI Agent, teammate, and workflow safely
Start small: prove one complete operating path before expanding to more
properties, channels, or automations.
## Before you begin
You need:
* A Trellis workspace with admin or manager access.
* Credentials for a supported property management system (PMS).
* One test property and a safe test contact.
* One teammate who can review the setup.
Your provider decides which records Trellis can import, refresh, or update.
Follow the page for your integration instead of assuming every connection
supports the same actions.
## 1. Connect your property system
Go to **Settings > Integrations** and choose your PMS.
Follow the displayed sign-in steps. Confirm the provider account and
property scope before approving.
Open **Properties** and confirm one expected property and recent reservation
are present. Compare a known detail with the source system.
Trellis has PMS guides for [Guesty](/integrations/guesty),
[Krossbooking](/integrations/krossbooking),
[Hostaway](/integrations/hostaway), and [Calry](/integrations/calry).
[Breezeway](/integrations/breezeway) is a field-operations connection for task
coordination, not a PMS connection.
## 2. Connect one message channel
Choose the channel your team wants to prove first:
Connect a shared mailbox and verify a safe inbound message.
Confirm the approved business account and number.
Verify the call and text capabilities shown for your workspace.
Connect an internal team channel for supported operational updates.
Send one safe inbound test with no real guest details. Confirm it appears once
in **Inbox** under the expected channel. Do not test an outbound send until your
team has checked the recipient, content, and approval state.
## 3. Prepare the AI Agent
Choose the agent that should help with the test property and channel.
Put property facts on the property, company policies in documents, voice and
limits in agent instructions, and repeat procedures in skills.
Require a person to review the first drafts and all sensitive actions.
Test one property fact, one policy, one procedure, and one request that
should go to a person.
Use [Launch and hand off your AI Agent](/guides/launch-and-handoff-ai-agent) for
the full test and escalation checklist.
## 4. Invite the team
Go to **Settings > Permissions**. Choose the least access each person needs and
limit property scope when available. Ask the invited person to sign in and
confirm they can see the intended work but not an unrelated property.
For role examples, see
[Choose roles and property access](/guides/roles-and-property-access). Vendor
contacts are also managed from **Settings > Permissions**; see
[Set up a vendor](/platform/workforce#set-up-a-vendor).
## 5. Test one workflow
Choose one repeat outcome, such as creating a cleaning task after checkout.
Review the trigger, rules, task or message details, assignee, and approval
points. Use a safe example, then open **Workflows > Runs** and inspect every
step before enabling it.
Do not enable a workflow that can message a guest, affect money, or change an
outside system until a manager has reviewed the test result.
For a complete first operation, follow
[Run your first cleaning operation](/guides/first-cleaning-operation).
## Check that your workspace is ready
* The intended property and a recent reservation appear in Trellis.
* A known source-system change can be verified with the documented refresh
method.
* One safe inbound message appears once in the correct Inbox conversation.
* The AI Agent is in review mode and passes the four source and hand-off tests.
* Each invited person can see the right work and property scope.
* **Workflows > Runs** shows a successful safe test.
* A manager knows where to review approvals, failed runs, and escalations.
If any check fails, keep that part of the setup off and use the
[Troubleshooting](/platform/troubleshooting) guide.
## Next steps
Find the canonical answer to common setup and daily-work questions.
Prove sign-in, assigned work, checklists, photos, and completion.
Correct the source and repeat the same test.
Build, test, approve, and inspect repeat work.