# AgencyTitan Documentation (full)
> Complete product documentation for AgencyTitan, the operations platform for agencies.
# AgencyTitan Help Center
> Search AgencyTitan Help, browse operator guides and developer references, read the changelog, or submit a support ticket.
URL: https://www.agencytitan.com/help/
import DocsHomeHero from '../../components/docs/DocsHomeHero.astro';
import DocsHomeDocs from '../../components/docs/DocsHomeDocs.astro';
import DocsHomeMcp from '../../components/docs/DocsHomeMcp.astro';
import DocsHomeDevelopers from '../../components/docs/DocsHomeDevelopers.astro';
import DocsHomeChangelogPreview from '../../components/docs/DocsHomeChangelogPreview.astro';
import DocsHomeSupport from '../../components/docs/DocsHomeSupport.astro';
---
# Submit a ticket
> Send a question or report a problem to the AgencyTitan team. Signed-in operators file a ticket under their agency.
URL: https://www.agencytitan.com/help/submit-a-ticket/
import HelpTicketForm from '../../components/docs/HelpTicketForm.astro';
Tell us what you need. If you are signed in, we file this under your agency. If not, we reply by email.
---
# API Quickstart
> Authenticate to the AgencyTitan REST API and handle its standard response envelopes, pagination, errors, permissions, and rate limits.
URL: https://www.agencytitan.com/help/getting-started/api-quickstart/
The AgencyTitan REST API uses resource-oriented URLs, JSON request bodies, and JSON responses. The production base URL is `https://api.agencytitan.com`.
The [API reference](/docs/) is generated from the current OpenAPI document. Use it for the complete request and response schema for each operation.
## Create and protect an API key
Create API keys under **Settings > System > API & MCP**. You can open the API & MCP settings (opens in new tab) directly after signing in.
An API key starts with `at_` and acts as its assigned service account, not as the person who created it. Store the key in a secret manager or environment variable. Do not put it in browser code, source control, logs, or URLs.
Send the key as a bearer token:
```bash
curl "https://api.agencytitan.com/v1/tenant-context" \
--header "Authorization: Bearer $AGENCYTITAN_API_KEY" \
--header "Accept: application/json"
```
See [`GET /v1/tenant-context`](/docs/tag/tenant-context/GET/v1/tenant-context) for the response schema. OAuth 2.0 access tokens use the same header and are also supported.
## Response envelopes
A successful operation that returns one resource wraps it in `data`:
```json
{
"data": {
"id": "11111111-1111-4111-8111-111111111111"
}
}
```
A list operation returns an array in `data` and a `pagination` object:
```json
{
"data": [],
"pagination": {
"total": 0,
"limit": 50,
"offset": 0
}
}
```
An empty `data` array is a successful result. It can mean that no records matched or that the service account's assigned-data scope contains no matching records.
## Pagination, search, and sorting
List operations share these query conventions:
- `limit` is the maximum number of items to return. It accepts 1 through 200 and defaults to 50.
- `offset` is the number of matching items to skip. It starts at 0.
- `sort` accepts only the fields declared by that resource's operation.
- `order` is `asc` or `desc`.
- `search` is available only when the operation declares it.
Resource-specific filters appear alongside these shared parameters. When a filter accepts several values, send it in the array form shown by the operation schema. Do not assume that every list supports the same filters or sort fields.
Continue until `offset + data.length` is greater than or equal to `pagination.total`. For changing datasets, choose a stable sort field and avoid reusing an old offset after changing filters.
## Errors
Most API errors use this shape:
```json
{
"error": {
"type": "validation_error",
"message": "Request validation failed."
}
}
```
The supported error types map to these status codes:
| Status | Error type | Meaning |
| --- | --- | --- |
| `400` | `validation_error` | The request did not match the operation schema. |
| `403` | `permission_denied` | The service account cannot perform the operation. |
| `404` | `not_found` | The requested resource was not found or is not visible. |
| `409` | `conflict` | Current state or another record prevents the operation. |
| `429` | `rate_limited` | A rate-limit bucket is exhausted. |
| `500` | `internal` | The request could not be completed safely. |
Some errors include an `error.details` object. Authentication failures use a separate OAuth-style shape:
```json
{
"error": "invalid_token",
"error_description": "API key is invalid, expired, or revoked"
}
```
Unknown body or query properties are rejected instead of being silently ignored. Use the operation schema as the source of truth and handle error `type` in addition to the human-readable message.
## Permissions and record scope
Every request runs as the API key's assigned service account or the authenticated OAuth user. Existing product permissions and row-level access rules still apply.
A caller without the required permission receives `403 permission_denied`. A caller with assigned-data scope may receive a successful list with inaccessible rows omitted. Give service accounts only the permissions and client or task scope the integration needs.
## Rate limits
REST requests consume two fixed-window budgets: 600 requests per minute for the agency and 300 requests per minute for the API key or OAuth client. A noisy credential can exhaust its own budget without consuming the entire agency budget.
Responses expose the tighter budget through:
- `X-RateLimit-Limit`
- `X-RateLimit-Remaining`
- `X-RateLimit-Reset`, as a Unix timestamp in seconds
A `429` response also includes `Retry-After` in seconds. Wait for that interval, then retry with bounded exponential backoff and jitter. Do not retry validation or permission failures without changing the request or access configuration.
## Next steps
- Follow [Working with tasks and tickets](/help/guides/working-with-tasks-and-tickets/) for a core domain walkthrough.
- Use [Files and attachments](/help/guides/files-and-attachments/) to issue short-lived download URLs.
- Read [Bulk operations](/help/guides/bulk-operations/) to update as many as 100 clients, tasks, or tickets per request with per-item results.
---
# Core Concepts
> Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
URL: https://www.agencytitan.com/help/getting-started/core-concepts/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
AgencyTitan organizes agency work around a small set of connected records. This page defines those terms and how they fit together. For where to click on day one, see [Welcome](/help/getting-started/welcome/).
## Who this is for
Anyone who needs the shared vocabulary used across the agency app.
## Workspace, roles, and permissions
Your **workspace** is one agency. It holds that agency's users, clients, work, and settings. Data in one agency is not visible to another agency.
Owner and Administrator both have full product access. The differences are impersonation rank, who can remove an Owner, and that the agency must keep at least one Owner.
| Role | Access |
| --- | --- |
| **Owner** | Full agency access. Can impersonate Administrators and Members when **Impersonate Users** is granted. Can remove Administrators and Members. Cannot remove or demote the last remaining Owner. |
| **Administrator** | Same product access as Owner. Cannot impersonate an Owner. Cannot remove an Owner. |
| **Member** | Access granted through department levels and permissions. Cannot impersonate an Administrator or Owner, even when **Impersonate Users** is granted. |
Impersonation never goes up the role ladder: a lower role cannot impersonate a higher role.
Permissions use the names shown in **Settings**, then **Team & Access**, then **Permissions**. Examples include **View Clients**, **Create Processes**, **Manage Ticket Settings**, and **View Layouts**. A missing button usually means that permission is not granted.
Invite teammates, departments, levels, and permission grants live under **Team & Access**. Set departments and levels first, then invite Members. See [Set up departments and levels](/help/getting-started/set-up-departments-and-levels/) and [Agency settings](/help/settings/agency-settings/).
## Clients
| Term | What it is |
| --- | --- |
| **Client record** | The live account for one business your agency serves. It holds status, contacts, tasks, tickets, notes, programs, files, and custom field values. |
| **Client Profile** | The reusable template that defines which fields and defaults apply when you create or edit clients of that type. |
| **Info Sheet** | The default page that opens when you select a client from the list. |
Creating a client picks a **Client Profile** and saves a new record. Open **Clients** () to find or add accounts.
See [Clients overview](/help/clients/overview/).
## Client portal
The **client portal** is a separate signed-in surface for contacts outside your agency. It shows shared work and account areas only for client records linked to that contact.
Inviting a contact does not add them to your agency team and does not give them the agency app. Internal notes and other clients stay in the agency app.
See [Client portal](/help/clients/client-portal/) and [Invite a client portal user](/help/clients/invite-a-client-portal-user/).
## Process definitions and tasks
AgencyTitan stores a task type as a **process definition**. The task creation form calls it **Process Type**.
| Term | What it is |
| --- | --- |
| **Process definition** | The reusable setup for one type of work: stages, fields, layouts, and defaults. Configured in Settings. |
| **Stage** | One step of that work. A stage can have its own fields, assignment, status, dates, and completion action. |
| **Task** | One live item created from the process definition. It has its own values, assignment, status, dates, and progress. |
Changing a task updates that task. Changing the process definition changes the reusable setup used by later work. It does not merge every task into one shared record.
Open **Tasks** () to create and work tasks. See [Tasks & processes overview](/help/tasks/overview/).
## Tickets
A **ticket** is a request or conversation your team handles in the **Tickets** inbox (). A ticket can have a status, priority, assignees, client, department, tags, and SLA information based on your agency's setup.
Tickets can arrive from a connected inbox, the client portal, or a team member. **Inboxes**, statuses, routing, reply templates, and SLA defaults live in ticket settings.
See [Tickets overview](/help/tickets/overview/).
## Escalations
An **escalation** is a flag on a ticket, task, client, or client note that needs a higher-priority path. It is its own record. Work the linked ticket or task on that record, and use **Escalations** () to acknowledge, resolve, or dismiss the flag.
Routing, statuses, priorities, and tags for escalations live in **Settings**, then **Agency**, then **Escalations**. See [Escalations overview](/help/escalations/overview/).
## Chat
**Chat** () is internal messaging for your agency team. Use a named channel, a department or client conversation, or a direct message. Chat does not create a ticket. Client portal contacts cannot see Chat.
A client's **Channel** tab is the same internal conversation as that client's Chat row. See [Chat overview](/help/chat/overview/).
## SOPs and training
**SOPs & Trainings** () is where the team reads published procedures and completes courses. An SOP is how-to documentation. A course is a lesson path. Neither replaces a task or a ticket.
Create and edit content in **Settings**, then **SOPs** or **Training**. Daily reading stays on **SOPs & Trainings**. See [SOPs and training overview](/help/knowledge/overview/).
## Programs
A **program** is a published service package. Adding it to a client can create scheduled tasks and, when your agency enables billing, define how that client is billed.
Programs are configured in Settings, then added on the client's **Programs** page. See [Add a program to a client](/help/clients/client-programs/).
## Views
A **view** is a configurable dashboard or work surface. It is made of sections and data blocks such as tables, Kanban boards, calendars, charts, and metrics.
A view is not a saved filter. Filters and sorting belong to the individual blocks inside the view. Views can be global, client-scoped, or tied to one process definition.
Open published views from **Views** (). Create and edit them in Settings. See [Views and dashboards overview](/help/views/overview/).
## Automations
An **automation** watches for an event, schedule, webhook, or button, then runs the connected steps you define. Use it to notify the team, update records, message a client, call an integration, or branch and wait.
Draft, published, active, and inactive are separate states. Publishing makes a version available. Activation controls whether it can run.
Automations live in **Settings**, then **Automations** (). See [Automations overview](/help/automations/overview/).
## My Day
**My Day** () is the daily plan for assigned tasks and tickets. It is not a separate record type. Items appear on **Today's List** or in **Overflow** based on due dates, SLA pressure, and capacity. See [My Day overview](/help/my-day/overview/).
## Settings versus records
**Settings** hold reusable configuration: process definitions, ticket inboxes, views, automations, SOP and training authoring, branding, users, and permissions. Daily work happens on records: clients, tasks, tickets, escalations, Chat conversations, and published SOPs and courses.
A team member can work tasks or tickets without being able to change the shared setup behind them. See [Settings overview](/help/settings/overview/).
## How records connect
| Connection | What it does |
| --- | --- |
| Task or ticket to a client | Keeps delivery work or a request next to the account. |
| Task to a ticket | Keeps a customer conversation connected to the related delivery work. |
| Program to a client | Can create scheduled tasks, and billing when enabled, for an enrolled client. |
| Portal user to a client | Lets an external contact see shared work for that account only. |
| View to clients, tasks, or tickets | Shows a dashboard or work list from those records. |
| Task or ticket to My Day | Places assigned work on Today's List or Overflow for the current day. |
| Ticket, task, client, or note to an escalation | Flags that record for a higher-priority path without replacing it. |
| Chat conversation to a client or department | Keeps an internal team discussion next to that client or department. |
| SOP or course to a team member | Gives the team a published procedure or lesson path to read and complete. |
## When to use which record
| You need to | Use |
| --- | --- |
| Keep account details and client-specific context | A **client record** |
| Plan today's assigned work | **My Day** |
| Do planned, repeatable work | A **task** from a process definition |
| Handle an incoming request or conversation | A **ticket** |
| Flag a record that needs a supervisor path | An **escalation** |
| Message teammates inside the agency | **Chat** |
| Read a procedure or complete a course | **SOPs & Trainings** |
| Let a contact review shared work | The **client portal** |
| Enroll a client in a repeating service package | A **program** |
| Watch a board, calendar, chart, or filtered list | A **view** |
| Repeat a reaction when something happens | An **automation** |
| Change shared defaults for the agency | **Settings** |
## Related articles
- [Welcome to AgencyTitan](https://www.agencytitan.com/help/getting-started/welcome/): Sign in, find the main areas of the agency app, and choose a first-week path.
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Chat overview](https://www.agencytitan.com/help/chat/overview/): Understand Chat, conversation types, and how internal messages differ from tickets and the client portal.
- [SOPs and training overview](https://www.agencytitan.com/help/knowledge/overview/): Understand SOPs and Trainings, how published procedures differ from courses, and where daily reading stays versus Settings authoring.
---
# Invite your team
> Invite agency teammates from Users so they can sign in to the agency app. This is not a client portal invite.
URL: https://www.agencytitan.com/help/getting-started/invite-your-team/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Invite people to your agency so they can sign in to the agency app. A team invite is not a [client portal invite](/help/clients/invite-a-client-portal-user/). Portal contacts stay outside your agency team.
## Who this is for
Owners and users with the **Admin** role who add agency teammates. Requires **View Users** to open the list and **Invite Users** to send invitations. Without **Invite Users**, the **Invite Users** button does not appear.
## Before you begin
- You are signed in to the correct agency.
- You have the person's work email address.
- For a **Member**, know which department and level they should receive, if any. Create those first if they do not exist. See [Set up departments and levels](/help/getting-started/set-up-departments-and-levels/).
New to roles? See [Core Concepts](/help/getting-started/core-concepts/).
## Open Users
1. Open **Settings**, then **Team & Access**, then **Users** ().
2. Confirm the list shows each teammate's name, email, role, departments, status, and last active time.
## Open the invite page
Select **Invite Users**.
The **Invite Team Members** page opens. **Back to Users** returns to the list.
## Choose a role
1. Under **Role**, keep **Member - Access controlled by department level** unless this person should be an **Admin** or **Owner**.
2. **Member** access comes from department levels. **Admin** has the same product access as **Owner**, except impersonation rank and owner removal. See [Core Concepts](/help/getting-started/core-concepts/).
3. Only an **Owner** can invite another **Owner**.
## Optional department assignments
Department assignments appear when **Role** is **Member**. They are optional.
1. Select **Add Department**.
2. Choose **Department** and **Level**.
3. Optionally select **Set as primary department**.
4. Select **Add**.
You can assign departments later from the user's profile if you skip this step.
## Enter email addresses
1. Under **Email Addresses**, enter the work email for the first person.
2. Select **Add another email** to invite more people with the same role and department assignments.
**Send Invitations** stays disabled until at least one valid email address is entered. The page shows **Enter at least one valid email address** until that is true.
## Send the invitations
1. Select **Send Invitations**.
2. Select **Back to Users** if the page does not return on its own.
If the address already has an AgencyTitan account, that person is added to this agency instead of creating a second login.
## Expected result
- The **Users** list includes a row for each invited address.
- New invites show status **Invited** until the person accepts and signs in.
- Accepted teammates can open the agency app with the role you chose.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Users** is missing from Settings | You lack **View Users** | Ask an Owner or Admin to grant **View Users** |
| **Invite Users** is missing | You lack **Invite Users** | Ask an Owner or Admin to grant **Invite Users** |
| **Send Invitations** stays disabled | No valid email address is entered | Enter at least one complete email address |
| Invite as **Owner** fails | Only an Owner can invite another Owner | Sign in as an Owner, or invite as **Admin** or **Member** |
| The person received a portal login, not the agency app | A client portal invite was sent from the client record | Use **Team & Access**, then **Users**. See [Invite a client portal user](/help/clients/invite-a-client-portal-user/) for the other path |
## Related articles
- [Set up departments and levels](https://www.agencytitan.com/help/getting-started/set-up-departments-and-levels/): Create departments, add levels, and grant permissions so Members get the right access before you invite the team.
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
- [Invite a client portal user](https://www.agencytitan.com/help/clients/invite-a-client-portal-user/): Invite a client contact to the client portal so they can sign in and access this client's workspace. Send a client portal invite from the Client Portal Users page.
- [Agency settings](https://www.agencytitan.com/help/settings/agency-settings/): Update agency identity and branding, and understand how users, roles, departments, and department-level permissions work together.
- [Welcome to AgencyTitan](https://www.agencytitan.com/help/getting-started/welcome/): Sign in, find the main areas of the agency app, and choose a first-week path.
---
# Set up departments and levels
> Create departments, add levels, and grant permissions so Members get the right access before you invite the team.
URL: https://www.agencytitan.com/help/getting-started/set-up-departments-and-levels/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Create departments and levels before you invite Members. A department is a team. A level is the access band inside that team. Member access comes from the permissions granted to their assigned level, not from the Owner or Admin role.
Owner and Admin already have full product access. They do not need a department assignment to use the app.
## Who this is for
Owners and users with the **Admin** role who set up team structure. Opening **Departments** requires **View Departments**. Adding a department requires **Create Departments**. Adding levels and granting permissions requires **Edit Departments**. Assigning people to a level requires **Manage Department Members**.
## Before you begin
- You are signed in to the correct agency.
- Decide the teams you need, such as support, delivery, or account management.
- For each team, decide at least one level name, such as Agent or Lead.
Department **levels** are not the same as Owner, Admin, and Member. Those three are agency roles. See [Core Concepts](/help/getting-started/core-concepts/).
## Open Departments
1. Open **Settings**, then **Team & Access**, then **Departments** ().
2. Confirm the page heading is **Departments**.
If the agency has no departments, the page says **No departments yet**. Use **Create First Department** in that empty state, or **Create Department** in the header.
## Create a department
1. Select **Create Department**.
2. Enter **Department Name**. This field is required.
3. Optionally enter **Description**, choose **Icon**, and set **Department Color**.
4. Select **Create Department**.
The new department appears as a card. Each card shows how many levels and users it has.
## Add levels
1. On the department card, select **Manage Levels & Permissions**.
2. Confirm the **Roles & Levels** tab is selected.
3. Select **Add Level**. If the department has no levels, the empty state says **No levels yet**. Use **Add Level** there.
4. Enter **Level Name**. This field is required.
5. Optionally enter **Description**.
6. Optionally enter **Hourly Cost** if you track department cost and have **Edit Compensation**.
7. Select **Add Level**.
Add every level this department needs before you invite Members into it.
You can drag a level to change its order. Lower numbers are usually earlier in the path, such as Agent before Lead.
## Grant permissions
1. Select the **Permissions** tab.
2. If you see **No levels defined**, return to **Roles & Levels** and add a level first.
3. Use **Search permissions (e.g. time tracking, inbox, PTO)...** to find a permission, or expand a group such as **Team Management**.
4. For each level column, turn on only the permissions that level should have.
5. Where a row offers a scope, choose **All data** or **Assigned only**.
A grant applies to every user assigned to that level. Owners and Admins keep full access even when a department level does not include a permission.
:::caution[Review the level before you grant]
Granting a permission to a level gives it to every member assigned to that level. Check both the level and who sits in it before you turn a permission on.
:::
## Optional: copy permissions to another level
1. In a level column, select **Copy**.
2. In **Copy Permissions**, choose **Copy To** to apply this level to other levels, or **Copy From** to overwrite this level from another source.
3. Select the destination or source levels.
4. Select **Copy Permissions**.
Use this when two levels should start from the same baseline, then tighten or widen one of them.
## Optional: add people already in the agency
You can assign existing teammates from the department, or wait and assign them during invite. See [Invite your team](/help/getting-started/invite-your-team/).
1. On **Roles & Levels**, select **Add Users** on a level with no members, or **Manage** on a level that already has members.
2. In **Manage Users**, under **Add User to Level**, choose the person.
3. Optionally turn on **Set as primary department for this user**.
4. Select **Add User**.
## Expected result
- **Departments** lists each team you created.
- Each department has the levels you added.
- Each level grants only the permissions its members need.
- You can invite Members into those department levels.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Departments** is missing | You lack **View Departments** | Ask an Owner or Admin to grant **View Departments** |
| **Create Department** is missing | You lack **Create Departments** | Ask an Owner or Admin to grant **Create Departments** |
| **Add Level** is missing | You lack **Edit Departments** | Ask an Owner or Admin to grant **Edit Departments** |
| **Permissions** shows **No levels defined** | This department has no levels yet | Open **Roles & Levels** and select **Add Level** |
| **Add Users** or **Manage** is missing | You lack **Manage Department Members** | Ask an Owner or Admin to grant **Manage Department Members** |
| A Member cannot see a page or button | Their department level does not grant that permission | Open **Permissions** for that department and review the level |
| **Delete** stays unavailable for a level | Users are still assigned to it | Reassign those users, then delete the empty level |
## Related articles
- [Invite your team](https://www.agencytitan.com/help/getting-started/invite-your-team/): Invite agency teammates from Users so they can sign in to the agency app. This is not a client portal invite.
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
- [Agency settings](https://www.agencytitan.com/help/settings/agency-settings/): Update agency identity and branding, and understand how users, roles, departments, and department-level permissions work together.
- [Welcome to AgencyTitan](https://www.agencytitan.com/help/getting-started/welcome/): Sign in, find the main areas of the agency app, and choose a first-week path.
---
# Welcome to AgencyTitan
> Sign in, find the main areas of the agency app, and choose a first-week path.
URL: https://www.agencytitan.com/help/getting-started/welcome/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use this page to get into the agency app and start useful work. For definitions and how records relate, see [Core Concepts](/help/getting-started/core-concepts/).
## Who this is for
New agency team members. Owners and users with the **Administrator** role can also use it as a first-week checklist. Your role and permissions control which pages and buttons you see.
## Sign in and choose your agency
1. Open the agency app () and sign in.
2. Confirm the agency name in your avatar menu. If you belong to more than one agency, select the correct one under **My Agencies**.
3. Use **Add another agency** only when you need to join or create another workspace.
The client portal is a separate signed-in surface for external contacts. Do not send portal users to the agency app. See [Client portal](/help/clients/client-portal/).
## Main areas
These are the day-to-day surfaces in the agency app. Your agency's navigation can hide, rename, or reorder items. Use the Help column when a guide already exists for that area.
| Area | Open it to | Path | Help |
| --- | --- | --- | --- |
| **My Day** | Plan and work today's assigned items | | [Overview](/help/my-day/overview/) |
| **Clients** | Find an account and open its record | | [Overview](/help/clients/overview/) |
| **Tasks** | Create and complete planned work from a process type | | [Overview](/help/tasks/overview/) |
| **Tickets** | Triage incoming requests and reply | | [Overview](/help/tickets/overview/) |
| **Escalations** | Handle flagged issues that need a higher-priority path | | [Overview](/help/escalations/overview/) |
| **Views** | Open published dashboards and work lists | | [Overview](/help/views/overview/) |
| **Reports** | Open reporting surfaces for time, work, and forms | | Later |
| **Forms** | Review public form submissions | | Later |
| **Chat** | Message teammates inside the agency | | [Overview](/help/chat/overview/) |
| **SOPs & Training** | Read procedures and complete training | | [Overview](/help/knowledge/overview/) |
| **Credentials** | Store and use shared logins for client work | | Later |
| **AI Assistant** | Ask questions and take actions in this agency | | Later |
| **AI Presets** | Reuse saved AI configurations | | Later |
| **Automations** | Build and manage event-driven runs | | [Overview](/help/automations/overview/) |
| **Marketplace** | Install or publish agency apps and packages | | Later |
| **Settings** | Change shared definitions, access, and system setup | | [Overview](/help/settings/overview/) |
Personal tools live outside that list:
- The bell opens **Notification Center** ().
- Your avatar menu holds agency switching, availability status, and **Sign out**.
## First week
If you are an Owner or Admin setting up the workspace, do this before the team starts daily work:
1. Create departments, add levels, and grant permissions. See [Set up departments and levels](/help/getting-started/set-up-departments-and-levels/).
2. Invite teammates into those levels. See [Invite your team](/help/getting-started/invite-your-team/).
For daily work:
1. Open **My Day** and review Today's List. See [Work your day](/help/my-day/work-your-day/).
2. Open **Clients** and find or create the account you will work. See [Create a client](/help/clients/create-a-client/).
3. If the work is planned and repeatable, create a task from a **Process Type**. See [Create a task](/help/tasks/create-a-task/).
4. If a request arrived in an inbox or needs a reply, open **Tickets**. See [Find and work tickets](/help/tickets/find-and-work-tickets/).
5. Open **Views** when you need a board, calendar, chart, or filtered list that your agency already published.
6. Read [Core Concepts](/help/getting-started/core-concepts/) when a term such as process definition, view, or automation is unclear.
You do not need every area on day one. Start with the record in front of you.
## Leave these until you need them
- Most **Settings** pages change shared configuration for the whole agency. See [Settings overview](/help/settings/overview/).
- **Automations** and **AI Presets** are easier after the daily records are familiar.
- Programs, custom fields, branding, and billing belong to later setup work.
## Get help
- Search this Help Center or browse the category overviews from the [Help home](/help/).
- Common account and data questions are in the [FAQ](/help/faq/).
- File a problem or question with [Submit a ticket](/help/submit-a-ticket/).
## Related articles
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
- [Set up departments and levels](https://www.agencytitan.com/help/getting-started/set-up-departments-and-levels/): Create departments, add levels, and grant permissions so Members get the right access before you invite the team.
- [Invite your team](https://www.agencytitan.com/help/getting-started/invite-your-team/): Invite agency teammates from Users so they can sign in to the agency app. This is not a client portal invite.
- [My Day overview](https://www.agencytitan.com/help/my-day/overview/): Understand My Day, Today's List, Overflow, triage, and Timeline so you can plan and work assigned items for today.
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
---
# My Day overview
> Understand My Day, Today's List, Overflow, triage, and Timeline so you can plan and work assigned items for today.
URL: https://www.agencytitan.com/help/my-day/overview/
import Screenshot from '../../../components/Screenshot.astro';
import DocsArticleCard from '../../../components/docs/DocsArticleCard.astro';
import DocsArticleCardGrid from '../../../components/docs/DocsArticleCardGrid.astro';
import AppPath from '../../../components/docs/AppPath.astro';
**My Day** is your daily plan. It shows the assigned tasks and tickets you intend to work today, plus ready work that did not fit, and items that still need a look from the side panel.
## Who this is for
Agency team members who start the day from a personal plan. Every signed-in agency user can open My Day. Completing a task or ticket still uses the same permissions as working that record.
## Open My Day
1. Sign in to the agency app.
2. Open **My Day** (). The app logo also returns here.
3. Confirm the page tab **My Workday** is selected.
4. Stay on **Today** to plan and work. Open **Timeline** to review activity and tracked time.
Owners, Admins, and members granted Dashboard access for those surfaces also see **Team Command** and **Agency Pulse** as sibling tabs. Those pages are not the personal plan.
## How the Today page is organized
| Area | What it is for |
| --- | --- |
| **Right Now** | The item you are working, or the first item ready to start. Includes **Capacity**. |
| **Up Next** | **Coming up** is the next item already on Today's List. **Suggested** is an urgent pick from triage. |
| **Today's List** | The ordered plan that counts toward capacity. |
| **Overflow** | Ready work that did not fit on Today after must-do items were planned. |
| **Overseeing and Delegated** | Exceptions on work you own or handed off. Appears only when there is something to review. |
| **Watching** | Tasks you chose to follow. |
| Side panel | **Escalations**, **Mentions**, and **Tickets**, plus an **On Time** summary. |
**New Tasks** appears when items were added or reprioritized since your last visit. **No work schedule configured** appears when your work hours are not set. In that case My Day uses default weekday hours until an administrator adds your schedule.
My Day is not a separate record type. Items here are tasks and tickets that already exist. See [Tasks & processes overview](/help/tasks/overview/) and [Tickets overview](/help/tickets/overview/).
## How Today is filled
Must-do work lands on Today's List first: overdue or due-today stages, tickets with SLA pressure, and other deadline work. Remaining ready items fill until the day is full. Everything after that stays in **Overflow** until you select **Today** on the row.
Long work stays on Today and can carry over. It is not moved to Overflow only because it is longer than the remaining window.
When Today's List is empty, the page shows **Your day is clear**. Promote an item from Overflow or triage to start a plan.
## Today versus Timeline
**Today** is the working plan: start an item, reorder the list, insert a break, complete work, or snooze something off the day.
**Timeline** is a review of the selected date. It shows **Activity** and **Time tracked**. Use the date control, **Previous day**, **Next day**, and **Today** to change the date. **Next day** is unavailable when you are already on the current date.
## Guides in this category
## Related articles
- [Welcome to AgencyTitan](https://www.agencytitan.com/help/getting-started/welcome/): Sign in, find the main areas of the agency app, and choose a first-week path.
- [Work your day](https://www.agencytitan.com/help/my-day/work-your-day/): Start the next My Day item, reorder Today's List, promote Overflow, snooze work, and review Timeline.
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Escalations overview](https://www.agencytitan.com/help/escalations/overview/): Understand Escalations, how they differ from tickets and tasks, and how the inbox, statuses, and linked records fit together.
---
# Work your day
> Start the next My Day item, reorder Today's List, promote Overflow, snooze work, and review Timeline.
URL: https://www.agencytitan.com/help/my-day/work-your-day/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use **My Day** to work the plan for today, then complete each item in its task or ticket. The list on this page is the plan. The record is where the work lives.
## Who this is for
Agency team members who work assigned tasks and tickets. Opening My Day does not require a special Dashboard permission. Completing a task requires **Edit Processes**. Updating a ticket requires the same ticket permissions you use in **Tickets**.
## Before you begin
- Open **My Day** () and stay on **Today**.
- Confirm **My Workday** is the selected page tab.
- If **No work schedule configured** is showing, ask an administrator to add your work schedule so capacity matches your hours.
## Start the next item
1. Look at **Right Now**.
2. If the card shows **Ready to start**, select it to begin the first Today's List item.
3. If work is already running, use **Pause**, **Resume**, or **Stop** when those actions appear. Use **Complete** to finish the item in peek.
4. If the card shows **Up first**, time tracks as you work that item. Select the title to open it.
5. If the card shows **Your plan is clear**, promote something from **Overflow** or the side panel.
**Previously** returns to the last item you were tracking. Notes on the Right Now card stay with the current focus.
**Capacity** in the Right Now header compares planned Today time to your available window. Amber means the plan is over capacity. **Day off** appears when today is not a working day.
## Work Today's List
1. Find **Today's List**.
2. Use **List view** for a compact queue, or **Day view** to pace items across the work window.
3. Drag the handle on a row to change order. The first work item is the start target when nothing is already running.
4. Use **Search today's list...** to find a row by title or details.
5. Open the row menu to **Open**, **Complete**, **Snooze 1 hour**, **Snooze tomorrow**, or **Snooze next week**.
To insert a break or a new task:
1. Hover a row and select the plus control on the left seam.
2. Choose **Add Break** or **Create Task**.
3. For a break, enter **Length (minutes)** in **Add break**. Breaks reserve time and are not timed as work. Use **Edit break** or **Remove break** from the row menu later.
## Promote Overflow and triage
1. Open **Overflow** if it is collapsed.
2. Use **Search overflow...** when the list is long.
3. Select **Today** on a row to put that item on Today's List.
4. In **Up Next**, select **Coming up** to preview the next planned item. Select **Suggested** to insert that triage pick at the front of Today, or dismiss it with the close control.
5. In the side panel, open **Escalations**, **Mentions**, or **Tickets**. Select a row to handle it. **Clear all** removes mentions from My Day.
**Watching** is follow-only. **Overseeing and Delegated** is a management pulse for exceptions, not a full assignment list.
## Review Timeline
1. Select **Timeline**.
2. Confirm the date in the header. Use **Previous day**, the date control, **Next day**, or **Today**.
3. Read **Activity** for completions, assignments, replies, comments, and other events from that date.
4. Read **Time tracked** for time recorded that day.
Empty states are **No activity yet** and **No tracked time**.
## Expected result
- Right Now shows the item you started or the next ready item.
- Today's List order matches the sequence you set.
- Promoted Overflow rows appear on Today's List and count toward capacity.
- Snoozed rows leave Today's List for the chosen window.
- Timeline shows activity and tracked time for the date you selected.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Today's List shows **Your day is clear** | Nothing is planned for today | Select **Today** on an Overflow row, or open an item from **Escalations**, **Mentions**, or **Tickets** |
| **Ready to start** is missing | Time is tracking automatically, or nothing is on Today's List | Use **Up first** when it appears, or add an item to Today's List |
| Capacity is amber | Planned Today time is over the available window | Snooze or leave extra items in Overflow so the plan matches the day |
| **No work schedule configured** | Your work hours are not set | Ask an administrator to add your work schedule |
| **Team Command** or **Agency Pulse** is missing | Those tabs need Owner, Admin, or the matching Dashboard permission | Stay on **My Workday**, or ask an owner to grant the Dashboard permission |
| You cannot complete the item | The task or ticket permission is missing | Ask an owner to grant **Edit Processes** or the matching ticket permission |
## Related articles
- [My Day overview](https://www.agencytitan.com/help/my-day/overview/): Understand My Day, Today's List, Overflow, triage, and Timeline so you can plan and work assigned items for today.
- [Work a task](https://www.agencytitan.com/help/tasks/work-a-task/): Work the current stage, update task details, complete required fields, and move a task through its configured stages.
- [Find and work tickets](https://www.agencytitan.com/help/tickets/find-and-work-tickets/): Use inboxes, quick filters, statuses, departments, client filters, and search to find and open tickets in the Tickets inbox.
- [Welcome to AgencyTitan](https://www.agencytitan.com/help/getting-started/welcome/): Sign in, find the main areas of the agency app, and choose a first-week path.
- [Escalations overview](https://www.agencytitan.com/help/escalations/overview/): Understand Escalations, how they differ from tickets and tasks, and how the inbox, statuses, and linked records fit together.
---
# Escalations overview
> Understand Escalations, how they differ from tickets and tasks, and how the inbox, statuses, and linked records fit together.
URL: https://www.agencytitan.com/help/escalations/overview/
import Screenshot from '../../../components/Screenshot.astro';
import DocsArticleCard from '../../../components/docs/DocsArticleCard.astro';
import DocsArticleCardGrid from '../../../components/docs/DocsArticleCardGrid.astro';
import AppPath from '../../../components/docs/AppPath.astro';
An **escalation** flags a ticket, task, client, or client note that needs a higher-priority path. It is its own record. It does not replace the linked ticket or task.
## Who this is for
Agency team members who raise or work flagged issues. Opening **Escalations** requires **Manage Escalations**. If your access is limited to assigned escalations, the list shows only those you can act on. Owners, Admins, and users granted All access see the full inbox.
Raising an escalation from a ticket, task, or client uses **Escalate…** on that record. You do not need the Escalations page open to create one.
## Open Escalations
1. Sign in to the agency app.
2. Open **Escalations** ().
3. On a wide screen, the first open row opens in the detail pane. On a narrower screen, select a row to open it.
Breadcrumb: Dashboard, then **Escalations**, then the linked record name.
## How the inbox is organized
| Area | What it is for |
| --- | --- |
| **Search escalations...** | Find a row by the linked record or details. |
| **Open** | Active escalations. The badge counts rows that are not closed. |
| **Resolved** | Closed escalations, including resolved and dismissed. |
| **Filters** | Narrow by user (when you can see all), priority, or type. |
| List | One card per escalation, with status, priority, and type. |
| Detail | Reason, notes, actions, comments, and the **Details** rail. |
Empty **Open** shows **All caught up!** and **No active escalations require your attention.** Empty **Resolved** shows **No escalations found**. A search miss shows **No matching escalations**.
Type filter values include **Ticket**, **Task**, **Client**, and **Client Note**. Task stage rows use **Task (stage)** or **Task (substage)**.
## Escalation versus ticket versus task
| Record | What it is |
| --- | --- |
| **Ticket** | An incoming request or conversation. Work it in **Tickets**. |
| **Task** | Planned work from a process type. Work it in **Tasks**. |
| **Escalation** | A flag on one of those records (or a client or note) when it needs a supervisor path. |
Complete the linked work on the ticket or task. Use the escalation to acknowledge, resolve, or dismiss the flag, add comments, and keep the right people involved.
## How an escalation is created
Someone selects **Escalate…** on a ticket, task, client, or client note. The modal is **Escalate to Supervisor**.
Required: **Reason**. Optional: **Priority**, **Notes**, and **Screen Recording**. Confirm with **Escalate**.
The form shows **Escalating:** and, when routing is known, **Will be sent to:**. The app assigns one primary assignee from your agency's escalation settings.
Automations and ticket policy can also create an escalation. Those rows still appear in this inbox.
Default reasons include **Blocked / Cannot Proceed**, **Overdue / Missing Deadline**, **Needs Supervisor Review**, **Need Clarification**, **Customer Complaint**, **Urgent Issue**, and **Other**. Your agency can change labels in settings.
## Statuses and actions
Default statuses are **Open**, **Acknowledged**, **Resolved**, and **Dismissed**. Your agency can rename them. The **Open** tab still groups active rows. The **Resolved** tab groups closed rows.
On an active escalation you can act on:
- **Acknowledge** while it is still open. This marks that someone has taken it.
- **Resolve** when the issue is handled. Enter **Resolution Notes**.
- **Dismiss** when it should not stay open. Enter **Reason for dismissal**.
Closed rows keep **Resolution** or **Dismissal Reason** on the detail.
## Details rail and linked record
The **Details** rail shows **Status**, **Priority**, **Tags**, **Entity type**, and **Created**. **People** lists **Escalated by**, **Primary assignee**, and other participants. Use **Add person** to open **Add Participant**. **AI Summary** can **Generate** or **Refresh** a summary. **Recommendations** appear when the submitter included them.
Select **Open Ticket**, **Open Task**, or the matching entity control to work the linked record. Escalations in the My Day side panel also open a peek. They do not add a Today's List row. See [Work your day](/help/my-day/work-your-day/).
## Settings
Statuses, priorities, tags, and routing defaults live in **Settings**, then **Agency**, then **Escalations** (). Opening that page requires settings access. Daily work stays on **Escalations**.
## Guides in this category
## Related articles
- [Welcome to AgencyTitan](https://www.agencytitan.com/help/getting-started/welcome/): Sign in, find the main areas of the agency app, and choose a first-week path.
- [Work an escalation](https://www.agencytitan.com/help/escalations/work-an-escalation/): Find an escalation, acknowledge or close it, add people, comment, and open the linked ticket or task.
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [My Day overview](https://www.agencytitan.com/help/my-day/overview/): Understand My Day, Today's List, Overflow, triage, and Timeline so you can plan and work assigned items for today.
---
# Work an escalation
> Find an escalation, acknowledge or close it, add people, comment, and open the linked ticket or task.
URL: https://www.agencytitan.com/help/escalations/work-an-escalation/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use **Escalations** to take a flagged issue, keep the right people involved, and close the flag when the linked work is handled.
## Who this is for
Agency team members granted **Manage Escalations**. If your access is limited to assigned escalations, you can act on rows you are assigned to or involved in. Owners, Admins, and users granted All access can work the full inbox.
## Before you begin
- Open **Escalations** ().
- Stay on **Open** unless you need a closed row.
- Completing the linked ticket or task still uses the same permissions as working that record.
## Find an escalation
1. Confirm **Open** is selected to see active rows.
2. Use **Search escalations...** when you know part of the linked record.
3. Select **Filters** to narrow by user (when you can see all), priority, or type. Use **Clear** to reset.
4. Select **Resolved** only when you need a closed escalation.
5. Select a row to open the detail.
## Acknowledge, resolve, or dismiss
1. Read **Reason** and **Notes**. Policy rows can show **Policy Findings** instead of notes.
2. Select **Acknowledge** while the escalation is still open. The button leaves after that.
3. When the issue is handled, select **Resolve**. In **Resolve Escalation**, enter **Resolution Notes**, then confirm **Resolve**.
4. If it should not stay open, select **Dismiss**. In **Dismiss Escalation**, enter **Reason for dismissal**, then confirm **Dismiss**.
Closed rows move to the **Resolved** tab. The detail keeps **Resolution** or **Dismissal Reason**.
## Comment and update people
1. Use **Comments** on the detail to leave a note on the escalation.
2. Open the **Details** rail if it is collapsed.
3. Review **Escalated by** and **Primary assignee**. Select the assignee to change it when you can act.
4. Select **Add person** to open **Add Participant**. Search by name, email, or department, then select **Add**.
5. Use **Remove participant** on a person who is not the primary assignee.
6. Select **Generate** or **Refresh** under **AI Summary** when you want a summary.
7. If **Recommendations** are present, select one to mark it.
## Open the linked record
1. Select **Open Ticket**, **Open Task**, or the matching open control in the header or **Entity type** row.
2. Work the ticket or task there. Status changes on that record do not close the escalation by themselves.
3. Return to **Escalations** and **Resolve** or **Dismiss** the flag when the path is finished.
Escalations in the My Day side panel open a peek of the same record. They do not add a Today's List row.
## Raise an escalation
1. Open the ticket, task, client, or client note.
2. Select **Escalate…**. On some surfaces the control is **Escalate**.
3. In **Escalate to Supervisor**, choose a **Reason**.
4. Set **Priority** if needed. Add **Notes** and an optional **Screen Recording**.
5. Confirm **Escalate**.
## Expected result
- The row you selected is open in the detail pane.
- Acknowledged rows stay on **Open** and no longer show **Acknowledge**.
- Resolved and dismissed rows appear under **Resolved**.
- Comments and participants stay on the escalation.
- The linked ticket or task opens from the escalation without removing the flag.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Escalations** is missing from navigation | **Manage Escalations** is not granted | Ask an owner to grant **Manage Escalations** |
| The list is shorter than you expect | Your access is limited to assigned escalations, or **Filters** are on | Select **Clear**, or ask for All access if you should see every row |
| **Acknowledge** is missing | The row is already acknowledged or closed | Use **Resolve** or **Dismiss**, or open **Resolved** for closed rows |
| You see **Escalation Not Found** | The row was removed, or you cannot view it | Return with **Back to Escalations**, or open a notification only if you are involved |
| **All caught up!** is showing | There are no active escalations for your access | Stay on **Open**, or check **Resolved** for closed rows |
| You cannot finish the linked work | The ticket or task permission is missing | Ask an owner to grant the matching ticket or process permission |
## Related articles
- [Escalations overview](https://www.agencytitan.com/help/escalations/overview/): Understand Escalations, how they differ from tickets and tasks, and how the inbox, statuses, and linked records fit together.
- [Find and work tickets](https://www.agencytitan.com/help/tickets/find-and-work-tickets/): Use inboxes, quick filters, statuses, departments, client filters, and search to find and open tickets in the Tickets inbox.
- [Work a task](https://www.agencytitan.com/help/tasks/work-a-task/): Work the current stage, update task details, complete required fields, and move a task through its configured stages.
- [Work your day](https://www.agencytitan.com/help/my-day/work-your-day/): Start the next My Day item, reorder Today's List, promote Overflow, snooze work, and review Timeline.
---
# Chat overview
> Understand Chat, conversation types, and how internal messages differ from tickets and the client portal.
URL: https://www.agencytitan.com/help/chat/overview/
import Screenshot from '../../../components/Screenshot.astro';
import DocsArticleCard from '../../../components/docs/DocsArticleCard.astro';
import DocsArticleCardGrid from '../../../components/docs/DocsArticleCardGrid.astro';
import AppPath from '../../../components/docs/AppPath.astro';
**Chat** is internal messaging for your agency team. Use it to talk with teammates in a channel or a direct message. It does not replace a ticket, and client portal contacts cannot see it.
## Who this is for
Agency team members granted **View Chat**. Sending a message or starting a direct message also requires **Send Chat Messages**. Creating a named channel requires **Manage Chat Channels**. Owners and Admins have full access.
## Open Chat
1. Sign in to the agency app.
2. Open **Chat** (), or select the header **Chat** control and then **Open full chat**.
3. On a wide screen, the **Conversations** list stays on the left. On a narrower screen, open that list from the menu control.
The left list header reads **AgencyTitan Chat**. When nothing is unread, it shows **Everything is caught up**.
## How conversations are organized
| Area | What it is for |
| --- | --- |
| **Search conversations, departments, and clients** | Find a conversation, department, or client by name. |
| **Pinned** | Conversations you pinned for yourself. |
| **Channels** | Named channels your team created. |
| **Department channels** | One conversation per department you can see. |
| **Client channels** | One conversation per client you can see. |
| **Direct messages** | One-to-one conversations with a teammate. |
The plus control opens **New Conversation**. Choose **Direct message** or **Channel**.
An open conversation shows a type badge: **Channel**, **DM**, **Department**, or **Client**.
Department and client rows can appear before anyone has sent a message. Selecting one opens that conversation.
## Chat versus a ticket versus the portal
| Surface | What it is |
| --- | --- |
| **Chat** | Internal team messages. Work them in **Chat**. |
| **Ticket** | An incoming request or customer conversation. Work it in **Tickets**. |
| **Client portal** | What an external contact can see for a linked client. |
A **Client** conversation in Chat is still internal. It is the same surface as the **Channel** tab on a client record. Portal users do not see those messages.
Chat does not create a ticket. A ticket reply does not appear in Chat.
## What you can do in a conversation
When a conversation is open you can:
- Send a message from the composer. An empty channel shows **Start the channel**.
- Attach files from the composer or by dropping them on the timeline.
- Watch a named channel, or unwatch it, from **Watch channel** / **Unwatch channel**.
- Pin or unpin the conversation for yourself.
- Open **Conversation details** to see **Members**.
- Reply in a **Thread** to keep a side discussion off the main timeline.
- Use **Minimize to popup** to keep the conversation in a smaller window.
The header launcher also has **Recent**, **DMs**, **Channels**, and **Online**, plus **New DM**.
## Guides in this category
## Related articles
- [Welcome to AgencyTitan](https://www.agencytitan.com/help/getting-started/welcome/): Sign in, find the main areas of the agency app, and choose a first-week path.
- [Start a conversation](https://www.agencytitan.com/help/chat/start-a-conversation/): Open Chat, start a direct message or named channel, send a message, and pin or watch a conversation.
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
---
# Start a conversation
> Open Chat, start a direct message or named channel, send a message, and pin or watch a conversation.
URL: https://www.agencytitan.com/help/chat/start-a-conversation/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use **Chat** to start an internal conversation with a teammate or a group, then keep that thread where the rest of the team can find it.
## Who this is for
Agency team members granted **View Chat**. Starting a direct message and sending a message also require **Send Chat Messages**. Creating a named channel requires **Manage Chat Channels**. Owners and Admins have full access.
## Before you begin
- Open **Chat** ().
- Confirm you can see **AgencyTitan Chat** and the conversation list.
- Have the teammate, department, or client name ready if you are searching.
## Start a direct message
1. Select the plus control next to **AgencyTitan Chat**.
2. Keep **Direct message** selected in **New Conversation**.
3. Use **Search team members** to find the person.
4. Select that teammate, then select **Create**.
5. Type in the composer. The placeholder reads **Message** plus that person's name.
6. Send the message.
The conversation appears under **Direct messages**. The header badge reads **DM**.
If the search list is empty, Chat shows **No team members found.**
You can also start a DM from the header **Chat** control with **New DM**, or by selecting another person in **Conversation details**.
## Create a named channel
1. Select the plus control.
2. Select **Channel** in **New Conversation**.
3. Enter a **Channel name**.
4. Choose **Visibility**: **Public** or **Private**.
5. Optionally use **Add members** and **Search team members** to include people now.
6. Select **Create**.
7. Type in the composer. The placeholder reads **Message #** plus the channel name.
8. Send the first message. If the timeline is empty, the page shows **Start the channel**.
The conversation appears under **Channels**. The header badge reads **Channel**.
Creating the channel requires **Manage Chat Channels**. If **Create** does not complete, ask an Owner or Admin to grant that permission or create the channel.
## Open a department or client conversation
1. Use **Search conversations, departments, and clients** when you know the name.
2. Select the row under **Department channels** or **Client channels**.
3. Send a message if the conversation is empty.
The header badge reads **Department** or **Client**. A client conversation is also available from that client's **Channel** tab. It stays internal. Portal users do not see it.
## Pin, watch, and reply in a thread
1. Open the conversation.
2. Select **Pin conversation** to add it to **Pinned**. Select **Unpin conversation** to remove it.
3. On a named channel, select **Watch channel** to follow it, or **Unwatch channel** to stop.
4. Hover a message and use the reply control to open **Thread**.
5. Type in **Reply in thread...** and send.
6. Select **Show details sidebar** when you need **Members**. Select **Hide details sidebar** to close it.
**Minimize to popup** keeps the same conversation in a smaller window. It does not create a second conversation.
## Expected result
- The conversation is in the matching sidebar section.
- Your message appears on the timeline.
- A thread reply stays in **Thread** and shows a reply count on the original message.
- Pinning changes only your **Pinned** list.
## Troubleshooting
| Symptom | What to check |
| --- | --- |
| **Chat** is missing from navigation or the header | You need **View Chat**. |
| **Create** does not start a named channel | You need **Manage Chat Channels**. |
| The composer does not send | You need **Send Chat Messages**, and you must have a conversation open. Default member levels may not include it. |
| The composer still says **Choose a conversation to start messaging** | Select a conversation first. |
| A department or client row is listed but empty | Select it, then send the first message. Empty conversations show **Start the channel**. |
| A client contact cannot find Chat | Expected. Chat is internal. Use the client portal or a ticket for external conversation. |
| A ticket reply does not appear in Chat | Expected. Tickets and Chat are separate. |
## Related articles
- [Chat overview](https://www.agencytitan.com/help/chat/overview/): Understand Chat, conversation types, and how internal messages differ from tickets and the client portal.
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Invite your team](https://www.agencytitan.com/help/getting-started/invite-your-team/): Invite agency teammates from Users so they can sign in to the agency app. This is not a client portal invite.
---
# Find a client's tasks and tickets
> Open the Tasks and Tickets views on a client record, understand what appears there, and continue work in the main task or ticket area.
URL: https://www.agencytitan.com/help/clients/client-linked-work/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Open **Tasks** or **Tickets** from a client record to work in that client's context. These views show records linked to the current client; they do not create a second copy of the task or ticket.
## Who this is for
Agency team members who deliver client work or handle client requests. You need access to the client plus the corresponding task or ticket permission.
## Before you begin
- Open the correct client from **Clients** ().
- Confirm the task or ticket is linked to that client if you expect it to appear.
## Open a client's tasks
1. Open the client record.
2. Select **Tasks** ().
3. Use the dashboard for a summary, or choose **Active**, **Past due**, or **All** in the right sidebar.
4. Select a task type in the sidebar to narrow the list further.
The client Tasks view includes volume and status summaries, recent work and comments, and task-type navigation. Select **New Task** when you have permission to create work for this client.
For the full task guide, see [Find tasks](/help/tasks/find-tasks/) and [Work a task](/help/tasks/work-a-task/).
## Open a client's tickets
1. Open the client record.
2. Select **Tickets** ().
3. Select a ticket to open its conversation when tickets are present.
4. Select **Create Ticket** to start a request already linked to this client.
The empty state says **Tickets linked to this client will appear here.** The page also exposes **Client Overrides** when your permissions and ticket setup make those controls available.
See [Find and work tickets](/help/tickets/find-and-work-tickets/) to use the main inbox. See [Assign and update a ticket](/help/tickets/assign-and-update-a-ticket/) to link or change a ticket's client from the ticket details panel.
## How client links behave
- A client-linked task appears in this client's Tasks view and in the main Tasks area according to your filters and permissions.
- A client-linked ticket appears in this client's Tickets view and in the main Tickets inbox according to inbox access and filters.
- Changing the client on a ticket moves that ticket's client context; it does not duplicate the ticket.
- Program schedules can create tasks for an enrolled client. See [Add a program to a client](/help/clients/client-programs/).
## Expected result
- The client Tasks view shows only work associated with the current client.
- The client Tickets view shows only tickets linked to the current client.
- Opening a record continues into the same task or ticket your team uses elsewhere in AgencyTitan.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Tasks** or **Tickets** is missing | You lack the corresponding view permission | Ask a workspace owner to review your task or ticket permissions |
| Expected task is missing | It is linked to another client or excluded by the selected task view | Choose **All**, clear narrower choices, and verify the client link |
| Expected ticket is missing | It is not linked to this client or your inbox access excludes it | Check the ticket's **Client** field and inbox access |
| Empty state appears | No linked records match this client and view | Create or link a record, or choose a broader view |
| A ticket moved out of this client view | Its **Client** field changed | Open the ticket from the main inbox and review its details |
## Related articles
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Add a program to a client](https://www.agencytitan.com/help/clients/client-programs/): Subscribe a client to a published program and review the visible billing, date, task pick-up, one-time task, and backfill choices before saving.
- [Find tasks](https://www.agencytitan.com/help/tasks/find-tasks/): Use Tasks queues, process views, search, stage and assignee filters, tables, and boards to find work.
- [Find and work tickets](https://www.agencytitan.com/help/tickets/find-and-work-tickets/): Use inboxes, quick filters, statuses, departments, client filters, and search to find and open tickets in the Tickets inbox.
- [Assign and update a ticket](https://www.agencytitan.com/help/tickets/assign-and-update-a-ticket/): Change ticket status, priority, assignees, client, department, tags, privacy, and inbox from the ticket view.
---
# Work with client notes and folders
> Create rich-text notes on a client record, find important notes, and organize them with folders, pins, favorites, types, tags, and attachments.
URL: https://www.agencytitan.com/help/clients/client-notes-and-folders/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use **Notes** on a client record for context your team should keep with that client. The page combines a searchable note list, optional folders, and a rich-text editor.
## Who this is for
Agency team members who record or review client context. Viewing notes requires note access. Creating a note or folder requires permission to create notes.
## Before you begin
- Open the correct client from **Clients** ().
- Decide whether the note belongs in a folder or needs a type, tag, pin, favorite, or attachment.
## Open client notes
1. Open a client record.
2. Select **Notes** in the client navigation ().
The left side contains search, filters, folders, and note cards. The right side is the note editor.
## Create a note
1. Enter a title in **New note title...**.
2. Write the note under **Start writing...**.
3. Use the editor toolbar for headings, lists, links, alignment, or an attachment when needed.
4. Optionally choose a note type, pin the note, mark it as a favorite, or add tags from the controls beside the title.
5. Select **Create Note**.
The page shows **Start typing on the right to create your first note** when the client has no notes yet.
## Find and filter notes
- Enter text in **Search notes...** to narrow the note cards.
- Select **Pinned** to show only pinned notes.
- Select **Favorites** to show only favorite notes.
- Use a note type filter when your workspace has note types configured.
- Select a folder to show the notes inside it.
## Create a folder
1. Select **Folders** to open the folder panel.
2. Select the plus button beside **Folders**.
3. Enter a folder name.
4. Select **Create Folder**.
Select **All Notes** to remove the folder filter. Open a note's actions when you need to move that note into a folder.
## Expected result
- A created note appears in the note cards and opens in the editor.
- Search and filters narrow the visible notes without changing them.
- A created folder appears under **Folders** and can be used to organize notes for this client.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Notes** is missing | You cannot view notes or the client | Ask a workspace owner to review your client and note permissions |
| **Create Note** is unavailable | Title or content is missing, or you cannot create notes | Enter the note content and ask a workspace owner to review **Create Notes** |
| Folder panel is hidden | **Folders** is off | Select **Folders** above the note list |
| A note is missing | Search, folder, type, pinned, or favorite filter excludes it | Clear search and filters, then select **All Notes** |
| Attachment does not appear | Upload is incomplete or the file could not be accepted | Wait for the upload to finish, or remove the file and try again |
## Related articles
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Create a client](https://www.agencytitan.com/help/clients/create-a-client/): Add a client record from the Clients list using Client Name, Client Profile, and any agency-required fields.
- [Find a client's tasks and tickets](https://www.agencytitan.com/help/clients/client-linked-work/): Open the Tasks and Tickets views on a client record, understand what appears there, and continue work in the main task or ticket area.
---
# Client portal
> Understand how the signed-in client portal gives external contacts access to shared client work, tickets, billing history, and account areas.
URL: https://www.agencytitan.com/help/clients/client-portal/
import AppPath from '../../../components/docs/AppPath.astro';
The **client portal** is a separate signed-in surface for contacts outside your agency. It gives each portal user a focused view of the client accounts they can access without opening the internal agency app.
## Portal users and agency team members
| User type | Where they work | What the access is for |
| --- | --- | --- |
| **Agency team member** | Agency app | Manage clients, delivery work, tickets, team access, and agency settings according to their role. |
| **Portal user** | Client portal | Review shared client work, contact the agency through tickets, and use the portal account areas available to them. |
A portal user is not an internal team member. Inviting a contact to the portal does not add that person to your agency team or give them access to the agency app.
## What portal users can access
The exact portal navigation can vary by agency. Available portal areas include:
- **Dashboard** for work the agency has shared for the selected client. Portal users can open shared stages to review progress or complete requested work.
- Shared **Views** that the agency adds to portal navigation.
- **Tickets** for opening a support request, following its status and conversation, and replying to the agency team.
- **My Profile** for contact details, login email, password, profile photo, and default account.
- **Billing** for the selected client's account balance, invoices, and payment history.
- **Users** for viewing the selected client's portal users and inviting another portal user.
A portal user linked to more than one client account can switch between those linked accounts. Each portal page stays within the selected client account.
## What stays inside the agency app
Portal access does not expose:
- Client records the portal user is not linked to.
- Internal ticket notes or agency-only ticket details.
- Agency settings, internal team tools, or other agency-only client work.
- Another agency's portal or client data.
## Access and portal URLs
An agency team member grants access from **Users** on a client record. Start in **Clients** (), open the client, then follow [Invite a client portal user](/help/clients/invite-a-client-portal-user/) for the invitation steps.
Portal URLs use the agency slug pattern `https://app.agencytitan.com/:slug/portal`, where `:slug` identifies the agency portal. Signed-in child pages add paths such as `/profile`, `/billing`, `/users`, or `/tickets`. The contact's account must have access to that agency portal.
## Portal tickets and the system inbox
Tickets created through the client portal enter the **Client Portal** system inbox. This built-in inbox receives portal conversations and cannot be recreated as a normal connected inbox.
Agency team members work with portal requests alongside other tickets in the agency app. Portal users see only the tickets available to their linked client accounts, without internal notes. See [Tickets overview](/help/tickets/overview/) for the agency ticket model.
## Related articles
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Invite a client portal user](https://www.agencytitan.com/help/clients/invite-a-client-portal-user/): Invite a client contact to the client portal so they can sign in and access this client's workspace. Send a client portal invite from the Client Portal Users page.
- [Invite your team](https://www.agencytitan.com/help/getting-started/invite-your-team/): Invite agency teammates from Users so they can sign in to the agency app. This is not a client portal invite.
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
---
# Add a program to a client
> Subscribe a client to a published program and review the visible billing, date, task pick-up, one-time task, and backfill choices before saving.
URL: https://www.agencytitan.com/help/clients/client-programs/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
A **program** is a published service package that can create scheduled tasks for a client and, when configured, define how that client is billed. Add a program from the client's **Programs** page and review the dates and billing choices shown in the drawer before saving.
## Who this is for
Agency team members who enroll clients in published programs. You need access to the client and permission to edit it. Billing choices also depend on the program and your workspace's billing setup.
## Before you begin
- The client record exists and is the correct account.
- A program has been created and published in **Settings**, then **Programs**.
- The published program has the billing frequencies and prices your agency intends to offer, when client billing is enabled.
- You know the service start date and when scheduled tasks should begin.
## Open the client's Programs page
1. Open a client record.
2. Select **Programs** in the client navigation ().
3. Use **Active**, **Past**, or **All** to review existing program subscriptions.
4. Select **Add Program**.
If no published program is available, AgencyTitan directs you to create a program first. Draft programs do not appear in the add flow.
## Select a program and billing source
1. In **Add Program to Client**, select a published program.
2. Under **Billing Source**, choose the option available for this subscription:
- **AgencyTitan handles billing** uses the frequencies and prices configured on the program.
- **Billed externally** observes a connected external subscription. The drawer shows the provider and subscription choices when this option is available.
3. For AgencyTitan billing, select a **Billing Frequency** and review the price.
4. Choose a **Tax rate** when one applies.
The exact billing controls vary with the selected program and connected payment services. Document only the choices shown for the client you are enrolling.
## Set dates and task behavior
Complete the visible scheduling choices:
- **Start Date** is the subscription's retention and schedule anchor. It can also be the billing anniversary for AgencyTitan billing.
- **End Date** is optional. The subscription expires when this date is reached.
- **Task pick-up date** controls when recurring scheduled tasks begin. A past date can catch up through today; a future date waits.
- **First charge date** appears for AgencyTitan billing. External billing shows that AgencyTitan does not set a charge date.
- **Create one-time tasks** controls setup-style one-time tasks included by the program.
- **Open backfill wizard after adding** opens an optional review of older periods after the program is added.
## Review before saving
1. Select **Review exactly what will happen**.
2. Review the task pick-up date, first charge, one-time task choice, and the first forward date for each configured schedule.
3. Close the preview and correct the drawer choices if anything is unexpected.
4. Select **Add Program**.
## Expected result
- The program appears under **Active** with its status, billing frequency and amount, start date, and end state.
- Scheduled tasks follow the program's configured schedules and the selected task pick-up date.
- Billing follows the selected source and frequency shown during enrollment.
See [Client-linked work](/help/clients/client-linked-work/) to find tasks created for the client.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Add Program** is missing | You cannot edit the client | Ask a workspace owner to review your client permissions |
| Program is not listed | It is still a draft or is unavailable to this workspace | Publish the program in **Settings**, then reopen the add drawer |
| Billing frequency is empty | No priced frequency is enabled on the program | Configure an offered frequency and price in the program's pricing settings |
| External subscription cannot be selected | The provider is not connected or no eligible subscription is available | Connect the provider or choose AgencyTitan billing when appropriate |
| **Add Program** stays disabled | A required program, frequency, subscription, or date is missing | Complete every required choice marked with an asterisk |
| Dates do not produce the expected tasks | Task pick-up and start date have different purposes | Open **Review exactly what will happen** and check each schedule before saving |
## Related articles
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Find a client's tasks and tickets](https://www.agencytitan.com/help/clients/client-linked-work/): Open the Tasks and Tickets views on a client record, understand what appears there, and continue work in the main task or ticket area.
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
---
# Create a client
> Add a client record from the Clients list using Client Name, Client Profile, and any agency-required fields.
URL: https://www.agencytitan.com/help/clients/create-a-client/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Create a client record from the **Clients** list. Enter **Client Name**, choose **Client Profile**, complete any required fields your agency configured, then open the new client on its **Info Sheet**.
## Who this is for
Agency team members who add client records. Requires the **Create Clients** permission. Without it, **Add Client** does not appear.
## Before you begin
- At least one **Client Profile** template exists for your agency.
- You are signed in to the correct agency workspace.
New to clients and profiles? See [Core Concepts](/help/getting-started/core-concepts/).
## Steps
1. Open **Clients** ().
2. Select **Add Client**.
The **Add Client** modal opens. **Client Name** and **Client Profile** are required.
3. Enter **Client Name**.
4. Open **Client Profile** and choose the template for this client.
5. Fill any additional required fields your agency configured on the client profile.
These fields appear after the profile loads. **Create Client** stays disabled until required data is valid and field loading finishes.
6. Select **Create Client**.
## Expected result
- The new client opens on its **Info Sheet**.
- **Status** defaults to **Active Client** and **Priority** defaults to **Normal**.
- The client appears in your **Clients** list when you return to it.
## Optional / variants
- Use **Bulk Import** on the **Clients** page when you need to add many records at once.
- After creation, add contacts, notes, and other details from the client **Info Sheet**.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Add Client** is missing | You lack **Create Clients** | Ask a workspace owner to grant **Create Clients** |
| **Create Client** stays disabled | Required fields are empty, invalid, or still loading | Enter **Client Name**, choose **Client Profile**, and complete any agency-required fields. Wait for **Loading required fields...** to finish |
| Extra required fields appear | Your agency marked fields as required on the client profile | Fill those fields before creating the client |
| **Creation Failed** / **No agency selected** | No active agency workspace | Switch to the correct agency or sign in again |
| **Create Client** never enables after choosing a profile | Field validation failed on a required custom field | Check inline errors on required fields below the profile selector |
## Related articles
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Find and organize clients](https://www.agencytitan.com/help/clients/find-and-organize-clients/): Search and filter clients on the Clients list, customize columns, sort results, pin important accounts, and switch list layouts.
- [Update a client](https://www.agencytitan.com/help/clients/update-a-client/): Edit client details on the Info Sheet and Client Settings, change status and priority from the list, update branding and slug, and reassign the Client Profile template.
- [Invite a client portal user](https://www.agencytitan.com/help/clients/invite-a-client-portal-user/): Invite a client contact to the client portal so they can sign in and access this client's workspace. Send a client portal invite from the Client Portal Users page.
- [Delete a client](https://www.agencytitan.com/help/clients/delete-a-client/): Remove a client from normal Clients lists with typed DELETE confirmation. Delete one client from the record page or several from the Clients list.
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
- [Welcome to AgencyTitan](https://www.agencytitan.com/help/getting-started/welcome/): Sign in, find the main areas of the agency app, and choose a first-week path.
---
# Create custom client fields
> Add custom fields on Client Fields so client records can store the data your agency needs, then place them on a Client Profile layout.
URL: https://www.agencytitan.com/help/clients/create-custom-client-fields/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Create **custom client fields** on **Client Fields** so every client record can store the data your agency needs. Choose a field type, configure the label and settings, then place the field on a **Client Profile** layout when you want it to appear on the client page.
## Who this is for
Agency team members who define client data in **Settings**. You need access to **Settings** so **Client Fields** appears under **Clients**. Without that access, the page may not be available.
## Before you begin
- You are signed in to the correct agency workspace.
- You know what data the field should collect (for example a short label, email, or a reusable structured record).
New to clients and profiles? See [Clients overview](/help/clients/overview/) and [Core Concepts](/help/getting-started/core-concepts/).
## Steps
1. Open **Settings**, then **Clients**, then **Fields** ().
The page title is **Client Fields**. Use **Add Folder**, **Bulk Create**, and **+ New Field** from the header. Search with **Search client fields...**. The list columns are **Field Name**, **Type**, **Shortcode**, and **Required**.
2. Select **+ New Field**.
**Select Field Type** opens with a **Client** badge. Categories include **Basic Info**, **Data & Numbers**, **Selection & Choices**, **Content & Text**, **Advanced**, **Custom Objects**, and **References**. The modal reports **48 field types available**. Use **Cancel** to close without creating a field.
3. Choose a field type.
Under **Basic Info**, common options include **Short Text**, **Email**, **Phone Number**, **Address**, and **Hyperlink**.
Pick the category that matches the data you need:
- **Simple fields** store one configured value (or multiple values when you enable that option), such as short text, email, or phone.
- **Simple List** stores an ordered list of text items. When editing the field, drag an item's grip handle or use its Move left/right buttons (Move up/down for a vertical list) to change the order; the order is saved with the record.
- **Custom Objects** lists the reusable object types already defined in your workspace, plus **+ Create Custom Object**. Your workspace list will differ from other agencies.
- **References** link to other records. Options include **Client**, **User**, **Department**, **Program**, **Task**, **Client Field**, **Client Service**, and **Custom Object Reference**.
:::note
A **custom object** field stores a structured reusable record. A **Custom Object Reference** links to an existing custom object record instead of defining that structure again.
:::
4. Configure the field, then select **Create Field**.
For **Short Text**, the **Configure Short Text** screen includes:
- **Field Label** (required)
- **Icon**
- **Placeholder Text**
- **Min Length** (default `0`) and **Max Length** (default `255`)
- **Required field**
- **Allow multiple values**
- **Default Value** (optional)
- **Help Text**
- **Include in AI Context** (on by default). Turn this off to exclude the field from automatic AI record-context loading. This does not affect search indexing or explicit lookups.
- **Back**, **Cancel**, and **Create Field**
AgencyTitan generates the field key from the label. That key becomes the shortcode form `{{client.field_key}}` in the fields list after creation.
## Expected result
- The new field appears on **Client Fields** with its **Field Name**, **Type**, and generated **Shortcode**.
- Creating the field definition does not place it on a client page by itself. Open the **Client Profile** builder to add it to a layout when you want it visible there.
## Organize and find fields
- **Add Folder** groups related fields in the list.
- **Search client fields...** filters by name as you type.
- **Bulk Create** opens when you need to add several fields in one pass.
- Turn on **Show System Fields** to include built-in fields. System rows show a **System** badge and a fixed shortcode, for example **Client Name** with `{{client.client_name}}` and **Required**.
## Place fields on a Client Profile
After you create a field, open a **Client Profile** in the builder when you want it on the client page. With **Fields** selected, the palette groups **CLIENT FIELDS**, **SYSTEM FIELDS**, and **AGENCY FIELDS**. Some system fields are marked **Read-only**.
Creating a field on **Client Fields** only adds the definition. Placement on a profile layout is a separate step.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Client Fields** is missing under **Settings** | You lack access to **Settings** | Ask a workspace owner to grant Settings access for your role |
| **+ New Field** is missing | You cannot manage field definitions | Ask a workspace owner to review your Settings access |
| **Create Field** stays unavailable | **Field Label** or another required setting is empty | Enter **Field Label** and complete required options for that field type |
| New field does not appear on a client page | The field is not on that **Client Profile** layout yet | Open the profile builder and place the field from **CLIENT FIELDS** |
| Custom object types look different than expected | Object types are defined per workspace | Use the types listed for your agency, or select **+ Create Custom Object** |
## Related articles
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Create a client](https://www.agencytitan.com/help/clients/create-a-client/): Add a client record from the Clients list using Client Name, Client Profile, and any agency-required fields.
- [Update a client](https://www.agencytitan.com/help/clients/update-a-client/): Edit client details on the Info Sheet and Client Settings, change status and priority from the list, update branding and slug, and reassign the Client Profile template.
- [Find and organize clients](https://www.agencytitan.com/help/clients/find-and-organize-clients/): Search and filter clients on the Clients list, customize columns, sort results, pin important accounts, and switch list layouts.
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
---
# Delete a client
> Remove a client from normal Clients lists with typed DELETE confirmation. Delete one client from the record page or several from the Clients list.
URL: https://www.agencytitan.com/help/clients/delete-a-client/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
**Delete a client** to remove that account from your normal **Clients** lists. The product labels this action **Delete** (not Archive). If you searched for **archive client**, that wording points to the same outcome here: the client no longer appears in day-to-day client lists.
This is a high-risk action that **cannot be undone in the app**. There is **no in-app restore**. Related tasks are **not** removed automatically.
## Who this is for
Agency team members who need to remove client records from the active roster. Requires the **Delete Clients** permission. Without it, **Delete** does not appear in **More actions** or bulk **Actions**.
## Before you begin
- The client record already exists. See [Create a client](/help/clients/create-a-client/) if you need to add one instead.
- You can open the client from **Clients** (). See [Find and organize clients](/help/clients/find-and-organize-clients/) for search and filters.
- Understand what stays behind: tasks linked to the client are **not** automatically deleted. See [What is not deleted](#what-is-not-deleted) before you confirm.
- You cannot bring a deleted client back through the app. Do not treat delete as something you can undo later from **Clients**.
- Only proceed when you are certain the client should leave active lists. Do not run these steps against production accounts for practice.
## Delete one client
From a client record:
1. Open **Clients** and select a client name to open its record.
2. In the page header, open **More actions** (⋯).
3. Select **Delete**.
4. The **Delete Client** modal opens. Review the copy carefully:
- **Are you sure you want to delete** followed by the client name?
- Amber **Note:** **Tasks associated with this client will not be automatically deleted.**
- Red instruction: **Type DELETE to confirm this action.**
:::danger[Do not confirm unless you mean it]
Typed confirmation is required because delete removes the client from active lists with no in-app undo. Cancel if you opened the modal by mistake.
:::
5. In **Type `DELETE` to confirm**, type the exact word **DELETE** (all caps). The placeholder reads **Type DELETE to confirm**. The field must stay empty until you deliberately type the word.
6. When **DELETE** matches exactly, **Delete Client** enables. Select **Delete Client** to confirm.
Close the modal with **Cancel**, the **X** control, or **Escape** to abort. No delete runs and the client stays in active lists.
## Bulk delete clients
To remove several clients from the list at once:
1. Open **Clients** ().
2. Select the checkbox on each client row you want to remove.
3. When one or more rows are selected, the toolbar shows **N selected** and an **Actions** menu.
4. Open **Actions** and select **Delete**.
5. The **Delete Clients** modal opens. Review the copy:
- **Are you sure you want to delete** followed by the count (for example **2 clients**)?
- Amber **Note:** **Tasks associated with these clients will NOT be automatically deleted.**
- Red instruction: **Type DELETE to confirm this action.**
:::danger[Bulk delete is all-or-nothing]
If your access is limited to assigned clients, bulk delete fails when **any** selected client is outside the clients you can manage. None of the selected clients are deleted.
:::
6. In **Type `DELETE` to confirm**, type **DELETE** exactly.
7. When the word matches, **Delete Clients** enables. Select **Delete Clients** to confirm.
Cancel with **Cancel**, **X**, or **Escape** to close without deleting.
## What happens
When delete succeeds:
- The client no longer appears in normal **Clients** lists or everyday client navigation.
- You cannot restore the client from inside the app.
- Related work such as tasks is not removed automatically. See [What is not deleted](#what-is-not-deleted).
## What is not deleted
Deleting a client does **not** automatically delete:
- **Tasks** associated with the client (the confirmation modal states this explicitly)
- Notes, files, tickets, tasks, portal users, billing history, or other linked records
Review linked work before you confirm. Update or reassign tasks separately if needed.
## Expected result
**Single client (from the client record):**
- The client disappears from normal **Clients** lists.
- You return to **Clients** ().
**Bulk delete (from the Clients list):**
- The selected clients disappear from the list after it refreshes.
- Clients you did not select remain.
**If delete does not complete:**
- The clients stay in the list.
- An error message explains why the action failed (for example, you do not have access to one of the selected clients).
## Cancel behavior
At any point before you select the enabled **Delete Client** or **Delete Clients** button:
- **Cancel**, **X**, or **Escape** closes the modal
- Nothing is deleted and the client remains in active lists
**Delete Client** / **Delete Clients** stays disabled until **DELETE** is typed exactly. Partial or lowercase text does not enable the button.
## Assigned clients and bulk delete
If your access is limited to assigned clients:
- **Single delete:** you can delete only clients assigned to you. Attempts on other clients fail.
- **Bulk delete:** if **any** selected client is outside the clients you can manage, the whole bulk delete fails and **no** selected clients are deleted.
Deselect clients outside your access, or ask a workspace owner with broader access to perform the delete.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Delete** is missing from **More actions** | You lack **Delete Clients** | Ask a workspace owner to grant **Delete Clients** |
| **Delete** is missing from bulk **Actions** | Missing **Delete Clients** or no rows selected | Confirm permission; select at least one client row |
| **Delete Client** / **Delete Clients** stays disabled | Confirmation text is not exact **DELETE** | Type **DELETE** in all caps with no extra spaces |
| Delete fails for one client | Client is outside the clients you can manage, or it is already gone from your list | Confirm you are assigned to the client and it still appears in your list |
| Bulk delete fails for a mixed selection | One or more selected clients are outside your access | Remove those clients from the selection and try again, or delete one client at a time |
| Client gone but tasks remain | Expected; tasks are not auto-deleted | Manage tasks separately on the **Tasks** views |
| Need the client back in active lists | No in-app restore | Deletion **cannot be undone in the app**; ask a workspace owner about your agency's data policies |
## Related articles
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Create a client](https://www.agencytitan.com/help/clients/create-a-client/): Add a client record from the Clients list using Client Name, Client Profile, and any agency-required fields.
- [Update a client](https://www.agencytitan.com/help/clients/update-a-client/): Edit client details on the Info Sheet and Client Settings, change status and priority from the list, update branding and slug, and reassign the Client Profile template.
- [Find and organize clients](https://www.agencytitan.com/help/clients/find-and-organize-clients/): Search and filter clients on the Clients list, customize columns, sort results, pin important accounts, and switch list layouts.
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
---
# Find and organize clients
> Search and filter clients on the Clients list, customize columns, sort results, pin important accounts, and switch list layouts.
URL: https://www.agencytitan.com/help/clients/find-and-organize-clients/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use the **Clients** list to **find**, **search**, and **filter clients** in your roster, tailor **client columns** to the work in front of you, and keep **pinned clients** easy to reach.
## Who this is for
Agency team members who browse and organize client records. Requires the **View Clients** permission. Without it, **Clients** is not available.
## Before you begin
- You are signed in to the correct agency workspace.
- At least one client record exists (or you expect an empty list until records are added).
New to client vocabulary? See [Clients overview](/help/clients/overview/).
## Open Clients
1. Open **Clients** ().
The page title is **Clients**. Primary actions are **Bulk Import** and **+ Add Client**.
## Search clients
Use **Search clients...** above the table to narrow the list by name and other client text. Results update as you type. Clear the field to return to the full list (respecting any active filters).
## View By
**VIEW BY** switches how the roster is grouped or presented:
- **List**
- **Status**
- **Priority**
- **Profile**
- **Assigned**
- **Tags**
- **Programs**
- **Timezone**
Use **Table View** or **Board View** on the right when you want a table layout or a board-style layout for the current **View By** mode.
## Display and layout controls
Above the table, use the layout shortcuts to change density:
- **Table** layout (keyboard shortcut **Alt+1**)
- **Grid** layout (**Alt+2**)
- **List** layout (**Alt+3**)
These controls change how rows render. They do not change which clients you can access.
## Customize columns
1. Select **Columns**. When your workspace has custom client fields, the button shows a **CUSTOM** badge. Any count on the button reflects available columns and varies by workspace.
2. Review **SHOWN** columns. Defaults include **Name** (locked), **Status**, **Priority**, **Profile**, **Programs**, **Assigned**, **Tags**, and **Created**.
3. Toggle additional columns from **HIDDEN**, **Search columns...**, or **Custom fields** sections.
4. Drag handles to reorder columns.
5. Select **Reset to defaults** to return to the standard column set.
## Filter clients
1. Select **Filters** to open **Filter Clients**.
2. Under **SYSTEM FILTERS**, narrow by **Status**, **Priority**, **Profile**, **Assigned**, **Tags**, **Programs**, or **Timezone**.
3. Under **ADVANCED FIELD FILTERS**, select **Add filters** to build **custom filters** on specific client fields when you need more precision than the system filters provide.
When no advanced rules exist, the drawer shows **No filters configured**.
4. Close the drawer when finished. The table reflects your filter choices.
## Sort the list
In **Table View**, select sortable column headers to change order:
- **Name**
- **Status**
- **Priority**
- **Profile**
- **Created**
Select a header again to reverse sort direction. Sorting applies to the current search and filter state.
## Pin clients
1. Hover the **Name** column for a client and select the **Pin client** control beside the client name.
2. Choose **Pin for me** to keep that client pinned in your own list experience.
3. When **Pin for everyone** appears, workspace owners can use it to pin the client for all users in the agency UI.
Pinned clients stay easy to spot while you work through the rest of the roster.
## Expected result
- The table shows only clients that match your search, **View By** mode, filters, and permissions.
- Visible **client columns** match your **Columns** choices.
- Sort order follows the header you selected.
- Pinned clients appear according to your pin choice (**Pin for me**, or **Pin for everyone** when you used that option).
Select a client name to open its record on the **Info Sheet**.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Clients** is missing from navigation | You lack **View Clients** | Ask a workspace owner to grant **View Clients** |
| List is empty | No clients yet, or filters/search exclude every row | Clear **Search clients...**, reset **Filters**, and confirm records exist |
| A column you need is missing | It is hidden in **Columns** | Open **Columns**, search **HIDDEN** or **Custom fields**, and toggle it on |
| **Reset to defaults** removed custom layout | Expected behavior | Re-enable the columns you need |
| **Pin for everyone** is missing | Your account is not shown team-wide pin controls in the UI | Use **Pin for me**, or ask a workspace owner to pin for the team |
| Sort appears wrong | Another sortable header is active | Check **Name**, **Status**, **Priority**, **Profile**, and **Created** header indicators |
## Related articles
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Create a client](https://www.agencytitan.com/help/clients/create-a-client/): Add a client record from the Clients list using Client Name, Client Profile, and any agency-required fields.
- [Update a client](https://www.agencytitan.com/help/clients/update-a-client/): Edit client details on the Info Sheet and Client Settings, change status and priority from the list, update branding and slug, and reassign the Client Profile template.
- [Invite a client portal user](https://www.agencytitan.com/help/clients/invite-a-client-portal-user/): Invite a client contact to the client portal so they can sign in and access this client's workspace. Send a client portal invite from the Client Portal Users page.
- [Delete a client](https://www.agencytitan.com/help/clients/delete-a-client/): Remove a client from normal Clients lists with typed DELETE confirmation. Delete one client from the record page or several from the Clients list.
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
---
# Invite a client portal user
> Invite a client contact to the client portal so they can sign in and access this client's workspace. Send a client portal invite from the Client Portal Users page.
URL: https://www.agencytitan.com/help/clients/invite-a-client-portal-user/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Send a **client portal invite** so an external contact can sign in to this client's portal. A **client portal user** is not the same as an internal agency team member assigned to the client; portal users are contacts outside your agency who need **client portal access** for one client record.
## Who this is for
Agency team members who grant portal contact access for a specific client. Requires **View Client Portal Users** to open the page and **Invite Client Portal Users** to send an invite. Without **Invite Client Portal Users**, **Invite Portal User** does not appear.
## Before you begin
- The client record already exists. See [Create a client](/help/clients/create-a-client/) if you need to add one.
- You can open the client from **Clients** (). See [Find and organize clients](/help/clients/find-and-organize-clients/) for search and filters.
- You have the contact's email address and name ready.
New to client vocabulary? See [Clients overview](/help/clients/overview/).
## Open Client Portal Users
1. Open **Clients** and select a client name to open its record.
2. Select **Users** in the client navigation.
The **Client Portal Users** page opens. The subtitle reads **Manage which portal users can access this client.**
When no portal users exist yet, the page shows **No client portal users yet** and **Invite a contact to give them portal access for this client.**
## Open the invite form
When no portal users exist yet, select **Invite Portal User** in the empty state. If the list already has portal users, select **Invite Portal User** in the page header instead.
The **Invite Client Portal User** modal opens with **Email**, **First Name**, **Last Name**, and **Phone**. **Cancel** and **Send Invite** appear in the footer. Close the modal with **Cancel**, the **X** control, or **Escape**.
## Complete the invite details
1. Enter **Email** for the contact who should receive the **client login invite**.
2. Enter **First Name** and **Last Name**.
3. Optionally enter **Phone**. The field shows a **+1** country selector and accepts values such as `(201) 555-0123`.
**Send Invite** stays disabled until **Email**, **First Name**, and **Last Name** are all non-empty. **Phone** is optional.
## Send the invite
Select **Send Invite**.
AgencyTitan sends the invitation to the contact's email so they can set up portal access for this client.
## Expected result
- The invite is sent for this client.
- After the page refreshes, the contact may appear in the **Client Portal Users** list with an **Invited** access badge until they finish portal setup and sign in.
- The contact receives portal access for this client only. They are not added as an internal agency team member.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Users** is missing or the page will not load | You lack **View Client Portal Users** | Ask a workspace owner to grant **View Client Portal Users** |
| **Invite Portal User** is missing | You lack **Invite Client Portal Users** | Ask a workspace owner to grant **Invite Client Portal Users** |
| **Send Invite** stays disabled | **Email**, **First Name**, or **Last Name** is empty | Fill all three fields. **Phone** is optional |
| You need to invite an agency employee instead | Wrong path | Use **Settings → Team & Access → Users** () for internal team members, not **Client Portal Users** |
| **Invite Failed** | Invalid email, duplicate invite, or a temporary error | Check the email address and try again. Contact support if the error persists |
## Related articles
- [Client portal](https://www.agencytitan.com/help/clients/client-portal/): Understand how the signed-in client portal gives external contacts access to shared client work, tickets, billing history, and account areas.
- [Invite your team](https://www.agencytitan.com/help/getting-started/invite-your-team/): Invite agency teammates from Users so they can sign in to the agency app. This is not a client portal invite.
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Create a client](https://www.agencytitan.com/help/clients/create-a-client/): Add a client record from the Clients list using Client Name, Client Profile, and any agency-required fields.
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
---
# Clients overview
> Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
URL: https://www.agencytitan.com/help/clients/overview/
import DocsArticleCard from '../../../components/docs/DocsArticleCard.astro';
import DocsArticleCardGrid from '../../../components/docs/DocsArticleCardGrid.astro';
import Screenshot from '../../../components/Screenshot.astro';
The **Clients** area is where your agency manages every account you serve. Start on the **Clients** list to scan your roster, then open a client record when you need full context.
## Three terms to know
| Term | What it is |
| --- | --- |
| **Client record** | The live account for one business: status, priority, contacts, tasks, tickets, notes, programs, files, and custom field values. |
| **Client Profile** | The template that defines which fields and defaults apply when you create or edit clients of that type. |
| **Info Sheet** | The default detail view for a client record after you open it from the list. |
Creating a client picks a **Client Profile** template and saves a new **Client record**. Opening that record lands on its **Info Sheet**.
## List to record
1. Open **Clients** to see every client you can access.
2. Use search, **View By**, **Columns**, and **Filters** to find and organize the roster.
3. Select a client name to open its record and work from the **Info Sheet**.
## Client record anatomy
- The header shows the client name plus status, priority, tags, assignment, and time zone.
- **Info Sheet** shows the sections and fields defined by the assigned **Client Profile**.
- **Tasks**, **Tickets**, **Channel**, **Notes**, **Forms**, **Views**, and **Credentials** keep client-specific work and context together when your permissions allow them. **Channel** is the internal Chat conversation for that client. See [Chat overview](/help/chat/overview/).
- **Programs**, **Billing**, **Users**, **Integrations**, **History**, and **Settings** provide additional client controls when your permissions allow them.
- The details rail repeats core client values and provides section navigation on the Info Sheet.
The **client portal** is a separate signed-in surface where external contacts can access shared work and conversations for client accounts linked to them.
## Guides in this category
## Related articles
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
- [Create a client](https://www.agencytitan.com/help/clients/create-a-client/): Add a client record from the Clients list using Client Name, Client Profile, and any agency-required fields.
- [Find and organize clients](https://www.agencytitan.com/help/clients/find-and-organize-clients/): Search and filter clients on the Clients list, customize columns, sort results, pin important accounts, and switch list layouts.
- [Work with client notes and folders](https://www.agencytitan.com/help/clients/client-notes-and-folders/): Create rich-text notes on a client record, find important notes, and organize them with folders, pins, favorites, types, tags, and attachments.
- [Add a program to a client](https://www.agencytitan.com/help/clients/client-programs/): Subscribe a client to a published program and review the visible billing, date, task pick-up, one-time task, and backfill choices before saving.
- [Find a client's tasks and tickets](https://www.agencytitan.com/help/clients/client-linked-work/): Open the Tasks and Tickets views on a client record, understand what appears there, and continue work in the main task or ticket area.
- [Create custom client fields](https://www.agencytitan.com/help/clients/create-custom-client-fields/): Add custom fields on Client Fields so client records can store the data your agency needs, then place them on a Client Profile layout.
---
# Update a client
> Edit client details on the Info Sheet and Client Settings, change status and priority from the list, update branding and slug, and reassign the Client Profile template.
URL: https://www.agencytitan.com/help/clients/update-a-client/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
**Edit client** records and **update client details** from the **Info Sheet**, **Client Settings**, and inline controls on the **Clients** list. In AgencyTitan, **Client Profile** means the template that defines fields and layout, not the client's display name or logo.
## Who this is for
Agency team members who maintain existing client records. Requires the **Edit Clients** permission. Without it, edit controls and **Client Settings** are not available.
## Before you begin
- The client record already exists. See [Create a client](/help/clients/create-a-client/) if you need to add one.
- You are signed in to the correct agency workspace.
- You can open the client from **Clients** (). See [Find and organize clients](/help/clients/find-and-organize-clients/) for search and filters.
New to client vocabulary? See [Clients overview](/help/clients/overview/).
## Update Info Sheet fields
Day-to-day client data lives on the **Info Sheet** for each client record.
1. Open **Clients** and select a client name to open its record.
2. Confirm **Info Sheet** is selected under **CLIENT DETAILS**.
3. Hover a field value to reveal inline actions:
- **Edit value**
- **Copy value**
- **View field history**
4. Select **Edit value** to change the field, then save your edit.
Use **Copy value** when you need the field text elsewhere. Use **View field history** to see prior values for that field.
For a **Simple List** field, enter items as usual, then reorder them by dragging an item's grip handle. You can also hover or focus an item and select **Move left** or **Move right** (or **Move up** and **Move down** for a vertical list). The chosen order is saved with the client record when the field edit is saved.
## Update core client settings
Core account fields (name, status, priority, timezone, tags, and team assignment) live on **Client Settings**.
1. From the client record, select **Settings** in the client navigation.
2. Review **Client Settings**. The page copy says **Changes save automatically**; an **Auto-saves** label appears on the page.
3. Update fields in **Basic Information** as needed:
- **Client Name**
- **Client ID** (read-only; use **Copy Client ID** when you need it)
- **Status**
- **Priority**
- **Timezone**
- **Tags** (type in the field and select **Add**)
- **Assigned Team Members**
Changes save automatically as you edit. No separate **Save** button is required.
## Update client branding
On **Client Settings**, scroll to **Client Branding**:
- **Client Icon**: square format, used in lists and pickers
- **Client Logo**: landscape format, used on detail pages
For either image, **Click to upload image, paste, or drag and drop**. Accepted formats: **PNG**, **JPG**, **GIF**, **WEBP** up to **25 MB**.
## Update URL slug and pinning
Still on **Client Settings**:
1. Under **URL Slug**, edit **Pretty URL Slug** (shown with the `/clients/` prefix). Helper text: **Used for friendly URLs. Auto-generated from client name if left empty.**
2. Under **Pinning**, choose:
- **Pin for Me**: **Only visible to you**
- **Pin for Everyone**: **Visible to all team members**
For list-level pinning, see [Find and organize clients](/help/clients/find-and-organize-clients/#pin-clients).
## Change status, priority, tags, and profile from the list
On the **Clients** list, several columns support inline updates without opening the full record:
- **Status**: change status
- **Priority**: change priority
- **Profile**: change profile (reassign the **Client Profile** template)
- **Tags**: edit tags
- **Assigned**: edit assignment
Select the value in the column you want to change and pick a new option from the control that opens.
## Change Client Profile (reassign template)
:::tip[Client Profile means template]
**Client Profile** is the template that defines which fields, sections, and status options apply to a client record. Changing a client's profile **reassigns that template**; it does not edit the template definition itself.
:::
### Reassign profile from the Clients list
1. Open **Clients** ().
2. In the **Profile** column for the client, open the profile control (**Change profile**).
3. Search or scroll the list and select the target profile.
The change applies immediately; there is no confirmation step. The **Profile** column updates to the profile you selected.
**Requirements and consequences:**
- Requires **Edit Clients**
- The target **Client Profile** must be **active** and available in your agency workspace
- Stored field values on the client record **remain**
- **Info Sheet** layout and available **Status** options come from the **new** template
- The client's current **Status** is **not** automatically reset; review **Status** after changing profile
### Edit Profile opens the template builder
**Edit Profile** in the client header **More actions** menu (⋯) opens the **Client Profile** template builder for the profile assigned to this client. It does **not** reassign the client to a different profile.
To **change client profile** (reassign template), use **Change profile** on the **Clients** list as described above, not **Edit Profile**.
## Expected result
- **Info Sheet** field edits stay on the client record.
- **Client Settings** changes save automatically (**Auto-saves**).
- **Client Icon**, **Client Logo**, **Pretty URL Slug**, and pin choices update as configured.
- Inline list changes update **Status**, **Priority**, **Profile**, **Tags**, or assignment display immediately.
- After a profile reassignment, the client uses the new template's layout and status options; field values are retained.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Edit value** or **Client Settings** is missing | You lack **Edit Clients** | Ask a workspace owner to grant **Edit Clients** |
| **Change profile** is unavailable | Missing **Edit Clients** or the profile column is hidden | Confirm permissions; open **Columns** on the list and show **Profile** |
| Target profile is not listed | Profile is inactive or not available in your agency | Choose an active profile in your agency workspace |
| Layout looks wrong after profile change | Expected: the new **Client Profile** template controls sections and fields | Review **Info Sheet** and **Status** after reassignment |
| **Edit Profile** did not reassign the client | **Edit Profile** opens the template builder, not reassignment | Use **Change profile** on the **Clients** list instead |
| Branding upload fails | File type or size outside limits | Use **PNG**, **JPG**, **GIF**, or **WEBP** at **25 MB** or less |
| **Pin for Everyone** is missing | Your role may not include team-wide pin controls | Use **Pin for Me**, or ask a workspace owner to pin for the team |
## Related articles
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Create a client](https://www.agencytitan.com/help/clients/create-a-client/): Add a client record from the Clients list using Client Name, Client Profile, and any agency-required fields.
- [Find and organize clients](https://www.agencytitan.com/help/clients/find-and-organize-clients/): Search and filter clients on the Clients list, customize columns, sort results, pin important accounts, and switch list layouts.
- [Invite a client portal user](https://www.agencytitan.com/help/clients/invite-a-client-portal-user/): Invite a client contact to the client portal so they can sign in and access this client's workspace. Send a client portal invite from the Client Portal Users page.
- [Delete a client](https://www.agencytitan.com/help/clients/delete-a-client/): Remove a client from normal Clients lists with typed DELETE confirmation. Delete one client from the record page or several from the Clients list.
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
---
# Assign and update a ticket
> Change ticket status, priority, assignees, client, department, tags, privacy, and inbox from the ticket view.
URL: https://www.agencytitan.com/help/tickets/assign-and-update-a-ticket/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Update a ticket from its conversation view. Quick status choices keep the request moving, while the details panel controls ownership, priority, client context, department, tags, privacy, and more.
## Who this is for
Agency team members who triage and own tickets. Requires **View Tickets** to open the ticket and ticket management access to change it.
## Before you begin
- Find and open the ticket from **Tickets** ().
- Confirm you are working in the correct agency workspace.
- If the ticket needs a different inbox, make sure you can access the destination inbox.
## Change status from the conversation
Below the latest conversation item, AgencyTitan may show **Need to update the status?** with the next useful status choices.
1. Review the latest customer message or internal note.
2. Select the status that matches the next state, such as **Open**, **Waiting on Client**, or **Resolved**.
3. Confirm the selected status appears on the ticket.
Status names are controlled in ticket settings, so your agency's choices can differ. Use the details panel when the status you need does not appear in the quick choices.
## Open the details panel
Select **Show details panel** in the ticket header. The panel shows:
- **Status**
- **Priority**
- **Assigned**
- **Client**
- **Dept**
- **Tags**
- **Private**
Select **See More** for channel, inbox, ticket number, created date, first-response SLA, and resolution SLA.
## Assign the ticket
1. In the details panel, select **Assigned**.
2. Search or choose one or more eligible team members.
3. Close the picker after the selection saves.
Use **Run auto-assignment** beside **Assigned** when you want AgencyTitan to apply your agency's assignment settings. If automatic assignment is off or no eligible person is available, the ticket remains unassigned and AgencyTitan explains why.
When **AI Smart** assigns the ticket, expand **AI Insights** at the top of the ticket to see the **AI assignment** section. It shows the assignment rationale, including the agency assignment rule that drove the choice.
## Update status and priority
1. Select **Status** or **Priority** in the details panel.
2. Choose the new value.
3. Confirm the pill updates.
Use status to represent the ticket's lifecycle. Use priority to represent urgency. SLA targets can vary by priority when your agency configured them in ticket settings.
## Add ticket context
Use the remaining details fields as needed:
- **Client** links the request to the correct client record.
- **Dept** routes ownership to a department.
- **Tags** add ticket-specific labels.
- **Private** restricts the ticket according to your agency's privacy rules.
The **Activity** section records changes. Linked tasks appear above **DETAILS** when the ticket is connected to delivery work.
## Move the ticket to another inbox
1. Select **Move to inbox** in the ticket header.
2. Choose an inbox you can access.
3. Confirm the move.
Moving an existing ticket is different from intake routing. Intake routing applies only while a brand-new email ticket is being received. See [Create intake routing rules](/help/tickets/create-intake-routing-rules/).
## Expected result
- Status and priority pills show the selected values.
- The **Assigned** field shows the current owners.
- **AI Insights** shows the rationale for an AI Smart assignment when one is available.
- Client, department, tags, privacy, and inbox reflect your changes.
- The **Activity** timeline records the update.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Detail fields do not open | You have view-only access | Ask a workspace owner to review your ticket management permission |
| Team member is missing from **Assigned** | They are outside assignment eligibility or inbox access | Review ticket assignment settings and the inbox visibility |
| Auto-assignment finds no one | Mode is off or no eligible person is available | Assign manually or update **Auto-Assignment** in ticket settings |
| Expected status is missing | It is not configured for your agency | Review **Ticket Statuses** in ticket settings |
| Inbox move is blocked | Destination is inactive, restricted, or unavailable | Choose an accessible active inbox or review its visibility |
| SLA looks different after a priority change | SLA defaults vary by priority | Review **SLA Defaults** in ticket settings |
## Related articles
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Find and work tickets](https://www.agencytitan.com/help/tickets/find-and-work-tickets/): Use inboxes, quick filters, statuses, departments, client filters, and search to find and open tickets in the Tickets inbox.
- [Reply to a ticket](https://www.agencytitan.com/help/tickets/reply-to-a-ticket/): Send a customer reply from the ticket composer, add recipients and attachments, use a template, or leave an internal note.
- [Set up a ticket inbox](https://www.agencytitan.com/help/tickets/set-up-a-ticket-inbox/): Connect an email or SMS channel in ticket settings and configure visibility, defaults, inbound behavior, and outbound behavior.
- [Create intake routing rules](https://www.agencytitan.com/help/tickets/create-intake-routing-rules/): Route brand-new email tickets by sender, subject, known-client match, and arrival inbox using ordered ticket intake rules.
---
# Create intake routing rules
> Route brand-new email tickets by sender, subject, known-client match, and arrival inbox using ordered ticket intake rules.
URL: https://www.agencytitan.com/help/tickets/create-intake-routing-rules/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use **Intake Routing** to choose the destination inbox for a brand-new email ticket while the message is being received. Rules can match the arrival inbox, sender email, subject, and whether AgencyTitan matched the sender to a known client.
## Who this is for
Agency team members who manage ticket settings and incoming email distribution. Requires **Manage Ticket Settings**.
## Before you begin
- Create at least one active email destination inbox. See [Set up a ticket inbox](/help/tickets/set-up-a-ticket-inbox/).
- Decide which arrival inboxes the rule should evaluate.
- Put narrow, specific rules above broader rules because the first full match wins.
## Open Intake Routing
1. Open **Settings**, then **Tickets**, then **Intake Routing** ().
2. When no rules exist, select **Add Your First Rule**. Otherwise select **Add rule**.
## Create a rule
1. Enter **Rule name**.
2. Under **Applies to inboxes**, optionally choose one or more arrival inboxes.
Leave this empty to evaluate the rule for email arriving on any inbox.
3. Under **Conditions**, select **Add condition**.
4. Choose a field and operator:
| Field | Available matches |
| --- | --- |
| **Known client** | **is matched** or **is not matched** |
| **Sender email** | **is**, **ends with (domain)**, or **contains** |
| **Subject** | **contains** or **does not contain** |
5. Enter a value when the selected operator requires one.
6. Add more conditions when needed. Every condition in a rule must match. Text matching is not case-sensitive.
7. Choose **Route to inbox**.
8. Keep **Active** on when the rule should run immediately.
9. Select **Create rule**.
## Understand rule order
Active rules run from top to bottom. The first rule whose inbox scope and conditions all match chooses the destination inbox. Later rules are not evaluated for that message.
After you create more than one rule, use the up and down controls to put specific rules first and broad catch-all rules last. An active rule with no conditions matches every inbound email in its selected arrival-inbox scope.
:::caution[Routing applies only during intake]
Replies on an existing ticket stay with that ticket. To change an existing ticket, use **Move to inbox** from the ticket header or use an automation.
:::
## What happens after a match
- AgencyTitan creates the ticket in the destination inbox.
- The destination inbox defaults can set department, assignees, and signature.
- When the destination inbox has default assignees, those defaults take precedence over general automatic assignment.
- If the destination inbox is unavailable or rule evaluation fails, intake continues in the arrival inbox instead of blocking ticket creation.
## Expected result
- The rule appears in **Intake Routing** in display order.
- Active rules evaluate brand-new inbound email tickets.
- Matching tickets enter the selected destination inbox and use its defaults.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Destination inbox is missing | It is not an active email inbox | Activate the inbox or choose another active email inbox |
| **Create rule** stays disabled | Rule name or destination inbox is missing, or a condition value is empty | Complete required fields and every value-bearing condition |
| Rule never matches | Arrival inbox scope or one condition excludes the message | Review each condition; every condition must match |
| Broader rule wins unexpectedly | It is above the specific rule | Move the specific rule higher |
| Existing ticket did not move | Intake routing does not apply after ticket creation | Use **Move to inbox** on the ticket |
| Rule should pause temporarily | Rule is still active | Edit the rule and turn off **Active** |
## Related articles
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Set up a ticket inbox](https://www.agencytitan.com/help/tickets/set-up-a-ticket-inbox/): Connect an email or SMS channel in ticket settings and configure visibility, defaults, inbound behavior, and outbound behavior.
- [Find and work tickets](https://www.agencytitan.com/help/tickets/find-and-work-tickets/): Use inboxes, quick filters, statuses, departments, client filters, and search to find and open tickets in the Tickets inbox.
- [Assign and update a ticket](https://www.agencytitan.com/help/tickets/assign-and-update-a-ticket/): Change ticket status, priority, assignees, client, department, tags, privacy, and inbox from the ticket view.
---
# Create reply templates
> Create shared ticket reply templates with formatted content and shortcodes, then insert active templates from the ticket composer.
URL: https://www.agencytitan.com/help/tickets/create-reply-templates/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Create **Reply Templates** for answers your team sends often. Active templates appear in the ticket composer so a team member can insert a complete response, personalize it, and send it without rewriting the same message.
## Who this is for
Agency team members who manage shared ticket responses. Requires **Manage Ticket Settings**.
## Before you begin
- Decide which customer question the template should answer.
- Write a short name that will be easy to find in the composer.
- Identify any ticket shortcodes the response should fill dynamically.
## Open Reply Templates
1. Open **Settings**, then **Tickets**, then **Reply Templates** ().
2. When no templates exist, select **Add Your First Template**. Otherwise select **Add template**.
## Create a template
1. Enter **Name**. This is the label team members search for in the composer.
2. Optionally enter **Description** to explain when to use the template.
3. Write the response under **Template body**.
4. Use the editor controls to format headings, lists, links, alignment, and other content.
5. Insert supported ticket shortcodes when the response should include dynamic record values.
6. Keep **Active (available for selection in the composer)** on.
7. Select **Create template**.
## Use a template in a reply
1. Open a ticket and select **Reply**.
2. Open the template picker in the composer.
3. Search for the template by name or description.
4. Select the template.
5. Review the inserted text, confirm any shortcode values, and personalize the response.
6. Add recipients and select **Send**.
See [Reply to a ticket](/help/tickets/reply-to-a-ticket/) for the complete composer flow.
## Edit, deactivate, or delete a template
- Edit a template when future replies need updated language.
- Turn off **Active** to remove it from the composer without deleting it.
- Delete a template to remove it from the library.
Changing or deleting a template does not recall messages already sent. The list shows template status, usage count, and updated date so you can identify stale or heavily used responses.
## Expected result
- The template appears in **Reply Templates**.
- Active templates appear in the ticket composer.
- Selecting a template inserts its body into the current reply for review and editing.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Add template** is missing | You lack **Manage Ticket Settings** | Ask a workspace owner to review your ticket settings permission |
| **Create template** stays disabled | **Name** or template body is empty | Enter both required values |
| Template does not appear in the composer | It is inactive or search excludes it | Turn on **Active** and clear template search |
| Inserted text shows the wrong value | Shortcode context is missing or the shortcode is incorrect | Review the ticket data and replace or correct the shortcode |
| Old messages did not change after an edit | Expected behavior | Template edits affect future insertions only |
## Related articles
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Reply to a ticket](https://www.agencytitan.com/help/tickets/reply-to-a-ticket/): Send a customer reply from the ticket composer, add recipients and attachments, use a template, or leave an internal note.
- [Set up a ticket inbox](https://www.agencytitan.com/help/tickets/set-up-a-ticket-inbox/): Connect an email or SMS channel in ticket settings and configure visibility, defaults, inbound behavior, and outbound behavior.
- [Find and work tickets](https://www.agencytitan.com/help/tickets/find-and-work-tickets/): Use inboxes, quick filters, statuses, departments, client filters, and search to find and open tickets in the Tickets inbox.
---
# Find and work tickets
> Use inboxes, quick filters, statuses, departments, client filters, and search to find and open tickets in the Tickets inbox.
URL: https://www.agencytitan.com/help/tickets/find-and-work-tickets/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use the **Tickets** inbox to find requests by ownership, status, department, client, or text. Open a row to read its conversation and work from the ticket view.
## Who this is for
Agency team members who triage or respond to customer requests. Requires **View Tickets**. Actions that change a ticket require ticket management access.
## Before you begin
- You are signed in to the correct agency workspace.
- At least one ticket exists, or you expect an empty list until a request arrives.
- If your team receives email or SMS, the appropriate inbox is connected. See [Set up a ticket inbox](/help/tickets/set-up-a-ticket-inbox/).
New to ticket vocabulary? See [Tickets overview](/help/tickets/overview/).
## Open the Tickets inbox
1. Open **Tickets** ().
2. Choose a view in the left sidebar.
## Use inboxes and quick filters
When connected inboxes are available, they appear under **INBOXES**. Select an inbox to see tickets routed there.
Use **QUICK FILTERS** for common work queues:
- **Assigned to me** shows tickets assigned directly to you.
- **My department** shows tickets assigned to your department.
- **Unassigned** shows tickets without an assignee.
- **SLA at risk** shows tickets approaching or past an SLA target.
- **Outbound review** shows replies waiting for review.
- **Blocked inbound** opens inbound messages that need attention before they become normal tickets.
Counts beside a filter show how many tickets currently match it.
## Filter by status or department
Under **STATUS**, choose **Active** or a specific lifecycle group such as **New**, **Open**, **Waiting on Client**, **Waiting on Team**, **Resolved**, or **Closed**. Your agency's configured ticket statuses can differ from these defaults.
Under **DEPARTMENTS**, select a department to narrow the list to that team.
## Filter by client and search
- Use **Filter to client(s)...** above the sidebar to limit all ticket views to one or more clients.
- Use **Search tickets...** above the list to match ticket subjects and other searchable ticket text.
- Clear either field to return to the broader view while keeping your other filters.
## Open and understand a ticket
Select a ticket row. The ticket view includes:
- The subject and ticket number in the header
- The customer conversation and internal notes in the main thread
- Quick status choices below the latest conversation item
- **Reply** and **Internal note** in the composer
- **Move to inbox**, **Escalate**, **Show details panel**, and **More actions** in the header
Open **Show details panel** to see status, priority, assignees, client, department, tags, privacy, SLA information, linked tasks, and activity.
## Create a ticket manually
1. Select **New Ticket**.
2. Enter **Subject**.
3. Optionally choose an **Inbox**, **Client**, and **Department**.
4. Choose **Priority**.
5. Select **Create Ticket**.
If no inbox is available to you, AgencyTitan keeps the ticket visible to the agency until it is moved. An intake routing rule may also place the ticket in a different inbox from the one selected during creation.
## Expected result
- The list reflects the inbox, quick filter, status, department, client, and search choices you made.
- Selecting a row opens that ticket's conversation and details.
- A manually created ticket opens in the ticket view and appears in the appropriate list.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Tickets** is missing | You lack **View Tickets** | Ask a workspace owner to review your ticket permissions |
| List is empty | The selected view has no matches | Clear search and client filters, then try **Active** or **Unassigned** |
| A ticket is missing from **Assigned to me** | It is unassigned or assigned to someone else | Check **Unassigned**, the relevant department, or search by subject |
| Expected inbox is missing | It is inactive, restricted, or not connected | Ask someone with ticket settings access to review the inbox |
| Ticket opens but change controls are unavailable | You have view-only access | Ask a workspace owner to review your ticket management permission |
## Related articles
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Reply to a ticket](https://www.agencytitan.com/help/tickets/reply-to-a-ticket/): Send a customer reply from the ticket composer, add recipients and attachments, use a template, or leave an internal note.
- [Assign and update a ticket](https://www.agencytitan.com/help/tickets/assign-and-update-a-ticket/): Change ticket status, priority, assignees, client, department, tags, privacy, and inbox from the ticket view.
- [Set up a ticket inbox](https://www.agencytitan.com/help/tickets/set-up-a-ticket-inbox/): Connect an email or SMS channel in ticket settings and configure visibility, defaults, inbound behavior, and outbound behavior.
- [Create reply templates](https://www.agencytitan.com/help/tickets/create-reply-templates/): Create shared ticket reply templates with formatted content and shortcodes, then insert active templates from the ticket composer.
---
# Tickets overview
> How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
URL: https://www.agencytitan.com/help/tickets/overview/
import DocsArticleCard from '../../../components/docs/DocsArticleCard.astro';
import DocsArticleCardGrid from '../../../components/docs/DocsArticleCardGrid.astro';
import Screenshot from '../../../components/Screenshot.astro';
The **Tickets** area brings customer requests into one inbox so your agency can triage, reply, assign ownership, and track each request to resolution. Ticket settings control how new messages enter AgencyTitan and how your team responds consistently.
## Four parts of tickets
| Part | What it is |
| --- | --- |
| **Inbox** | The workspace for finding tickets by inbox, quick filter, status, department, client, or search. |
| **Conversation** | The message thread, customer replies, and internal notes for one ticket. |
| **Details** | The ticket's status, priority, assignees, client, department, tags, privacy, SLA information, and activity. |
| **Ticket settings** | Inboxes, ticket statuses, SLA defaults, lifecycle rules, routing rules, reply templates, and assignment behavior. |
Open **Tickets** to work with requests already in AgencyTitan. Open **Settings**, then **Tickets**, when you need to control intake and shared defaults.
## From intake to resolution
1. A connected inbox, client portal request, or team member creates a ticket.
2. Intake routing can send a new email ticket to a destination inbox.
3. Inbox defaults and assignment rules help establish the department and owner.
4. A team member reviews the conversation, sends a reply, or adds an internal note.
5. Status and SLA information show what needs attention and what has been resolved.
Tickets can link to a client and to related tasks. See [Clients overview](/help/clients/overview/) and [Core Concepts](/help/getting-started/core-concepts/) for how those records fit together.
## Guides in this category
## Related articles
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [Escalations overview](https://www.agencytitan.com/help/escalations/overview/): Understand Escalations, how they differ from tickets and tasks, and how the inbox, statuses, and linked records fit together.
- [Chat overview](https://www.agencytitan.com/help/chat/overview/): Understand Chat, conversation types, and how internal messages differ from tickets and the client portal.
---
# Reply to a ticket
> Send a customer reply from the ticket composer, add recipients and attachments, use a template, or leave an internal note.
URL: https://www.agencytitan.com/help/tickets/reply-to-a-ticket/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use **Reply** to send a message to the customer. Use **Internal note** when the message is only for your agency team. Both options live in the composer at the bottom of the ticket conversation.
## Who this is for
Agency team members who communicate with customers or add private context to tickets. Requires ticket management access to send replies or add notes.
## Before you begin
- Open the ticket from **Tickets** (). See [Find and work tickets](/help/tickets/find-and-work-tickets/).
- For an email reply, the ticket needs an outbound-capable connected inbox and at least one valid **To** recipient.
- For an SMS reply, the ticket must have a requester phone number and an outbound-capable SMS inbox.
## Send a customer reply
1. At the bottom of the ticket, select **Reply**.
2. When a **From** control appears, confirm the sending inbox. If more than one sender is available, choose the correct one.
3. Review the **To** recipient. Add at least one valid address for an email reply.
4. Optionally add **Cc** or **Bcc** recipients.
5. Write the response in the composer.
6. Optionally use the composer tools:
- Format text with bold, italic, underline, lists, links, and other controls.
- Attach a file.
- Insert an active reply template. See [Create reply templates](/help/tickets/create-reply-templates/).
- Choose a signature.
- Select **Draft with AI**, or **Enhance with AI** when text is already present.
7. Select **Send**.
The arrow beside **Send** opens additional options such as **Schedule send...** and **Request review...** when those features are available to you.
:::note[Email and SMS composers differ]
Email replies use **To**, **Cc**, and **Bcc** fields and can include attachments. SMS replies show the requester receiving the text and a character count. Attachments cannot be delivered over SMS.
:::
## Add an internal note
1. Select **Internal note** in the composer.
2. Enter the context your team needs.
3. Select **Add note**.
Internal notes are marked **INTERNAL NOTE** in the conversation. They are private to your agency and are never sent to the customer.
## Draft behavior
- Reply and internal-note modes keep separate text while you switch between them.
- Reply drafts can save automatically and may appear in a draft tab.
- Another team member's claimed draft is read-only unless you adopt or manage it through the available draft controls.
- Do not treat a draft as sent until the message appears in the conversation.
## Expected result
- A sent reply appears in the ticket conversation as an outbound message.
- An internal note appears in the conversation with an **INTERNAL NOTE** label.
- The ticket activity records the update.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Send** stays disabled | Reply body or valid **To** recipient is missing | Add the message and at least one valid recipient |
| No **From** sender is available | Ticket has no outbound-capable inbox | Ask someone with ticket settings access to connect or repair the inbox |
| Sender shows **Disconnected** | The inbox credential is no longer connected | Reconnect the provider in Integrations, then retry |
| Template is missing | Template is inactive or your search excludes it | Clear template search or activate it in **Reply Templates** |
| Message should not go to the customer | Wrong composer mode | Switch to **Internal note** and select **Add note** |
| SMS cannot include the attachment | SMS does not deliver attachments | Remove the attachment or send it through another approved channel |
## Related articles
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Find and work tickets](https://www.agencytitan.com/help/tickets/find-and-work-tickets/): Use inboxes, quick filters, statuses, departments, client filters, and search to find and open tickets in the Tickets inbox.
- [Assign and update a ticket](https://www.agencytitan.com/help/tickets/assign-and-update-a-ticket/): Change ticket status, priority, assignees, client, department, tags, privacy, and inbox from the ticket view.
- [Create reply templates](https://www.agencytitan.com/help/tickets/create-reply-templates/): Create shared ticket reply templates with formatted content and shortcodes, then insert active templates from the ticket composer.
- [Set up a ticket inbox](https://www.agencytitan.com/help/tickets/set-up-a-ticket-inbox/): Connect an email or SMS channel in ticket settings and configure visibility, defaults, inbound behavior, and outbound behavior.
---
# Set up a ticket inbox
> Connect an email or SMS channel in ticket settings and configure visibility, defaults, inbound behavior, and outbound behavior.
URL: https://www.agencytitan.com/help/tickets/set-up-a-ticket-inbox/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Create a ticket inbox to receive and send customer messages through a connected email or SMS provider. Each inbox can define who can access it and which department, assignees, and signature new tickets use.
## Who this is for
Agency team members who manage ticket settings. Requires **Manage Ticket Settings**.
## Before you begin
- Connect the provider in **Settings**, then **Integrations** before creating the inbox.
- For email, AgencyTitan supports **Google Workspace** and **Mailgun**.
- For SMS, AgencyTitan supports **Twilio**.
- Decide who should see the inbox and which defaults new tickets should receive.
## Open Inboxes
1. Open **Settings**, then **Tickets** ().
2. Find **Inboxes** at the top of **General**.
The **Client Portal** inbox is a system inbox. It receives portal conversations and cannot be recreated as a normal connected inbox.
## Create an inbox
1. Select **New inbox**.
2. Choose **Channel**:
- **Email** for Google Workspace or Mailgun.
- **SMS** for Twilio.
- **Phone (coming soon)** is visible but cannot be created yet.
3. Choose **Provider**.
4. Choose a **Connected account**.
If AgencyTitan shows **No connected account for this provider**, select **Go to Integrations**, connect the provider, then return to the form.
5. Enter **Display name**.
6. Choose **Visibility**:
- **Everyone (tenant)** allows everyone in the agency to access tickets in the inbox.
- **Restricted** limits access according to the people and settings you choose.
7. Configure **DEFAULTS FOR NEW TICKETS**:
- **Default department**
- **Default assignees**
- **Default signature**
8. Review the inbox switches:
- **Default inbox** makes new tickets default to this inbox.
- **Active** allows the inbox to accept new activity.
- **Allow inbound** controls whether incoming messages create or update tickets.
- **Allow outbound** controls whether team members can send from the inbox.
- **Require client match** controls how unmatched senders are handled.
- **Create tickets from sent emails to clients** can turn a new sent email to a known client into a ticket.
9. For Google Workspace, choose whether the inbox inherits or overrides agency Gmail sync settings.
10. Select **Create inbox**.
## Require a client match
When **Require client match** is on, choose what happens when the sender does not match a client:
- **Discard completely** logs the decision without creating a blocked inbound item.
- **Route to Blocked inbound** keeps the message available for review and recovery.
Use the second option when your team needs to inspect unmatched messages before deciding what to do.
## Expected result
- The inbox appears in **Inboxes** with its channel, address or number, visibility, and active state.
- Team members with access can select it in the Tickets sidebar.
- New tickets receive the configured department, assignees, and signature defaults.
- Inbound and outbound behavior follows the switches you selected.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **New inbox** is missing | You lack **Manage Ticket Settings** | Ask a workspace owner to review your ticket settings permission |
| **Create inbox** stays disabled | Provider account, display name, address, or number is missing | Complete every required field and choose a connected account |
| No connected account is listed | Provider is not connected for this agency | Open Integrations and connect Google Workspace, Mailgun, or Twilio |
| Team member cannot see the inbox | Inbox visibility is restricted | Review visibility and the person's access |
| Inbound messages are ignored | **Allow inbound** is off | Edit the inbox and turn on **Allow inbound** |
| Replies cannot be sent | **Allow outbound** is off or the provider connection lacks send access | Turn on outbound access and reconnect the provider if needed |
| SMS number is unavailable | Number is not on the connected Twilio account or its webhook belongs elsewhere | Choose an available Twilio number or correct its webhook configuration |
## Related articles
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Find and work tickets](https://www.agencytitan.com/help/tickets/find-and-work-tickets/): Use inboxes, quick filters, statuses, departments, client filters, and search to find and open tickets in the Tickets inbox.
- [Assign and update a ticket](https://www.agencytitan.com/help/tickets/assign-and-update-a-ticket/): Change ticket status, priority, assignees, client, department, tags, privacy, and inbox from the ticket view.
- [Create intake routing rules](https://www.agencytitan.com/help/tickets/create-intake-routing-rules/): Route brand-new email tickets by sender, subject, known-client match, and arrival inbox using ordered ticket intake rules.
- [Create reply templates](https://www.agencytitan.com/help/tickets/create-reply-templates/): Create shared ticket reply templates with formatted content and shortcodes, then insert active templates from the ticket composer.
---
# SOPs and training overview
> Understand SOPs and Trainings, how published procedures differ from courses, and where daily reading stays versus Settings authoring.
URL: https://www.agencytitan.com/help/knowledge/overview/
import Screenshot from '../../../components/Screenshot.astro';
import DocsArticleCard from '../../../components/docs/DocsArticleCard.astro';
import DocsArticleCardGrid from '../../../components/docs/DocsArticleCardGrid.astro';
import AppPath from '../../../components/docs/AppPath.astro';
**SOPs & Trainings** is the place your team reads published procedures and completes training. An SOP is how-to documentation. A course is a lesson path you start and finish. Neither one replaces a task or a ticket.
## Who this is for
Agency team members granted **View SOPs** and **View Training**. Creating content requires **Create SOPs** or **Create Training**. Quizzes also require **Take Training Quizzes**. Owners and Admins have full access.
## Open SOPs and training
1. Sign in to the agency app.
2. Open **SOPs & Training** (). The page heading is **SOPs & Trainings**.
3. Use the tabs: **Overview**, **SOPs**, and **Courses**.
## How the area is organized
| Area | What it is for |
| --- | --- |
| **Overview** | Your **SOPs Read**, **Courses Completed**, **Certifications**, and **Time Invested**, plus **Continue Learning**, **Recently Updated**, **Your Activity**, **Achievements**, and **Content Library**. |
| **SOPs** | Published procedures. Search with **Search SOPs...**. Folders use the **SOPs** all-items label. |
| **Courses** | Published courses and learning paths. The list heading is **Training**. Search with **Search training...**. |
Empty **Continue Learning** shows **No courses in progress**. Empty **Recently Updated** shows **No recent updates**. Empty **Your Activity** shows **No recent activity**. Empty **Achievements** shows **No completions yet**.
Empty **SOPs** shows **No SOPs yet**. A search miss shows **No results found**. Empty **Courses** shows **No training content yet**.
**Required Training** appears at the top of Overview when a course is assigned to you.
## SOP versus course versus process
| Record | What it is |
| --- | --- |
| **SOP** | A published procedure your team reads. Open it from **SOPs**. |
| **Course** | A training path with lessons. Open it from **Courses**, then **Start Course** or **Continue**. |
| **Process definition** | The reusable setup for planned tasks. Work those as tasks, not here. |
A published SOP can be attached to work elsewhere. Reading it here does not complete a task. Starting a course does not create a ticket.
Draft and review items stay in Settings until someone publishes them. The **SOPs** and **Courses** lists show published content.
## Settings
Create and edit procedures in **Settings**, then **SOPs** (). Create and edit courses in **Settings**, then **Training** (). Those pages require create or edit access. Daily reading stays on **SOPs & Trainings**.
## Guides in this category
## Related articles
- [Welcome to AgencyTitan](https://www.agencytitan.com/help/getting-started/welcome/): Sign in, find the main areas of the agency app, and choose a first-week path.
- [Use SOPs and training](https://www.agencytitan.com/help/knowledge/use-sops-and-training/): Find a published SOP, open a course, start or continue a lesson, and know when Settings is required.
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
---
# Use SOPs and training
> Find a published SOP, open a course, start or continue a lesson, and know when Settings is required.
URL: https://www.agencytitan.com/help/knowledge/use-sops-and-training/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use **SOPs & Trainings** to read a published procedure or complete a course. Authoring stays in Settings.
## Who this is for
Agency team members granted **View SOPs** and **View Training**. Starting a quiz also requires **Take Training Quizzes**. **Create SOP** and **Create Course** require **Create SOPs** or **Create Training**. Owners and Admins have full access.
## Before you begin
- Open **SOPs & Training** ().
- Confirm the heading **SOPs & Trainings** and the **Overview**, **SOPs**, and **Courses** tabs.
- Have the procedure or course name ready if you will search.
## Find and read an SOP
1. Select **SOPs**.
2. Use **Search SOPs...** when you know part of the title.
3. Use the folder list labeled **SOPs** when procedures are organized in folders. Select **SOPs** at the top to see every published item.
4. Select a row to open the procedure.
5. Use **Back to SOPs** to return to the list.
6. Use **Print** or **Copy** when you need a print view or a shareable link. Use **Edit** only when you can change the procedure.
The **SOPs** list shows published procedures. Drafts do not appear here.
## Start or continue a course
1. Select **Courses**. The list heading is **Training**.
2. Use **Search training...** when you know the course or path name.
3. Select a **course** row to open it, or select a **path** row to see the courses inside that learning path.
4. On a course you have not started, select **Start Course**.
5. If you already started it, select **Continue**. **Continue Learning** on Overview opens the same in-progress courses.
6. Complete the lessons in order. If the course includes a quiz, take it when you have **Take Training Quizzes**.
Overview shows **Required Training** when a course is assigned to you. Select the course name there to open it.
## Expected result
- The SOP opens with its title and body.
- A new course shows **Start Course**. After you start it, Overview can list it under **Continue Learning**.
- Completing a course can add it to **Achievements** and raise **Courses Completed**.
- Reading an SOP does not complete a related task. Starting a course does not create a ticket.
## Troubleshooting
| Symptom | What to check |
| --- | --- |
| The page is missing from navigation | You need **View SOPs** or **View Training**. |
| **SOPs** shows **No SOPs yet** | No published procedure is visible to you. Drafts stay in Settings. |
| **No results found** or **No SOPs match** your search | Clear the search or tag filter, or try a different title. |
| **This folder is empty** | Select **SOPs** in the folder list, or pick a different folder. |
| **Courses** shows **No training content yet** | No published course or path is visible. Drafts stay in Settings. |
| **Start Course** is missing and you see **Continue** | You already started that course. |
| A quiz will not start | You need **Take Training Quizzes**. |
| **Create SOP** or **Create Course** is missing | You need **Create SOPs** or **Create Training**. Those actions open Settings. |
| A client contact cannot find SOPs and training | Expected. This area is for the agency team. |
## Related articles
- [SOPs and training overview](https://www.agencytitan.com/help/knowledge/overview/): Understand SOPs and Trainings, how published procedures differ from courses, and where daily reading stays versus Settings authoring.
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
- [Invite your team](https://www.agencytitan.com/help/getting-started/invite-your-team/): Invite agency teammates from Users so they can sign in to the agency app. This is not a client portal invite.
---
# Bulk operations
> Update as many as 100 clients, tasks, or tickets per request with per-item results, partial success, and the same rules as each single-resource write.
URL: https://www.agencytitan.com/help/guides/bulk-operations/
The public API currently exposes three bulk write operations:
- [`POST /v1/clients/bulk/update`](/docs/tag/clients/POST/v1/clients/bulk/update)
- [`POST /v1/tasks/bulk/update`](/docs/tag/tasks/POST/v1/tasks/bulk/update)
- [`POST /v1/tickets/bulk/update`](/docs/tag/tickets/POST/v1/tickets/bulk/update)
Each bulk operation mirrors one granular write action and applies its exact update shape. It does not introduce a second action enum or new writable fields. Validation, permissions, visibility, and state rules stay aligned with the corresponding single-resource operation:
- The clients bulk operation uses the client update fields, such as `status`, `priority_level`, `tags`, `assigned_to`, and `field_values`.
- The tasks bulk operation uses the `tasks.manage` shape, so each item's `set` requires an `action` of `update_status`, `assign`, or `set_due_date` plus that action's fields.
- The tickets bulk operation uses the ticket update fields, such as `status`, `priority`, `client_id`, and `assigned_to`.
## Request envelope
A bulk write accepts an `items` array in which every item carries its own target ID and its own `set`:
```json
{
"items": [
{
"id": "11111111-1111-4111-8111-111111111111",
"set": {
"action": "update_status",
"status": "completed"
}
},
{
"id": "22222222-2222-4222-8222-222222222222",
"set": {
"action": "set_due_date",
"due_date": "2026-08-15T17:00:00Z"
}
}
]
}
```
- `items` is required and accepts 1 through 100 entries.
- Each item's `set` uses the writable fields from the mirrored granular operation. Use the exact `set` schema published for the chosen operation; different bulk operations support different fields.
- When the same ID appears more than once, the first occurrence wins and the resource is processed at most once.
- A request with more than 100 items is rejected at the envelope level. Split larger jobs into batches of at most 100.
The batch is authorized once, then items are processed sequentially in request order through the same code path as the single-resource operation.
## Per-item results
An accepted batch returns HTTP 200 even when some items fail. Inspect every result and the summary:
```json
{
"data": {
"results": [
{
"id": "11111111-1111-4111-8111-111111111111",
"success": true
},
{
"id": "22222222-2222-4222-8222-222222222222",
"success": false,
"error": {
"code": "not_found",
"message": "Resource not found."
}
}
],
"summary": {
"total": 2,
"succeeded": 1,
"failed": 1
}
}
}
```
Partial success is normal. A per-item failure does not roll back successful items, does not stop later items, and does not fail the batch response. Per-item `error.code` values are `validation_error`, `not_found`, `permission_denied`, `rate_limited`, `conflict`, and `internal`.
Non-200 responses are reserved for envelope-level failures, such as a malformed body, an over-cap request, or a caller that lacks the required permission entirely. If a batch is accepted, retry only the failed IDs after deciding whether each item error is retryable.
## Retries and idempotency
Re-submitting an item runs the single-resource setters again. Values that already match are accepted, but the underlying write may refresh timestamps, task completion validation still applies, and ticket assignment updates may add assignment history. There is no cross-request dedupe, so the caller owns idempotency across batches.
## Integration guidance
- Keep a client-side record of each resource ID and its desired change.
- Persist the returned per-item status before starting the next batch.
- Retry transient failures separately from validation, permission, conflict, and not-found failures.
- Re-read records when state may have changed since the batch was prepared.
- Stay within the API rate-limit headers described in the [API Quickstart](/help/getting-started/api-quickstart/).
---
# Configure Field Layouts and Global Code
> Create field display templates, control where they apply, and publish workspace CSS with safe previews and version history.
URL: https://www.agencytitan.com/help/guides/field-layout-templates/
Field Layouts change how field values look when users view them. Global Code applies CSS across pages that match your rules. Neither feature changes field editors, permissions, validation, actions, or history.
## Who this is for
Workspace administrators and team members with the **Manage Advanced Settings** permission who configure field displays or workspace styles.
## Before you begin
- Choose an existing field and page where you can check the finished layout.
- Prepare sample JSON without real customer information.
- Decide whether the design should apply broadly or only to specific pages, fields, roles, people, or themes.
- Plan to check the result in both light and dark themes.
## Create a field layout
1. Open **Settings**, then **System**, then **Field Layouts** (/settings/app/layouts (opens in new tab)).
2. Select **New layout**.
3. Enter a **Name** and optional **Description**, then select **Create**.
4. Open **Settings** in the editor. Choose the **Render scope** and **Priority**, then select **Save settings**.
5. Add shortcode markup on **Template** and optional CSS on **Styles**.
6. Add safe test data on **Sample**, check the result on **Preview**, and narrow its reach on **Rules**.
7. Resolve any validation messages, then select **Save draft** or **Publish**.
AgencyTitan creates a stable key with the layout. Field definitions and marketplace packages can use that key to refer to the layout without relying on its display name.
## Expected result
The layout shows a **Published** status and changes matching field displays. Draft changes do not affect the published version until you publish again.
## Value only and full field scopes
**Value only** is the default. It replaces the value area while AgencyTitan continues to show the field label, prefix, suffix, and help text.
**Full field** controls the visible label, value, prefix, suffix, and help text. AgencyTitan still controls **Edit**, **Copy**, **History**, validation, permission checks, and the field editor. In a table, the layout supplies the complete cell display without adding a separate label.
Fields that support click to edit use the custom layout while idle, switch to the standard editor during editing, and return to the layout after you save or cancel. Fields that are always editable keep the standard editor.
## Precedence
When more than one source specifies a layout, AgencyTitan uses the first explicit choice in this order:
1. Layout instance override
2. Field definition override
3. Custom object type default, for composite custom fields only
4. First matching workspace rule by priority
5. Built-in field display
**Inherit** continues to the next source. **Use built-in** stops the search and uses the standard AgencyTitan display. AgencyTitan does not combine the template or style code from two layouts. A closer list setting replaces an inherited list.
## Template syntax
Field Layouts use AgencyTitan shortcode syntax, not Liquid, Handlebars, JavaScript, or Vue.
```html
{{field.field_label}}
{{formattedValue}}
{{#if record.account_owner}}
Owner: {{record.account_owner}}
{{else}}
Owner not assigned
{{/if}}
```
Use `{{path}}` for an escaped value, `{{#if expression}}...{{else}}...{{/if}}` for conditions, and `{{#each items}}...{{/each}}` for lists. A value inserted by a shortcode is treated as data, not as more template instructions.
## Available data
- `value` and `raw` contain the stored field value.
- `formattedValue` contains the standard AgencyTitan display value.
- `field` contains field details and options.
- `record`, `client`, and `process` contain values already available on the current page.
- `route` and `display` describe the current page and display mode.
- `currentUser` and `tenant` contain approved display details such as role, formatting preferences, theme, and timezone.
- `items` is the normalized list form.
- `components` contains normalized custom object components when available.
Templates do not load more data. If the current page has not loaded a value, referring to its path does not load it.
Each item in `items` provides `value`, `formattedValue`, `label`, `index`, `first`, `last`, and `raw`:
```html
{{#each items}}
- {{index}}. {{label}}: {{formattedValue}}
{{/each}}
```
Nested custom objects include component details with raw and formatted values. Use nested loops and conditions to handle one value, several records, or nested records without depending on how they are stored.
## Formatting helpers
Open **Helpers** in the editor to copy a supported data path or helper. These helpers use workspace formatting preferences where applicable.
| Purpose | Examples |
| --- | --- |
| Date and time | `{{date value}}`, `{{datetime value}}` |
| Numbers and money | `{{number value 2}}`, `{{currency value}}` |
| Common field formats | `{{phone value}}`, `{{duration value}}`, `{{file_size value}}` |
| Files | `{{file_url record.field_key}}`, `{{file_name value}}`, `{{#each file_list(record.field_key)}}...{{/each}}` |
| Choice and reference labels | `{{choice_label value field.options.options}}`, `{{reference_label value}}` |
| Text and defaults | `{{fallback value "Not set"}}`, `{{truncate value 60}}`, `{{uppercase value}}`, `{{lowercase value}}`, `{{titlecase value}}` |
| Lists and inspection | `{{join value ", "}}`, `{{json value}}` |
| Rich content | `{{rich_content value}}` |
Normal interpolation is HTML escaped. Use `rich_content` only for content that should be displayed as rich content after safety checks. Triple brace raw output is not supported.
## Matching rules
Rules can target the route, app surface, user, role, department, permission, theme, record scope, field type, field key, field ID, and display context.
- Rules are checked in priority order. The first matching field layout wins.
- Values in one **Include** list use OR behavior.
- A group can require all conditions with AND or any condition with OR.
- A matching **Exclude** always wins over **Include**.
- `all_pages` matches every route after AgencyTitan identifies the workspace.
Use a surface condition to distinguish the signed-in app, portal, and public forms. When no field, layout, or custom object override is selected, matching workspace rules take their place in the precedence order.
## Global Code
1. Open **Settings**, then **System**, then **Global Code** (/settings/app/global-code (opens in new tab)).
2. Select **New style**.
3. Enter a **Name** and optional **Description**, then select **Create**.
4. Add CSS on **Styles**. Use **Insert common selector** when you want one of the selectors listed by AgencyTitan.
5. Add narrow conditions on **Rules** and set its **Priority** in **Settings**.
6. Resolve any validation messages, then select **Save draft** or **Publish**.
Global Code accepts CSS only. Every published, enabled style with matching rules is applied in priority order. Published CSS can affect every matching workspace user and page, so begin with narrow rules and check both light and dark themes.
Global Code stays in your workspace and is not included with marketplace apps or templates.
## Design with AI
Describe the change you want in the AI panel beside the editor. For a Field Layout, AI can use the current draft, the documented data paths and helper names, and your sample JSON. It does not receive live record values or customer information by default.
An AI result changes only the open, unsaved draft. Review the changed template, styles, sample data, and rules. Check the preview and validation messages before you select **Save draft** or **Publish**.
## Publish, disable, and roll back
**Publish** makes the current draft active and adds a read-only revision to **Revision history**. **Disable** stops a published layout or style from displaying without removing its history.
To roll back, open **Revision history**, choose the version you need, and select **Restore as current**. Review the restored draft, then select **Publish** to make it active.
Layouts imported by name arrive as disabled drafts. A user with **Manage Advanced Settings** must review and publish them before they can change field displays.
## Troubleshooting
| What you see | What to check |
| --- | --- |
| The built-in field display appears | Confirm the layout is **Published** and enabled. Check precedence, **Rules**, and any validation messages. A **Use built-in** choice takes priority over lower sources. |
| A named layout is unavailable | Publish the layout and confirm the field or package refers to the correct stable key. |
| A rule does not match | Check the current route and surface, each condition group, and the rule priority. A matching **Exclude** wins over **Include**. |
| Layout styles do not apply | Resolve unsupported CSS or blocked content. Field Layout CSS is limited to that layout. Use Global Code only for intentional workspace-wide effects. |
| A list or custom object is empty in the preview | Check the structure of your sample JSON. Use `items` or `components` instead of assuming how the value is stored. |
| **Publish** is unavailable | Resolve the validation messages or wait for the AI change to finish. If authoring controls are missing, ask an administrator for **Manage Advanced Settings**. |
## Security boundary
Custom JavaScript is not supported. Script tags, inline event handlers, executable URLs, CSS imports, and other unsafe content are removed or rejected. Links, forms, images, and embeds are checked before AgencyTitan displays them.
## Related articles
- [Settings overview](https://www.agencytitan.com/help/settings/overview/): Find AgencyTitan settings and understand how agency, ticket, process, notification, and personal controls fit together.
- [Process settings](https://www.agencytitan.com/help/settings/process-settings/): Find process definitions and understand stages, statuses, fields, task naming, pinning, and sidebar configuration at a high level.
- [Create custom client fields](https://www.agencytitan.com/help/clients/create-custom-client-fields/): Add custom fields on Client Fields so client records can store the data your agency needs, then place them on a Client Profile layout.
---
# Files and attachments
> List attachment metadata, inspect one attachment, and issue short-lived download URLs without exposing storage paths.
URL: https://www.agencytitan.com/help/guides/files-and-attachments/
The attachments API separates metadata reads from file access. List and get operations never expose an internal storage path or download credential. When you need the bytes, request a short-lived bearer URL for one attachment.
## List attachments for a resource
[`GET /v1/attachments`](/docs/tag/attachments/GET/v1/attachments) requires both `entity_type` and `entity_id`:
```bash
curl "https://api.agencytitan.com/v1/attachments?entity_type=task&entity_id=11111111-1111-4111-8111-111111111111&sort=created_at&order=desc" \
--header "Authorization: Bearer $AGENCYTITAN_API_KEY" \
--header "Accept: application/json"
```
The operation supports the standard `limit`, `offset`, `sort`, and `order` parameters plus case-insensitive `search` over filename and content type. The current `entity_type` enum is published in the operation schema; use that enum instead of sending an arbitrary resource name.
Before returning metadata, AgencyTitan reads the parent resource through its normal public authorization path. If the caller cannot read the parent, it cannot enumerate the parent's attachments.
Each item contains:
- `id`, used by metadata and download-URL operations
- `filename`, `content_type`, and `size_bytes`
- `created_at` and nullable `created_by`
- `parent_entity.type` and `parent_entity.id`
## Get attachment metadata
Use [`GET /v1/attachments/{id}`](/docs/tag/attachments/GET/v1/attachments/{id}) when you already know the attachment ID. AgencyTitan re-evaluates read access to the parent before returning the same metadata shape. The response does not contain file bytes or a URL.
## Issue a download URL
[`POST /v1/attachments/{id}/download-url`](/docs/tag/attachments/POST/v1/attachments/{id}/download-url) mints a short-lived bearer credential. It uses POST because it issues a credential, although it does not change product data.
```bash
curl --request POST "https://api.agencytitan.com/v1/attachments/22222222-2222-4222-8222-222222222222/download-url" \
--header "Authorization: Bearer $AGENCYTITAN_API_KEY" \
--header "Content-Type: application/json" \
--data '{"expires_in": 300}'
```
`expires_in` is measured in seconds. It defaults to 300, with a minimum of 60 and a maximum of 3600.
The response uses the standard single-item envelope:
```json
{
"data": {
"url": "https://storage.example.com/signed/file",
"expires_at": "2026-08-08T14:35:00.000Z",
"filename": "kickoff-notes.pdf",
"content_type": "application/pdf",
"size_bytes": 24576
}
}
```
Read access to the parent is checked again when the URL is issued. The returned URL is transferable and grants temporary access without the AgencyTitan authorization header, so treat it as a secret:
- Request it only when the download is ready to begin.
- Use the shortest practical TTL.
- Do not log, persist, cache, or send it to an untrusted client.
- Issue a new URL after `expires_at`; do not attempt to refresh or modify the signed URL.
- If parent access is revoked after issuance, assume the URL can remain usable until its TTL expires.
Attachment references in [`GET /v1/ticket-messages`](/docs/tag/ticket-messages/GET/v1/ticket-messages) contain metadata only. Pass the referenced attachment ID to the download-URL operation when the caller is ready to fetch it.
---
# Working with tasks and tickets
> List and update tasks, move tasks between stages, read ticket conversations, create and assign tickets, and understand operations that are still rolling out.
URL: https://www.agencytitan.com/help/guides/working-with-tasks-and-tickets/
Tasks represent planned work. Tickets represent inbound requests and reactive work. The public API lets integrations read and update both while preserving the permissions and state rules used by AgencyTitan.
Start with the [API Quickstart](/help/getting-started/api-quickstart/) for authentication, envelopes, pagination, errors, and rate limits. The examples below assume:
```bash
BASE_URL="https://api.agencytitan.com"
```
## List and filter tasks
[`GET /v1/tasks`](/docs/tag/tasks/GET/v1/tasks) returns task-grain rows. Several row fields, including `status`, `assigned_to`, `due_date`, `priority_level`, and `start_date`, describe the current stage.
Use first-class query parameters for common filters:
```bash
curl "$BASE_URL/v1/tasks?status_scope=active&client_ids=66666666-6666-4666-8666-666666666666&sort=due_date&order=asc&limit=50" \
--header "Authorization: Bearer $AGENCYTITAN_API_KEY" \
--header "Accept: application/json"
```
Useful filters include:
- `status_scope`, `statuses`, `assigned_to`, `due_date_from`, and `due_date_to` for the current stage
- `process_status_scope`, `process_statuses`, `process_assigned_to`, and `process_due_date_from` for the parent task
- `client_ids`, `process_definition_id`, `priority_level`, and `tags` for task-level selection
- `filter_group` for supported custom-field and nested conditions
Values within one array filter are combined with OR. Different filters are combined with AND. Resolve status, priority, and tag values with [`GET /v1/tasks/options`](/docs/tag/tasks/GET/v1/tasks/options) instead of guessing tenant-configured values.
For assigned work at stage grain, use [`GET /v1/task-stages`](/docs/tag/task-stages/GET/v1/task-stages) and filter by `assigned_to`.
## Update current-stage status, assignment, or due date
[`POST /v1/tasks/manage`](/docs/tag/tasks/POST/v1/tasks/manage) is an action-enum composite for three same-risk updates. The required `action` selects one of:
- `update_status`, with `status`
- `assign`, with an `assigned_to` array that replaces the current-stage assignment
- `set_due_date`, with an ISO 8601 `due_date` or `null` to clear it
For example:
```bash
curl --request POST "$BASE_URL/v1/tasks/manage" \
--header "Authorization: Bearer $AGENCYTITAN_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"action": "set_due_date",
"task_id": "11111111-1111-4111-8111-111111111111",
"due_date": "2026-08-15T17:00:00Z"
}'
```
Use the status values returned by `GET /v1/tasks/options` for `update_status`.
## Update custom task fields
[`POST /v1/tasks/update-fields`](/docs/tag/tasks/POST/v1/tasks/update-fields) patches custom fields by registered field key:
```bash
curl --request POST "$BASE_URL/v1/tasks/update-fields" \
--header "Authorization: Bearer $AGENCYTITAN_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"task_id": "11111111-1111-4111-8111-111111111111",
"field_values": {
"campaign_url": "https://example.com/campaign",
"estimated_hours": 8
}
}'
```
The operation rejects system task fields. Use the dedicated task or stage operation for status, assignment, and dates. Valid custom fields are attempted independently, and the response reports each field as `applied` or `rejected`; inspect every result instead of treating HTTP 200 as proof that every field changed.
## Move a task to another stage
[`POST /v1/tasks/transition-stage`](/docs/tag/tasks/POST/v1/tasks/transition-stage) moves a task only along a declared transition from its current stage:
```bash
curl --request POST "$BASE_URL/v1/tasks/transition-stage" \
--header "Authorization: Bearer $AGENCYTITAN_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"task_id": "11111111-1111-4111-8111-111111111111",
"target_stage_id": "22222222-2222-4222-8222-222222222222",
"reason": "Client approved the deliverable"
}'
```
An undeclared target, unmet dependency, or missing required field returns a conflict without changing the task. The optional `reason` is invocation context returned to the caller; it is not stored on the task.
## Create and update tickets
[`GET /v1/tickets`](/docs/tag/tickets/GET/v1/tickets) supports search, resource-specific sorting, and filters for status, client, assignee, department, inbox, priority, tags, SLA state, and creation time.
Create a ticket with [`POST /v1/tickets`](/docs/tag/tickets/POST/v1/tickets). `subject` is required; `description`, `client_id`, `assigned_to`, and `priority` are optional.
Use [`PATCH /v1/tickets/{id}`](/docs/tag/tickets/PATCH/v1/tickets/{id}) to replace provided fields only. It can change status, priority, client link, and the full assignee set. An empty `assigned_to` array or `null` clears assignment.
The composite [`POST /v1/tickets/manage`](/docs/tag/tickets/POST/v1/tickets/manage) can create or update a ticket and can add a safe internal note to an existing ticket. Its `comment` field never queues an outbound reply.
## Assign tickets
[`POST /v1/tickets/{id}/assign`](/docs/tag/tickets/POST/v1/tickets/{id}/assign) supports two actions:
- `manual` replaces the full assignee set. An empty array unassigns the ticket. You can also provide `target_inbox_id` to move and assign atomically and `reason` for audit context.
- `smart` runs AgencyTitan's live assignment scorer. Do not send manual-assignment fields with this action.
```bash
curl --request POST "$BASE_URL/v1/tickets/99999999-9999-4999-8999-999999999999/assign" \
--header "Authorization: Bearer $AGENCYTITAN_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"action": "manual",
"assigned_to": ["33333333-3333-4333-8333-333333333333"],
"reason": "Route to the web support team"
}'
```
## Read ticket conversations
[`GET /v1/ticket-messages`](/docs/tag/ticket-messages/GET/v1/ticket-messages) requires `ticket_id` and returns inbound and outbound messages plus internal notes. The default order is chronological. Use `is_internal_note` as the stable discriminator.
```bash
curl "$BASE_URL/v1/ticket-messages?ticket_id=99999999-9999-4999-8999-999999999999&order=asc" \
--header "Authorization: Bearer $AGENCYTITAN_API_KEY" \
--header "Accept: application/json"
```
Attachment references are metadata only. Follow [Files and attachments](/help/guides/files-and-attachments/) to obtain a download URL.
[`GET /v1/ticket-messages/{id}`](/docs/tag/ticket-messages/GET/v1/ticket-messages/{id}) also requires the parent `ticket_id` query parameter because conversation-item reads are ticket-scoped.
## Operations rolling out
These capabilities are not yet fully exposed by the current OpenAPI document:
- **Task creation.** The existing `tasks.manage` operation intentionally omits creation. Live task creation can apply billing and deferred-creation rules and can optionally advance a stage, so the planned operation is approval-gated instead of being treated as a simple insert.
- **Outbound ticket sending.** Conversation reads, internal notes, and reply drafts are available now: [`POST /v1/ticket-drafts/save`](/docs/tag/ticket-drafts/POST/v1/ticket-drafts/save) creates or updates a draft, and the `ticket-drafts` tag includes read and review-queue operations. A saved draft always keeps `draft` delivery status; the operation that actually sends an outbound message is still rolling out.
- **Linking tasks to tickets.** Ticket and task records can be managed independently, but no public link or unlink operation is in the current reference.
Do not guess route names or request bodies for rolling-out operations. Wait until an operation appears in the generated [API reference](/docs/) and the current OpenAPI document before calling it.
---
# Frequently Asked Questions
> Quick answers about agencies, clients, tasks, tickets, views, automations, the AI assistant, billing, and support.
URL: https://www.agencytitan.com/help/faq/
This page covers questions that span more than one job. Task-specific problems belong in the Troubleshooting section of the matching how-to.
## Is my agency's data isolated from other agencies?
Yes. Every agency runs in its own workspace. Your clients, tasks, tickets, and files are never visible to any other agency.
## Can clients see my internal notes?
No. The client portal only shows what you choose to share, such as shared work, files, billing history, and the contact's own tickets. Internal notes, other clients, and team discussions stay in the agency app. See [Client portal](/help/clients/client-portal/).
## What is the difference between a task and a ticket?
Tasks are planned work created from a reusable process definition, such as onboarding steps or monthly deliverables. Tickets are incoming requests and conversations, such as issues that arrive in an inbox. Tickets can carry SLA information. Tasks follow the stages and fields configured for their process type. You can link a ticket to a task when a request becomes delivery work.
## What is the difference between a ticket and an escalation?
A ticket is the incoming request or conversation. An escalation is a separate flag on a ticket, task, client, or client note when that record needs a higher-priority path. Completing the ticket or task does not close the escalation by itself. See [Escalations overview](/help/escalations/overview/).
## What is the difference between Chat and a ticket?
Chat is internal messaging for your agency team. A ticket is an incoming request or customer conversation. A client's **Channel** tab is still Chat. Portal users do not see it. Chat does not create a ticket, and a ticket reply does not appear in Chat. See [Chat overview](/help/chat/overview/).
## What is the difference between an SOP and a process?
An SOP is a published procedure your team reads in **SOPs & Trainings**. A process definition is the reusable setup for planned tasks. Reading an SOP does not complete a task. See [SOPs and training overview](/help/knowledge/overview/) and [Tasks & processes overview](/help/tasks/overview/).
## Can I reuse a process across clients?
Yes. Build a process definition once in Settings, then create a task from it for each client that needs that work. Editing one task does not change the other tasks created from the same definition. See [Create a task](/help/tasks/create-a-task/).
## What is the difference between a process and an automation?
A process definition is the reusable setup for planned work: stages, fields, and layouts. An automation watches for an event, schedule, webhook, or button, then runs the steps you define. Use a process when people complete work. Use an automation when the system should react. See [Tasks & processes overview](/help/tasks/overview/) and [Automations overview](/help/automations/overview/).
## What is a view?
A view is a dashboard or work surface made of blocks such as tables, Kanban boards, calendars, charts, and metrics. It is not a saved filter. Filters belong to the blocks inside the view. Open published views from **Views**, and create them in Settings. See [Views and dashboards overview](/help/views/overview/).
## How do I invite a client contact to the portal?
Open the client record, then follow [Invite a client portal user](/help/clients/invite-a-client-portal-user/). The invite gives that contact portal access to the linked client. It does not add them to your agency team.
## Where should I start each workday?
Open **My Day** to see Today's List, Overflow, and triage. Complete each item in its task or ticket. See [My Day overview](/help/my-day/overview/) and [Work your day](/help/my-day/work-your-day/).
## How do I invite a teammate?
Open **Settings**, then **Team & Access**, then **Users**, and select **Invite Users**. That invitation is for agency team members, not client portal contacts. See [Invite your team](/help/getting-started/invite-your-team/).
## How do I set up departments?
Open **Settings**, then **Team & Access**, then **Departments**. Create a department, add levels, and grant permissions on the department **Permissions** tab before you invite Members. See [Set up departments and levels](/help/getting-started/set-up-departments-and-levels/).
## What is the difference between Owner and Administrator?
Both roles have full product access. An Administrator cannot impersonate an Owner, cannot remove an Owner, and the agency must always keep at least one Owner. Members get access through department levels and cannot impersonate a higher role. See [Core Concepts](/help/getting-started/core-concepts/).
## What does the AI assistant have access to?
The assistant works within your agency workspace and respects each user's permissions. It can answer questions about your clients, tasks, and tickets, suggest next steps, and help build automations. It never sees another agency's data.
## Does AgencyTitan track time and handle billing?
Yes. You can track time on tasks. Programs can include billing when your agency enables it, and the client portal can show invoices and payment history for a linked client. See [Add a program to a client](/help/clients/client-programs/).
## How do I get support?
Use [Submit a ticket](/help/submit-a-ticket/). If your workspace includes the **AI Assistant**, you can also open it from the main navigation.
## Related articles
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
- [Set up departments and levels](https://www.agencytitan.com/help/getting-started/set-up-departments-and-levels/): Create departments, add levels, and grant permissions so Members get the right access before you invite the team.
- [Invite your team](https://www.agencytitan.com/help/getting-started/invite-your-team/): Invite agency teammates from Users so they can sign in to the agency app. This is not a client portal invite.
- [My Day overview](https://www.agencytitan.com/help/my-day/overview/): Understand My Day, Today's List, Overflow, triage, and Timeline so you can plan and work assigned items for today.
- [Chat overview](https://www.agencytitan.com/help/chat/overview/): Understand Chat, conversation types, and how internal messages differ from tickets and the client portal.
---
# Changelog
> Customer-facing AgencyTitan product updates: new features and major improvements, published daily when something impactful ships.
URL: https://www.agencytitan.com/help/changelog/
What's new in AgencyTitan. Entries cover customer-visible features and major fixes only, not every internal change.
The latest 30 digests are below. Older updates live in the year and month archives.
## October 6, 2026
**Browser Operator and multi-use beta codes**
Today’s release adds the Browser Operator and expands beta code support, along with fixes for billing and Fly sizing.
- **New:** Added Browser Operator support, giving customers a new browser-based automation capability.
- **New:** Beta codes now support multiple uses, making it easier to share access during onboarding and testing.
- **Fix:** Fixed billing and Fly sizing issues that were affecting some customers.
## October 2, 2026
**Search, marketplace updates, and ticket draft fixes**
Today’s release adds broader search and marketplace update handling, plus fixes for ticket draft ownership and extension credential filling.
- **New:** Search Everywhere now surfaces results in a dedicated modal and supports broader global search across the product.
- **New:** Marketplace imports and updates are easier to review, with improved dependency mapping and update previews before applying changes.
- **Improved:** The browser extension now fills credentials more reliably, including password-only logins.
- **Fix:** Ticket drafts now claim correctly to the first person who opens them, and existing automation-created drafts were normalized so ownership resolves properly.
## October 1, 2026
**Marketplace feedback and layout editing get reliability fixes**
We shipped a set of customer-facing fixes that improve marketplace actions, form editing, and layout saving reliability.
- **Fix:** Marketplace review and feedback flows now use the correct tenant context, reducing errors when submitting or viewing feedback.
- **Improved:** Layout and form edits are more reliable, with better protection against stale saves and clearer write timestamps.
- **Improved:** Marketplace author and source access checks were tightened so the right content appears for the right tenant.
## September 30, 2026
**Map fields, session sync, and process widget fixes**
Several customer-facing updates landed together, including map field enhancements, better session continuity, and fixes for common UI issues.
- **New:** Map fields now support links, permissions, and live updates.
- **Improved:** Web and extension sessions stay in sync more reliably across devices.
- **Fix:** Process widgets now handle task and client filters correctly.
- **Fix:** Sticky table headers no longer stack incorrectly while scrolling.
- **Fix:** SSO sign-in now shows clearer handling for missing accounts and expired codes.
## September 29, 2026
**Process widgets now respect task and client filters**
We fixed a production issue that could cause embedded process widget tables to ignore task and client filter scoping.
- **Fix:** Process widget tables now apply task and client filters correctly in embedded views, preventing mismatched results and production errors.
## September 28, 2026
**AI settings and prompt handling got an upgrade**
We shipped a set of customer-facing AI improvements, along with a few visible fixes.
- **New:** AI settings now include a consolidated default model experience, making it easier to manage how AI behaves across your account.
- **Improved:** Prompt caching was overhauled to improve AI response handling and reduce repeated work behind the scenes.
- **New:** Quick Add Task is now available for faster task creation.
- **Fix:** Fixed several visible issues, including extension sticky notes, shortcode display in fields and tables.
## September 26, 2026
**AI billing, workflow context, and marketplace import fixes**
Several customer-facing AI and import improvements landed today, along with a few visible admin and UI fixes.
- **Improved:** Workflow AI now restores the right context more reliably, improving agent behavior inside workflows.
- **Improved:** AI usage and billing now track costs more accurately, including zero-cost and missing-cost cases, with better usage evidence in logs and admin views.
- **Fix:** Marketplace imports now show the right credential mapping options, avoiding confusing “Create new” and “Leave unconnected” choices.
- **Fix:** Admin update forms can now clear nullable fields explicitly, fixing cases where values could not be removed.
- **Fix:** A few UI issues were fixed across AI panels, mention chips, and related workflow screens.
## September 25, 2026
**Workflow validation and ticket handling improvements**
Today’s release tightened workflow publishing checks and shipped several ticketing and integration improvements.
- **Fix:** Fixed workflow publish validation for typed named-stage conditions, reducing false errors when saving workflows.
- **Improved:** Improved ticket handling with draft claim-on-open behavior, assignment continuity, archive protection, and note attachments.
- **New:** Added and expanded HubSpot integration support, including webhook handling and auto-mapping improvements.
- **Improved:** Updated the ticket inbox and message views to better surface attachments and reply behavior.
- **New:** Expanded MCP preset support and related integration presets for connected tools.
## September 24, 2026
**Cross-department stage assignment is fixed**
We fixed an issue that could block stage assignment across Agency departments and improved related ticket and workflow handling.
- **Fix:** Stage assignment now works across Agency departments as expected.
- **Fix:** Ticket inbound processing and related workflow updates are more reliable, reducing missed or duplicated handling.
- **Improved:** Field scheduling and context loading were tightened up to avoid stale or inconsistent behavior.
## September 22, 2026
**Drive, marketplace, and workflow updates**
Today’s release focused on Google Drive browsing, marketplace update safety, workflow loop handling, and a few visible UI fixes.
- **New:** Google Drive file listing can now search child folders, with recursive paging and a new option to include subfolders.
- **Improved:** Marketplace updates now handle connection selection more safely and block stale previews from applying changes against an outdated mapping.
- **Fix:** Workflow loop-backs were fixed so re-entry, execution limits, and termination tracking behave correctly.
- **Fix:** Rich text editing and Google Docs creation got visible fixes, including heading/link behavior and document folder/content fields.
- **Fix:** Google Drive folder results now sort folders first, and field history processing was fixed.
## September 21, 2026
**Workflow fixes and worker scaling improvements**
Today’s release improved workflow reliability, fixed several visible automation issues, and tightened worker autoscaling behavior.
- **Fix:** Loop workflows now run their bodies correctly, and execution logging was improved for loop steps and stale-stage handling.
- **Fix:** Workflow triggers and marketplace automation imports now preserve the right fields and raw payloads, reducing failed conditions and rejected imports.
- **Fix:** Drive uploads under nested folders now match ancestor folders correctly, so existing workflow filters work without changes.
- **New:** Nested child workflows now run without tying up an activity slot, improving parent workflow throughput and reliability.
- **Improved:** Worker autoscaling and deployment handling were refined to use more stable capacity signals and avoid rollout/configuration issues.
- **Fix:** Planned worker retirements no longer trigger false unhealthy alerts after graceful shutdowns.
## September 20, 2026
**Workflow loops and triggers got more reliable**
Workflow execution, trigger handling, and a few related product areas were improved to behave more consistently for agencies.
- **Fix:** Workflow buttons now respect custom active client statuses, fixing cases where automation buttons appeared unavailable for clients in non-default active states.
- **Improved:** Workflow loops gained better publish validation and more reliable paging, including support for integration actions inside loops.
- **New:** A new global task trigger condition lets workflows fire when a task leaves a client-accessible stage.
- **Improved:** Ticket AI now uses your tenant’s configured status buckets for open and closed classification.
- **Fix:** Field schedule automations now return the correct field values again, fixing failures caused by an outdated data source.
## September 19, 2026
**Workflow file handling and query filters improved**
We tightened workflow execution safety and made file and relationship-query tools more reliable across the product.
- **Improved:** Workflow temp files are now cleaned up more reliably, reducing leftover files from automation runs.
- **Improved:** Google Drive uploads and webhook handling were hardened so workflow file actions are more dependable.
- **New:** Relationship query filters now support count-based conditions more smoothly in the builder.
- **Fix:** Workflow execution safeguards were improved to better prevent stuck or orphaned runs.
## September 18, 2026
**Public stage pages and workflow automations got more reliable**
Today’s release focused on fixing several customer-facing issues in public stage pages, workflow routing, and marketplace updates.
- **Fix:** Logged-out public stage pages now show the right branding and load photos and private images more reliably.
- **Fix:** Fixed workflow routing so conditional “Go to next stage” buttons resolve correctly at runtime.
- **Improved:** Improved Drive File Uploaded automations so folder filters match any folder in the path and the correct connected account is used.
- **Fix:** Added stronger safeguards around custom object deletes and marketplace removals to prevent broken references and missing cleanup.
- **Fix:** Fixed workflow shutdown and wait handling to reduce missed or stuck automations.
## September 17, 2026
**Google Drive browsing, backfill counts, and workflow fixes**
Today’s release improved integrations, client backfills, and workflow behavior across the product.
- **New:** Google Drive browsing is smoother, with shared-with-me folders, root navigation pagination, and file picker fixes.
- **Improved:** Backfill jobs now show task counts more reliably, and the backfill wizard reflects the updated flow.
- **Fix:** Workflow joins now resume through the correct outcome path, reducing unexpected behavior in published workflows.
- **Improved:** Several integration and marketplace updates landed to improve Google Analytics, Google Tag Manager, and related resource handling.
## September 14, 2026
**Workflow publishing and marketplace fixes shipped**
A set of production fixes improved workflow publishing, AI field handling, marketplace imports, and embedding behavior.
- **Fix:** Fixed several workflow publish issues, including false validation errors, preserved structured output settings, and better support for result variables.
- **Improved:** Improved workflow editing and execution with more reliable canvas dragging, wait/join behavior, and streaming null handling.
- **Fix:** Marketplace imports and updates now handle field mapping and dependency publishing more consistently, including references-only publishing for never-embed items.
- **New:** Added client-service AI context settings and improved embedding processing to reduce missed updates.
## September 13, 2026
**Marketplace, workflows, and field editing improvements**
Today’s release adds clearer marketplace conflict handling, editable field shortcodes, and workflow publish fixes.
- **New:** Marketplace imports and updates now handle conflicts more smoothly, with clearer merge decisions and better preview behavior.
- **New:** Field shortcodes can now be edited directly, with a warning when renaming may affect existing usage.
- **Fix:** Workflow publishing was fixed to avoid false validation blocks and to keep published workflows from showing persistent errors.
- **Improved:** Several wizard and editor controls were polished for clearer change and edit affordances.
## September 12, 2026
**Workflow routing and field layouts got smarter**
Today’s release improves how workflows route, how client fields render, and how the app handles sign-in and loading states.
- **New:** Task peek panels now support manual timer controls.
- **New:** Stage changes can now route conditionally based on linked client filters and toggle operators.
- **Improved:** Direct named field layouts are now honored, and composite fields hydrate more reliably so client data appears correctly.
- **Fix:** Branded loading screens are now shown during app startup, and a black-screen auth bootstrap issue was fixed.
## September 11, 2026
**Marketplace imports and forms got sturdier**
Today’s release focused on more reliable marketplace imports and cleaner form field handling.
- **Improved:** Marketplace imports now enforce tenant boundaries more strictly and include better reconciliation and health checks to catch bad package data earlier.
- **New:** The built-in address field has been retired in favor of the Address custom object, updating the TopServ intake form flow to use the new field type.
- **Improved:** Simple List fields now use a unified orientation, spacing, and chip style for a more consistent look across the product.
- **Improved:** Per-object instance counts now respect caps and show more accurate totals.
## September 9, 2026
**Workflow and marketplace reliability improvements**
We tightened several core workflow, AI context, and marketplace dependency checks to make publishing and execution more reliable.
- **Improved:** Improved workflow publishing and execution safeguards so broken or incomplete workflows are less likely to go live or get stuck.
- **Improved:** Expanded marketplace dependency handling and integrity checks to better protect published packages and their required services.
- **Improved:** Refined AI context and field policy handling to make AI-powered features more consistent when working with entity data.
## August 31, 2026
**Marketplace imports now handle custom objects more reliably**
Marketplace installs and AI-assisted custom object workflows were tightened up to make imports and updates more dependable.
- **Improved:** Improved marketplace import mapping and progress screens so installs are easier to follow and complete.
- **Fix:** Custom object updates now handle status and filter-key changes more reliably during marketplace syncs.
- **Improved:** AI-assisted custom object and asset workflows were updated to better support persisted entity handling.
## August 30, 2026
**AI assistant and marketplace updates got smarter**
We improved the AI builder experience, tightened marketplace update handling, and added stronger safeguards around tenant and AI settings flows.
- **New:** The AI assistant now handles more builder tasks and presets with better context, tool support, and conversation handling.
- **Improved:** Marketplace updates are more reliable, with improved dependency handling, deduping, and reference resolution during imports and updates.
- **Improved:** Tenant AI settings and related public APIs were updated to better support configuration and migration flows.
- **Fix:** Tenant deletion and billing-related safeguards were strengthened to reduce unexpected failures in admin workflows.
## August 29, 2026
**Google Ads setup got clearer and more reliable**
Today’s release improved Google Ads onboarding and reconnect flows and added account status indicators.
- **New:** Google Ads setup now shows real account names, formatted customer IDs, and a smoother post-OAuth agency selection and client mapping flow.
- **Fix:** Google Ads reconnects now reuse the correct active connection and refresh tenant-owned OAuth apps with the right credentials.
- **New:** Google Ads account status is now visible in setup and mapping screens, with clear color cues for active, paused, suspended, and closed accounts.
## August 27, 2026
**Workflow and form automation updates**
We shipped improvements to workflow handling and form settings.
- **Improved:** Workflow actions now return more consistent results, improving reliability across workflow runs and related automations.
- **Improved:** Form settings and workflow shortcode handling were updated to make automation setup smoother in the Forms Management area.
## August 24, 2026
**AI assistant and media workflows got broader support**
This release expands the AI assistant’s capabilities and improves media and workflow handling across the product.
- **New:** Expanded the AI assistant’s access to more workspace context, including my day, activity logs, time entries, and tenant AI settings.
- **Improved:** Improved internal MCP and AI tool handling so assistant actions can work with a wider set of connected data and prompts.
- **Improved:** Added and refined cloud file and image media operations, including public API support for media-related workflows.
- **Improved:** Improved workflow relationship filtering and condition configuration behavior for more reliable workflow setup.
## August 21, 2026
**Workflow builder and list views got smarter**
Today’s release improved workflow scheduling, relationship-based list queries, and several connected views across the app.
- **New:** Workflow scheduling and query setup now handle more cases in the builder, making it easier to configure scheduled automations and related filters.
- **Improved:** Relationship-based list views were improved so grouped and filtered results render more reliably across clients and process lists.
- **Improved:** Google Ads customer browsing and related integration screens were updated for smoother navigation and data loading.
- **Fix:** Several background health checks and token refresh flows were hardened to reduce integration and automation interruptions.
## August 20, 2026
**Builder, onboarding, and integrations got a major refresh**
Today’s release adds new builder field options, improves onboarding and integration setup, and fixes several workflow and assignment issues.
- **New:** Added new builder field controls, including a Todo field and updated color/background styling options.
- **Improved:** Improved onboarding and integration setup flows, including Google Ads browsing, website analysis, and logo persistence.
- **Improved:** Bulk assignment now supports clearer assignment modes and a preference to keep the creator when eligible.
- **Fix:** Fixed several workflow and process issues, including button bindings, stage requirements, and return navigation.
- **Fix:** Improved AI and message processing reliability for drafts, queues, and pending operations.
## August 19, 2026
**AI workflows and onboarding got a major upgrade**
This release expands AI-assisted setup, planning, and workflow tools across the product, with several fixes to make them more reliable and visible in the UI.
- **New:** Added broader AI support for planning, workflows, fields, layouts, processes, and views, giving teams more places to use AI-assisted setup and editing.
- **Improved:** Improved onboarding and setup experiences, including a refreshed setup flow and updated guidance for getting departments and team access configured.
- **New:** Expanded support for client imports, notes, escalations, and ticket AI policies so these workflows are easier to use and more consistent.
- **Fix:** Fixed realtime updates and related UI behavior so changes appear more reliably in areas like processes, escalations, and chat-driven workflows.
## August 17, 2026
**Workflow, portal, and help experience upgrades**
A broad set of customer-facing improvements landed across workflows, portal permissions, AI-assisted building, and help content.
- **Fix:** Workflows now handle charge idempotency, scheduled-run safeguards, and business-hours delays more reliably.
- **Improved:** Portal and billing permissions were tightened and aligned so access checks behave more consistently across the app.
- **Improved:** AI builder and chat experiences improved with better session parity, asset links, publish guidance, and more reliable receipts and evidence.
- **New:** Help and docs were expanded with a new help center, API docs, screenshot lightbox, and navigation polish.
- **Improved:** File uploads and pasted attachments now preserve filenames more consistently, and storage handling is more predictable.
## August 16, 2026
**AI authoring and access controls got a major cleanup**
We tightened how AI tools, SOPs, and help content behave, while also fixing a few visible access and read issues.
- **New:** Added SOP and training shortcodes to make guided content easier to reuse in the product.
- **Improved:** Improved AI tool access and permission checks, including clearer gating for chat and builder actions.
- **Fix:** Fixed member read behavior for custom objects and agency display data so records show up correctly.
- **Fix:** Cleared agency-switch UI state more reliably when changing agencies.
## Archives
- [2026](https://www.agencytitan.com/help/changelog/2026/) (57 updates)
---
# Add actions and steps
> Add and configure actions, connect nodes in execution order, and use control-flow and utility steps in the automation builder.
URL: https://www.agencytitan.com/help/automations/add-actions-and-steps/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Actions do the work after a trigger starts a run. Connect nodes to define the execution path; their visual position alone does not set order.
## Who this is for
Agency team members who edit automation drafts. Requires **View Automations** and **Edit Automations**.
## Before you begin
- Open the draft from **Settings**, then **Automations** ().
- Create a draft with at least one trigger. See [Create an automation](/help/automations/create-an-automation/).
- Confirm any required inbox, integration, user, department, task definition, form, or other target already exists.
- Decide what should happen first, what can branch, and whether a step needs to wait.
## Find an action
Expand a category under **ACTIONS**, or use **Search nodes...**.
| Category | Action examples shown in the builder |
| --- | --- |
| **AI & Content** | Generate Text, Generate Image, Process Image, Generate Video, Transcribe Audio, Use MCP Tool, and content research actions |
| **Clients** | Create, update, delete, or find clients; create, update, or find client notes |
| **Programs** | Add, activate, pause, resume, suspend, complete, cancel, or find a client program |
| **Communication** | Send Email, Send SMS, Send Notification, Send Training Reminder, Show Certification Warning |
| **Custom Objects** | Create, update, delete, or find custom object records |
| **Forms** | Update Create Entity Form, Approve Submission, Reject Submission, Set Submission Status |
| **Integrations** | HTTP Request plus actions from the integrations available to your agency |
| **Tasks** | Create, update, merge, delete, find, or change a task stage; create a public stage link |
| **Tickets** | Create, update, assign, move, merge, link, unlink, delete, or find tickets; add messages and internal notes; add or remove tags |
| **Escalations** | Create or update an escalation, or add a comment |
| **Users** | Create, update, delete, or find users; apply an agency signature or assign training |
| **UI Actions** | Open Peek / Modal, Redirect User, Show UI Alert, Award Badge |
| **Control Flow** | Condition, Wait, For Each Loop, Break, Continue, run another automation, and Return |
| **Utilities** | Formatter and Run Code |
Some actions appear only when their required context or integration is available.
### Add or remove tags
Use **Add Tag** or **Remove Tag** to change tags on a ticket, client, client note, task/process, stage, or form submission. Enter one or more tag values in the action configuration. Values are treated as exact strings, including capitalization and whitespace.
By default, the action targets the first matching entity in the workflow context. To target a specific entity type, choose **Entity Type**. You can also provide an **Entity ID** directly or insert one with a shortcode. An explicit ID overrides the ID inferred from the workflow context. Select the type when more than one eligible entity is present.
Adding a tag that is already present, or removing a tag that is not present, is a successful no-op. The action leaves the entity unchanged and does not replace the hydrated workflow context with an incomplete result.
## Configure an action
1. Drag an action from the palette onto the canvas.
2. Complete the configuration panel.
3. Resolve every item under **Configuration Errors**.
4. Select **Save**.
Fields vary by action. **Send Notification**, for example, requires a subject, message, recipients, and at least one delivery channel. It also supports user, department, or dynamic recipients and a priority.
Shortcode controls marked with **{}** can insert values from the trigger or earlier steps. Only use data that is available on the path leading into the action.
## Connect and order steps
1. Drag from a source handle on the trigger to a target handle on the first action.
2. Continue connecting each action in the order it should run.
3. Use **Condition** to create branches.
4. Use **Wait** when the next step should pause.
5. Use **For Each Loop** when an earlier step returns a collection that must be handled one item at a time.
6. Move nodes to make the graph readable, but use the arrows rather than canvas position to verify execution order.
7. Select **Save Draft**.
:::caution[Actions can have real side effects]
Email, SMS, record changes, deletions, external requests, and manual tests can affect real data. Use a dev workspace, sandbox destination, or test record when validating them.
:::
## Expected result
- Each configured node appears on the canvas with a descriptive label.
- Arrows form a complete path from the trigger through the intended actions.
- The issue counter shows no unresolved configuration or graph errors.
- Reloading the builder keeps the saved nodes and connections.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Action is unavailable | Required context or integration is missing | Confirm the automation context and connected integration, then search again |
| **Save** stays disabled | The action has configuration errors | Complete every required field listed in the panel |
| Node exists but never runs | It is not on a connected path from the trigger | Connect the incoming and outgoing handles |
| Steps run in an unexpected order | Canvas position differs from the arrow path | Follow the connections and reconnect the nodes in the intended order |
| Shortcode is empty during a run | Its value is not available from the trigger or earlier path | Choose a value exposed in **Data** or add a find step before the action |
| Draft changes disappeared | They were not saved before leaving | Configure the node again and select **Save Draft** before navigating away |
## Related articles
- [Automations overview](https://www.agencytitan.com/help/automations/overview/): Understand where automations live, how triggers and connected steps work, and how draft, published, active, and inactive states differ.
- [Create an automation](https://www.agencytitan.com/help/automations/create-an-automation/): Create an automation draft, choose from the triggers available in the builder, and add field or related-record conditions.
- [Publish and manage automations](https://www.agencytitan.com/help/automations/publish-and-manage/): Publish and activate an automation, edit a live version safely, restore an older version as a draft, duplicate, organize, or delete.
- [Common automation recipes](https://www.agencytitan.com/help/automations/common-recipes/): Build a task-stage notification and a weekday scheduled reminder with the triggers and actions available in AgencyTitan.
- [Troubleshoot automations](https://www.agencytitan.com/help/automations/troubleshoot-automations/): Diagnose validation issues, missing runs, inactive automations, and failed steps using the builder and Activity execution details.
---
# Common automation recipes
> Build a task-stage notification and a weekday scheduled reminder with the triggers and actions available in AgencyTitan.
URL: https://www.agencytitan.com/help/automations/common-recipes/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
These recipes use nodes currently available in the global automation builder. Build and test them with safe records and recipients before adapting them to live agency data. Start from **Settings**, then **Automations** ().
## Who this is for
Agency team members who build automations. Requires **View Automations**, **Create Automations**, and **Edit Automations**.
## Before you begin
- Choose the task stage change or reminder schedule you want to automate.
- Prepare a safe test task and notification recipients.
- Write the notification subject and message.
## Recipe 1: Notify the team when a task changes stage
1. Create an automation with a descriptive name, such as **Notify on Task Stage Change**.
2. Under **TRIGGERS**, expand **Tasks** and drag **Task Stage Changed** onto the canvas.
3. Give the trigger a descriptive label such as **Task changes stage**.
4. If every stage change should notify the team, leave the trigger without conditions.
5. If only some changes should qualify, add a condition and confirm it still appears after saving and reopening the trigger.
6. Under **ACTIONS**, expand **Communication** and drag **Send Notification** onto the canvas.
7. Enter a subject and message.
8. Choose **Select Users**, **By Department**, or **Dynamic**, then select the recipients.
9. Choose email, in-app, or both delivery channels and set a priority.
10. Save the action and connect the trigger to it.
11. Select **Save Draft**, reload to verify the graph, publish, then turn on **Active**.
## Recipe 2: Send a weekday reminder
1. Create an automation with a descriptive name, such as **Weekday Team Reminder**.
2. Under **TRIGGERS**, expand **General** and drag **On a Schedule** onto the canvas.
3. Choose **Cron**.
4. Select **Weekdays at 9 AM**, or enter another valid cron expression.
5. Confirm the timezone and review **Next Scheduled Executions**.
6. Leave **Query for Entities** off for one agency-wide reminder. Turn it on only when the automation should find clients or tasks and run for each result.
7. Add **Send Notification** from **Communication**.
8. Enter the reminder subject and message, select recipients and delivery channels, then save.
9. Connect the schedule trigger to the notification.
10. Save the draft, publish, and turn on **Active**.
:::note[Interval, specific, and field schedules]
The schedule trigger also supports an interval, an exact date and time, or timing based on an entity date field. Complete every required schedule value and check the upcoming executions before publishing.
:::
## Validate either recipe
- Reload the builder and confirm nodes and connections remain.
- Check the issue counter before publishing.
- Use the **Test Automation** panel only with safe recipients and records.
- Open **Activity** after a test or real trigger and confirm the new execution status.
- Turn the automation inactive when testing is complete if it should not continue running.
## Expected result
- The task recipe records a run when its qualifying stage-change trigger fires.
- The schedule recipe shows upcoming weekday executions and runs at the configured time while active.
- Notification recipients receive the configured delivery channels when the action succeeds.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| The automation cannot be published | A node is incomplete, disconnected, or unsaved | Open each issue shown in the builder, complete the required values, connect the nodes, and select **Save Draft** |
| A task stage change does not start a run | The automation is inactive or the trigger conditions do not match the task | Confirm the automation is published and **Active**, then review the **Task Stage Changed** conditions |
| A scheduled reminder runs at the wrong time | The schedule uses a different time zone or cron expression | Open **On a Schedule**, confirm the time zone and expression, and review **Next Scheduled Executions** |
| A notification is not delivered | The action does not include the intended recipient or delivery channel | Open **Send Notification** and review the recipients, **Email**, and **In-app** settings |
## Related articles
- [Create an automation](https://www.agencytitan.com/help/automations/create-an-automation/): Create an automation draft, choose from the triggers available in the builder, and add field or related-record conditions.
- [Add actions and steps](https://www.agencytitan.com/help/automations/add-actions-and-steps/): Add and configure actions, connect nodes in execution order, and use control-flow and utility steps in the automation builder.
- [Publish and manage automations](https://www.agencytitan.com/help/automations/publish-and-manage/): Publish and activate an automation, edit a live version safely, restore an older version as a draft, duplicate, organize, or delete.
- [View automation run history](https://www.agencytitan.com/help/automations/view-run-history/): Use the Activity tab to filter automation runs, open an execution timeline, inspect step errors, copy identifiers, and re-run safely.
- [Troubleshoot automations](https://www.agencytitan.com/help/automations/troubleshoot-automations/): Diagnose validation issues, missing runs, inactive automations, and failed steps using the builder and Activity execution details.
---
# Create an automation
> Create an automation draft, choose from the triggers available in the builder, and add field or related-record conditions.
URL: https://www.agencytitan.com/help/automations/create-an-automation/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Create an automation from the list, then drag a trigger from the node palette onto the builder canvas. A trigger defines when AgencyTitan starts a run.
## Who this is for
Agency team members who design automations. Requires **View Automations**, **Create Automations**, and **Edit Automations**. Without **Create Automations**, **New Automation** does not appear.
## Before you begin
- Decide what event or schedule should start the automation.
- Identify the record fields, users, departments, or connected integrations the automation needs.
- Read [Automations overview](/help/automations/overview/) if draft, published, active, and inactive states are new to you.
## Create the draft
1. Open **Settings**, then **Automations** ().
2. Select **New Automation**.
3. Enter **Automation Name**.
4. Optionally enter a description so teammates can understand its purpose from the list.
5. Select **Create Automation**.
AgencyTitan opens the **Builder** with a draft and an empty canvas.
## Choose a trigger
Expand a category under **TRIGGERS**, then drag the trigger onto the canvas.
The current builder groups triggers as follows:
| Category | Trigger examples shown in the builder |
| --- | --- |
| **General** | Inbound Webhook, On a Schedule, Button/Link Clicked |
| **Clients** | Client Created, Client Updated, Client Merged, client notes, client programs, and billing events |
| **Custom Objects** | Custom Object Record Created, Updated, or Deleted |
| **Forms** | Form Submission Ready, Rejected, or Arrived |
| **Integrations** | Events from available Mailgun, Google Workspace, Facebook Pages, Instagram, HighLevel, Twilio, Zoom, and Stripe connections |
| **SOPs** | SOP Updated, Published, Archived, or Feedback Received |
| **Tasks** | Task Created, Updated, Stage Changed, Stale Stage, Completed, or Merged |
| **Tickets** | Ticket creation, updates, status, priority, assignment, messages, inbox moves, SLA events, review events, linked-task events, and tag transitions |
| **Escalations** | Escalation Created, Updated, Status Changed, Reassigned, or Comment Added |
| **Training** | Course and assessment completion, pass, fail, or submission events |
| **Users** | User Invited or User Setup Completed |
Integration choices can differ by agency and connection state. Search **Nodes** when you know the trigger name but not its category.
### Use tag transition conditions
The **Tag Added** and **Tag Removed** entries let an automation respond to an exact tag membership change. They are available for the **Ticket**, **Client**, and **Client Note** update events. Select the entity, choose the tag transition, and enter the tag value to match.
Tag values are matched as exact, case-sensitive strings. For example, `VIP` does not match `vip`. The event must include the previous tag state, so tag transition conditions are not currently available for task/process updates, form submissions, escalations, or custom object record updates. Linked-task triggers do not add tag transition conditions for the linked task.
## Configure the trigger
1. Select the trigger node.
2. Optionally replace its label with a name that explains the event.
3. Complete any trigger-specific settings. For example, **On a Schedule** requires a schedule type and timezone.
4. Select **Save** in the configuration panel.
The issue counter in the builder toolbar lists missing or invalid required settings. Resolve those issues before publishing.
## Add conditions
Use trigger conditions when the automation should start for only some matching events.
1. Open the trigger node and select **Add condition**.
2. Choose **Standard Condition** for a field on the trigger record, or **Related-Record Condition** to traverse to a related record.
3. Select a field and comparison.
4. Choose **Fixed value** or **Compare to field**, then complete the value.
5. Select **Done**.
6. Add more conditions or a group when needed.
7. Choose whether the group should match **All** or **Any** conditions.
8. Select **Save** on the trigger panel, then **Save Draft** in the toolbar.
Reopen the trigger after saving and confirm each condition still appears before you publish.
:::caution[Verify conditions after reload]
After saving conditions, reload the builder and reopen the trigger. If a condition is missing, keep the automation inactive and [submit a ticket](/help/submit-a-ticket/) rather than publishing a broader trigger than intended.
:::
## Expected result
- The new automation appears in the list as a draft.
- The builder shows at least one configured trigger node.
- The toolbar issue count falls as required settings are completed.
- Saved conditions appear when you reopen the trigger.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **New Automation** is missing | You lack **Create Automations** | Ask a workspace owner to grant **Create Automations** |
| Trigger is not in the palette | It is unavailable in this automation context or connection state | Search **Nodes**, check its category, and confirm the required integration is available |
| **Save** stays disabled | A required trigger setting is incomplete | Review the configuration errors in the panel |
| Condition does not appear after reopening the trigger | The condition did not persist in the draft | Add it again, select **Done**, save the node, select **Save Draft**, and [submit a ticket](/help/submit-a-ticket/) if it disappears again |
| Publish control is blocked | The issue counter has one or more validation errors | Open the issue counter and resolve every listed item |
## Related articles
- [Automations overview](https://www.agencytitan.com/help/automations/overview/): Understand where automations live, how triggers and connected steps work, and how draft, published, active, and inactive states differ.
- [Add actions and steps](https://www.agencytitan.com/help/automations/add-actions-and-steps/): Add and configure actions, connect nodes in execution order, and use control-flow and utility steps in the automation builder.
- [Publish and manage automations](https://www.agencytitan.com/help/automations/publish-and-manage/): Publish and activate an automation, edit a live version safely, restore an older version as a draft, duplicate, organize, or delete.
- [Common automation recipes](https://www.agencytitan.com/help/automations/common-recipes/): Build a task-stage notification and a weekday scheduled reminder with the triggers and actions available in AgencyTitan.
- [Troubleshoot automations](https://www.agencytitan.com/help/automations/troubleshoot-automations/): Diagnose validation issues, missing runs, inactive automations, and failed steps using the builder and Activity execution details.
---
# Automations overview
> Understand where automations live, how triggers and connected steps work, and how draft, published, active, and inactive states differ.
URL: https://www.agencytitan.com/help/automations/overview/
import DocsArticleCard from '../../../components/docs/DocsArticleCard.astro';
import DocsArticleCardGrid from '../../../components/docs/DocsArticleCardGrid.astro';
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Automations watch for an event or schedule, then run the connected steps you define. Use them to notify your team, update records, communicate with clients, call an integration, or branch and wait without repeating the work manually.
Open **Settings**, then **Automations** () to see the automation list.
## How an automation fits together
| Part | What it does |
| --- | --- |
| **Trigger** | Starts the automation when an event occurs, a schedule arrives, a webhook is received, or a button or link is selected. |
| **Condition** | Narrows a trigger or creates a branch by comparing fields and values. |
| **Action** | Performs work such as sending a notification, updating a task, creating a ticket, or calling an integration. |
| **Connection** | Sets the path and order between nodes. A node's position on the canvas does not set execution order by itself. |
| **Run** | One recorded execution. The **Activity** tab shows its status, timing, steps, and any surfaced error. |
## Understand states
Publishing and activation are separate controls.
| State | Meaning |
| --- | --- |
| **Draft** | The current builder graph has not been published. A new automation starts here. |
| **Published** | A saved version is available to run. |
| **Active** | The published version can accept new trigger events. |
| **Inactive** | New trigger events do not start runs. Existing activity remains available. |
| **Draft (v# is Active)** | You are editing a draft while the named published version remains active. Publish the draft when it is ready to replace that version. |
Publishing does not automatically make an automation active. After publishing, use the toggle beside the state badge when it should begin accepting triggers.
## Guides in this category
## Related articles
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
---
# Publish and manage automations
> Publish and activate an automation, edit a live version safely, restore an older version as a draft, duplicate, organize, or delete.
URL: https://www.agencytitan.com/help/automations/publish-and-manage/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Publish a validated draft to create a runnable version. Then use the separate **Active** toggle to decide whether that version can accept new triggers.
## Who this is for
Agency team members who release and maintain automations. Requires **View Automations** and **Edit Automations**.
## Before you begin
- Save every node and select **Save Draft**.
- Reload the builder and confirm the graph, connections, conditions, and action settings persisted.
- Resolve every toolbar issue.
- Review actions for real side effects and use approved test records or destinations.
## Publish and activate
1. Open the draft from **Settings**, then **Automations** ().
2. In **Builder**, select the publish control in the toolbar.
3. Confirm the header shows **Published**.
4. Turn on the toggle beside **Published** when the automation should accept new triggers.
5. Confirm the toggle reads **Active**.
Publishing alone leaves a newly published automation inactive. There is no separate **Unpublish** control in the current interface. To stop new runs, turn the automation **Inactive**; its published versions and activity remain available.
## Edit an active automation
When you edit an active published version, AgencyTitan creates a draft while the published version remains active. The builder shows **Draft (v# is Active)**.
1. Make and save changes in the draft.
2. Test the draft with safe data when appropriate.
3. Select **Publish automation** to replace the active version with the draft.
4. Confirm **Published** and **Active** appear together.
If the changes should not go live, leave the draft unpublished. The active version continues handling triggers.
## Use version history
Open **Versions** to review published versions. An active version is marked **Active**. Select an older read-only version to inspect its nodes.
Use **Restore as Draft** to copy that version into a new editable draft. Restoring does not replace the active version until you publish the restored draft.
## Change automation settings
Open **Settings** inside the automation to manage:
- Name and description
- Timezone and an optional execution window
- Retry failed actions and maximum retry attempts
- Completion notifications and their channels
- Failure notifications and recipients
These settings apply to execution behavior, not the visual order of nodes.
## Organize, duplicate, or delete
From the automation list:
- Select **Add Folder** to organize automations.
- Open **More actions**, then **Duplicate** to start from a copy.
- Use **Move to Folder** to reorganize an automation.
- Use **Delete** and type `DELETE` to confirm removal.
The confirmation explains that deleting removes the automation configuration and nodes, removes its execution history, and disables its triggers. This action cannot be undone from the automation list.
## Expected result
- A released automation shows **Published** in its detail header.
- An automation that can accept triggers shows **Active**.
- Draft edits do not replace the active version until published.
- **Versions** lists the current version and any retained previous versions.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Publish control is disabled | Builder validation found an issue | Open the issue counter and resolve every item |
| Automation is published but does not run | It is still inactive | Turn on the toggle and confirm **Active** |
| Header says **Draft (v# is Active)** | You have unpublished edits | Finish and publish the draft, or leave it unpublished while the active version continues |
| Older version is read-only | Published versions cannot be edited directly | Select **Restore as Draft**, edit the draft, then publish |
| Activation is blocked | The draft or published graph is invalid | Open the displayed validation message and repair the graph before activating |
| Automation should stop immediately | It is active | Turn the toggle off and confirm **Inactive** |
## Related articles
- [Automations overview](https://www.agencytitan.com/help/automations/overview/): Understand where automations live, how triggers and connected steps work, and how draft, published, active, and inactive states differ.
- [View automation run history](https://www.agencytitan.com/help/automations/view-run-history/): Use the Activity tab to filter automation runs, open an execution timeline, inspect step errors, copy identifiers, and re-run safely.
- [Common automation recipes](https://www.agencytitan.com/help/automations/common-recipes/): Build a task-stage notification and a weekday scheduled reminder with the triggers and actions available in AgencyTitan.
- [Troubleshoot automations](https://www.agencytitan.com/help/automations/troubleshoot-automations/): Diagnose validation issues, missing runs, inactive automations, and failed steps using the builder and Activity execution details.
---
# Troubleshoot automations
> Diagnose validation issues, missing runs, inactive automations, and failed steps using the builder and Activity execution details.
URL: https://www.agencytitan.com/help/automations/troubleshoot-automations/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Start with what AgencyTitan shows in the builder or **Activity**. Builder issues explain why a draft cannot publish. Execution details show where an accepted run stopped and the error surfaced by that step. Open the automation from **Settings**, then **Automations** ().
## A draft cannot publish
1. Open **Builder**.
2. Select the numbered issue control in the toolbar.
3. Open each affected node.
4. Complete the settings under **Configuration Errors**.
5. Confirm the graph has at least one trigger and a connected path.
6. Save each node, then select **Save Draft**.
7. Reload and confirm the issue count is clear before publishing.
The publish control's tooltip also summarizes why publishing is blocked.
## An automation did not start
Check these visible states first:
1. Confirm the automation is **Published** and **Active**.
2. Confirm you are viewing the correct automation and date range in **Activity**.
3. Review the trigger configuration and any conditions.
4. For a schedule, verify schedule type, timezone, and **Next Scheduled Executions**.
5. For a button or link, confirm the correct source is connected to that automation.
6. For an integration event, confirm the required integration is available to the agency.
If the header says **Draft (v# is Active)**, the active version is receiving triggers rather than the draft you are viewing.
## A run failed
1. Open **Activity** and select the **Failed** row.
2. Read the execution timeline from the trigger to the red failed step.
3. Expand the failed step when more detail is available.
4. Read the **Error** message.
5. Use **Tree** or **Raw** when the summarized message is not enough.
6. Copy the execution ID when sharing the failure through [Submit a ticket](/help/submit-a-ticket/).
7. Fix the draft, publish it, and use **Re-run** only when repeating earlier actions is safe.
In the example above, the HTTP action used a blocked local address. Activity shows **Failed**, identifies the failing action in the timeline, and surfaces **Outbound URL host is not allowed**. Your error text will reflect the step that failed.
## Common symptoms
| Symptom | What the UI can tell you | What to do |
| --- | --- | --- |
| Publish control is disabled | Issue count and tooltip identify validation problems | Open every issue, complete required fields, connect the path, and save the draft |
| Published automation has no runs | Header may show **Inactive** | Turn on the toggle and confirm **Active** |
| Draft changes are not running | Header shows **Draft (v# is Active)** | Publish the draft when ready; until then the named version remains active |
| Expected run is missing from Activity | Date filter excludes it or the trigger did not start | Expand the date range, refresh, then review trigger and condition settings |
| Condition is missing after reopening a trigger | It did not persist in the draft | Add it again, select **Done**, save the node and draft, and [submit a ticket](/help/submit-a-ticket/) if it repeats |
| Row shows **Failed** | One or more steps surfaced an error | Open the row and inspect the red step and error details |
| Row shows **Running** or **Waiting** | The run is not terminal | Refresh before re-running or changing the automation |
| Re-run could duplicate work | Earlier actions may have succeeded before a later failure | Review the timeline and side effects; repair manually or re-run only when safe |
| Automation should stop taking new work | It is active | Turn it inactive; existing activity remains visible |
## When submitting a ticket
Include the automation name, execution ID, start time, trigger, failed step, and surfaced error. Use **Copy URL** and **Copy ID** from execution detail instead of copying a long raw stack. See [Submit a ticket](/help/submit-a-ticket/).
## Related articles
- [Create an automation](https://www.agencytitan.com/help/automations/create-an-automation/): Create an automation draft, choose from the triggers available in the builder, and add field or related-record conditions.
- [Add actions and steps](https://www.agencytitan.com/help/automations/add-actions-and-steps/): Add and configure actions, connect nodes in execution order, and use control-flow and utility steps in the automation builder.
- [Publish and manage automations](https://www.agencytitan.com/help/automations/publish-and-manage/): Publish and activate an automation, edit a live version safely, restore an older version as a draft, duplicate, organize, or delete.
- [View automation run history](https://www.agencytitan.com/help/automations/view-run-history/): Use the Activity tab to filter automation runs, open an execution timeline, inspect step errors, copy identifiers, and re-run safely.
---
# View automation run history
> Use the Activity tab to filter automation runs, open an execution timeline, inspect step errors, copy identifiers, and re-run safely.
URL: https://www.agencytitan.com/help/automations/view-run-history/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
The **Activity** tab records automation executions. Use it to see whether runs completed, failed, are still in progress, or ended in another surfaced status.
## Who this is for
Agency team members who monitor or diagnose automations. Requires **View Automations**. Re-running also requires **Execute Automations**.
## Before you begin
- Identify the automation and date range you want to review.
- If you plan to re-run an execution, confirm its actions are safe to repeat.
## Open Activity
1. Open an automation from **Settings**, then **Automations** ().
2. Select **Activity**.
3. Choose **Today**, **7d**, **30d**, **This Month**, or a custom date range.
4. Optionally search the execution list.
The summary shows success rate, completed and failed counts, and a timeline chart. The legend includes **Pending**, **Running**, **Waiting**, **Completed**, **Failed**, **Cancelled**, **Skipped**, and **Dropped**.
Each row shows the entity when one is available, trigger, status, start time, duration, and step count. Use the refresh control when a running execution has not updated yet.
## Open an execution
Select a row or its view control. The execution detail shows:
- Status, entity, trigger, duration, start time, and execution ID
- An ordered execution timeline
- Each step's time and outcome
- A surfaced error when the run failed
- **Tree** and **Raw** detail views
- **Copy URL**, **Copy ID**, and **Re-run** controls
## Re-run an execution
Select **Re-run** only after reviewing why the original run failed and what steps can repeat. A re-run can resend messages, create records, update data, or call external systems again.
After re-running, return to **Activity** and open the new execution row. The original run remains in history.
## Expected result
- The selected date range controls the runs and summary counts shown.
- Opening a row shows its complete timeline and surfaced error details.
- A re-run creates a separate execution record.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Activity is empty | No runs match the selected date range | Select **30d** or a custom range and refresh |
| Entity shows **Unknown** | The trigger did not provide a recognized entity | Use the trigger, execution ID, and timeline to identify the run |
| Status stays **Running** or **Waiting** | The execution has not reached a terminal state | Refresh and reopen the row before taking action |
| **Re-run** is unavailable | You lack **Execute Automations** | Ask a workspace owner to grant **Execute Automations** |
| Failed row lacks enough context | The summary is condensed | Open the execution and inspect the failed step, error, **Tree**, and **Raw** views |
## Related articles
- [Automations overview](https://www.agencytitan.com/help/automations/overview/): Understand where automations live, how triggers and connected steps work, and how draft, published, active, and inactive states differ.
- [Publish and manage automations](https://www.agencytitan.com/help/automations/publish-and-manage/): Publish and activate an automation, edit a live version safely, restore an older version as a draft, duplicate, organize, or delete.
- [Troubleshoot automations](https://www.agencytitan.com/help/automations/troubleshoot-automations/): Diagnose validation issues, missing runs, inactive automations, and failed steps using the builder and Activity execution details.
---
# Use the workflow builder
> Build an automation from triggers, actions, and control-flow steps.
URL: https://www.agencytitan.com/help/automations/workflow-builder/
The workflow builder is the visual editor for automations. Start with a trigger, connect actions in execution order, and use branches, waits, and loops only when the workflow needs them.
Before publishing:
- Configure every node showing an error or incomplete state.
- Use the shortcode picker for data from the trigger, related records, and earlier action outputs.
- Check integration connections and client account mappings for actions that call external services.
- Review estimated pricing shown in the builder.
- Test with a safe record, then publish the version you intend to run.
Published workflows run the saved version. Editing a draft does not change the active version until it is published.
## Related articles
- [Add actions and steps](https://www.agencytitan.com/help/automations/add-actions-and-steps/): Add and configure actions, connect nodes in execution order, and use control-flow and utility steps in the automation builder.
- [Publish and manage automations](https://www.agencytitan.com/help/automations/publish-and-manage/): Publish and activate an automation, edit a live version safely, restore an older version as a draft, duplicate, organize, or delete.
---
# Marketplace bundles
> Install or publish a group of Marketplace items together.
URL: https://www.agencytitan.com/help/marketplace/bundles/
Marketplace bundles package two or more individually published Marketplace items into one installable collection. A bundle can contain processes, workflows, layouts, fields, SOPs, training, and other supported Marketplace items.
## Install a bundle
1. Open the bundle in Marketplace and review its included items.
2. Purchase or add the bundle when required.
3. Choose **Import bundle**. AgencyTitan imports the included items in dependency order and reports the number imported.
4. Review each imported item before using it in production, especially credentials, assignees, mappings, and workflow activation.
Importing a bundle does not connect third-party accounts or activate every imported workflow automatically. Existing compatible items may be reused or updated instead of duplicated.
## Publish a bundle
From Marketplace submissions, choose **Bundle**, select at least two items that are already published, add the listing details, and submit it for review. Updating an approved bundle creates a pending version while the approved version remains available.
---
# Update a Marketplace item
> Review a Marketplace update, resolve conflicts, and apply the changes while keeping the workspace values you need.
URL: https://www.agencytitan.com/help/marketplace/update-a-marketplace-item/
import AppPath from '../../../components/docs/AppPath.astro';
When a Marketplace item you already use has a new version, AgencyTitan opens an update wizard so you can review the changes before applying them. The wizard preserves your workspace changes and asks you to decide only where your values and the publisher's values overlap.
## Start an update
1. Open **Marketplace** () and open an item that is already in your workspace.
2. When an update is available, choose the update action and review the planned changes.
3. Continue to **Conflicts** when the preview shows overlapping changes.
Updates use the update wizard for an item already in your workspace. This lets the wizard compare the original version, your current workspace value, and the new publisher value before it applies the update.
## Review conflicts
The Conflicts step automatically suggests a resolution for every conflict and shows a plain-English reason for the suggestion. The platform assist can use policy recommendations or AI suggestions, depending on the field. It does not use your tenant's AI credits.
Each conflict appears in one row. Choose the value you want inline:
- **Keep mine** keeps your workspace value.
- **Take publisher** applies the value from the new Marketplace version.
- **Keep original** restores the value from the original version.
Layout conflicts are preselected to use the publisher's layout by default. This applies the publisher's layout changes when you continue without changing those layout fields. To preserve the current tenant layout for a field, choose **Keep my layout** for that field.
Select **Show details** when you need to compare the raw original, workspace, and publisher values. The resolved count in the summary shows how many conflict fields still need a choice. You can continue once all conflicts are resolved.
## Use suggestions and advanced choices
The first suggestion pass runs automatically when you enter Conflicts. Select **Re-run AI suggestions** to request suggestions again for fields that are still eligible. Select **Undo suggestions** to remove choices made by the suggestion pass. These actions do not override choices you made yourself.
For a whole-object decision, expand **Advanced: resolve whole objects instead of fields**. There you can keep the entire workspace object or replace it with the publisher object. Field-by-field choices are the safer default when you want to preserve selected local changes.
After you review the resolved count and planned update summary, continue to confirm and apply the update.
## Related articles
- [Marketplace bundles](https://www.agencytitan.com/help/marketplace/bundles/): Install or publish a group of Marketplace items together.
---
# Agency settings
> Update agency identity and branding, and understand how users, roles, departments, and department-level permissions work together.
URL: https://www.agencytitan.com/help/settings/agency-settings/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use **Agency** and **Team & Access** settings to maintain your agency identity, shared branding, users, roles, departments, and permissions.
## Who this is for
Agency owners, users with the **Administrator** role, and team members with **View Settings**. Changing **General** or **Branding** requires **Edit Settings**. User and department pages require the matching Team Management permissions, such as **View Users**, **Invite Users**, and **View Departments**. Members can see and change only the areas granted through their department level.
## Before you begin
- Gather approved values for **Agency Name**, **Time Zone**, **Contact Information**, **Business Address**, and **Social Profiles**.
- Prepare brand assets for light and dark modes when your agency uses both themes.
- Review the intended roles, department levels, and user assignments before changing access.
## Update general agency information
1. Open **Settings**, then **Agency**, then **General** ().
2. Review **Basic Information**:
- **Agency Name**
- **Time Zone**
- **Your Agency Slug**, which can be copied but is not edited on this page
3. Complete the visible **Contact Information**, **Business Address**, and **Social Profiles** fields that apply to your agency.
4. Confirm **All changes saved** appears in the page header.
The agency time zone controls how dates and times display across the app. Contact and address details can appear in customer-facing areas where AgencyTitan uses them.
## Configure branding
1. Open **Agency**, then **Branding** ().
2. Under **Agency Logo**, upload the light-mode logo and optionally a separate dark-mode logo.
3. Under **Favicon**, upload the light-mode favicon and optionally a separate dark-mode favicon.
4. Under **Navigation Background**, choose whether to replace the default background for light mode or dark mode.
The visible upload guidance accepts PNG, JPG, or SVG logos up to 2 MB and recommends 200 by 60 pixels. Favicons accept PNG or ICO at 32 by 32 or 64 by 64 pixels. If a dark-mode asset is not provided, AgencyTitan uses the light-mode asset.
## Understand users and roles
Open **Team & Access**, then **Users** (). The list shows each user's email, role, department assignments, status, and last active time. Use **Search users...** to narrow the list.
Owner and Administrator both have full product access. The differences are:
- A lower role cannot impersonate a higher role.
- Administrators cannot remove Owners.
- The agency must keep at least one Owner.
**Member** access is controlled by department-level assignments and permissions. See [Core Concepts](/help/getting-started/core-concepts/) for the role table.
To add agency teammates, select **Invite Users** and follow [Invite your team](/help/getting-started/invite-your-team/). That invite is for the agency app, not the client portal.
## Review department-level permissions
Open **Team & Access**, then **Permissions** (). Search for a permission or expand a permission group to see which department levels and users receive it.
The page separates permissions such as viewing users, inviting users, editing users, and managing departments. Owners and users with the Administrator role always have full access; the displayed department-level grants apply to everyone else.
:::caution[Permission changes can broaden access]
Review both the department level and its assigned users before granting a permission. A grant applies to every member assigned to that level.
:::
## Organize departments
Open **Team & Access**, then **Departments** (). Each department card shows its number of levels and users. Select **Manage Levels & Permissions** to configure that department, or select **Create Department** to add another team structure.
To create departments, add levels, and grant permissions step by step, see [Set up departments and levels](/help/getting-started/set-up-departments-and-levels/).
Department assignments connect members to their access level. They can also be selected while inviting a user.
## Expected result
- General settings show the correct agency identity, time zone, and contact details.
- Branding assets and navigation background match the agency's intended visual identity.
- The Users list shows the correct role, department assignments, and status for each team member.
- Department levels grant only the permissions their members need.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| An Agency or Team & Access page is missing | You lack **View Settings** or the matching Team Management permission | Ask a workspace owner to grant **View Settings**, **View Users**, or **View Departments** as needed |
| A member cannot use a feature | Their department level does not grant the required permission | Find the feature on **Permissions** and review the member's department assignment |
| A user has the wrong access | Their role or department assignment does not match the intended access | Review the user's role and assigned department levels |
| Dark-mode branding looks like light mode | No dark-mode asset was uploaded | Upload a dark-mode logo or favicon if the light-mode asset is not suitable |
## Related articles
- [Settings overview](https://www.agencytitan.com/help/settings/overview/): Find AgencyTitan settings and understand how agency, ticket, process, notification, and personal controls fit together.
- [Set up departments and levels](https://www.agencytitan.com/help/getting-started/set-up-departments-and-levels/): Create departments, add levels, and grant permissions so Members get the right access before you invite the team.
- [Invite your team](https://www.agencytitan.com/help/getting-started/invite-your-team/): Invite agency teammates from Users so they can sign in to the agency app. This is not a client portal invite.
- [Process settings](https://www.agencytitan.com/help/settings/process-settings/): Find process definitions and understand stages, statuses, fields, task naming, pinning, and sidebar configuration at a high level.
---
# Configure Google PageSpeed Insights
> Connect Google PageSpeed Insights and run mobile or desktop website audits from AgencyTitan workflows.
URL: https://www.agencytitan.com/help/settings/google-pagespeed-insights/
import AppPath from '../../../components/docs/AppPath.astro';
Google PageSpeed Insights runs Lighthouse audits for a website and returns performance scores, Core Web Vitals, lab metrics, and the most useful audit findings in a workflow-friendly format.
## Before you begin
- Create a Google Cloud project or choose an existing one.
- Enable the **PageSpeed Insights API** for that project.
- Create an API key in **Google Cloud Console**. Restrict the key to the PageSpeed Insights API and add application restrictions that match the way your team sends requests.
- Check the project's PageSpeed quota before running large batches of audits. Each audit consumes provider quota, so avoid unnecessary fan-out and repeated tests.
## Connect the integration
1. Open **Settings**, then **Integrations** ().
2. Open **Google PageSpeed Insights**.
3. Select **Connect** and enter the Google API key.
4. Give the connection a recognizable name, select **Verify**, and save it after verification succeeds.
The integration uses API-key authentication. AgencyTitan sends the key in the request query parameter required by Google PageSpeed Insights, not as a bearer authorization header. Credentials are stored by the integration connection and are not included in workflow results.
PageSpeed connections support both tenant and client scopes. Use a tenant connection for shared agency access. Use a client connection when that client should use its own Google Cloud project or quota. Client connections are managed from the client's Integrations area ().
## Configure a PageSpeed action
In the workflow builder, add the PageSpeed endpoint from the **Integrations** actions and configure these fields:
| Field | What it does |
| --- | --- |
| **Website URL** | Audits the supplied HTTP or HTTPS URL. The field is optional when the action runs with a client context that has a valid Website value. |
| **Strategy** | Choose **Mobile** or **Desktop** for the Lighthouse analysis. |
| **Categories** | Choose **Full audit**, **Performance**, **Accessibility**, **Best Practices**, or **SEO**. |
| **Locale** | Optionally sets the locale used for formatted Lighthouse text, such as `en-US`. |
When **Website URL** is blank in client context, AgencyTitan reads the current client's **Website** field. An explicit URL always takes precedence. If neither value is a valid HTTP or HTTPS URL, the action stops with a validation error.
The full audit sends all four supported categories: **Performance**, **Accessibility**, **Best Practices**, and **SEO**. These are the current choices for this integration; legacy Lighthouse categories such as **PWA** are not supported.
The same connected endpoint can be executed by supported MCP and workflow actions. In either case, AgencyTitan applies the selected connection, URL fallback, category transform, and normalized response behavior described here.
## Understand the result
AgencyTitan trims the provider response to fields useful in a workflow. The result includes:
- **requested_url**, **final_url**, **analysis_utc_timestamp**, **fetch_time**, and **lighthouse_version**.
- **scores** for **performance**, **accessibility**, **best_practices**, and **seo**, expressed as values from 0 to 100 when Google provides a score.
- **core_web_vitals**, including the overall category, LCP, CLS, INP, FCP, and TTFB values. Values are selected from URL-level field data when available, otherwise origin-level data. The `source` field identifies `url`, `origin`, or `none`.
- **lab_metrics** for FCP, LCP, CLS, Speed Index, Total Blocking Time, and Time to Interactive.
- Up to 10 **audits** with an audit ID, title, score, display value, description, numeric value and unit, and estimated time or byte savings when available.
The returned audit list is pruned to actionable findings. Informational, manual, not-applicable, and high-scoring audit entries are omitted, so an empty list does not mean that the provider request failed.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| The connection cannot be verified | The API is disabled, the key is invalid, or the key restriction does not allow the PageSpeed Insights API | Enable the API, check the key, and review both API and application restrictions in Google Cloud Console |
| The action says a Website URL is required | No explicit URL was provided and the current client has no valid Website value | Add a valid Website value to the client or provide the URL in the action |
| Audits are rejected or throttled | The Google Cloud project has reached its PageSpeed quota | Check the project's quota and reduce repeated or parallel audits |
| A client audit uses the wrong quota or credentials | The workflow is using a tenant connection instead of a client connection | Configure and select the appropriate client-scoped connection |
## Related articles
- [Integration account mappings and reference fields](https://www.agencytitan.com/help/settings/integration-mapping-references/): Choose which connected external account a client or task should use.
- [Add actions and steps](https://www.agencytitan.com/help/automations/add-actions-and-steps/): Add and configure actions, connect nodes in execution order, and use control-flow and utility steps in the automation builder.
- [View automation run history](https://www.agencytitan.com/help/automations/view-run-history/): Use the Activity tab to filter automation runs, open an execution timeline, inspect step errors, copy identifiers, and re-run safely.
---
# Integration account mappings and reference fields
> Choose which connected external account a client or task should use.
URL: https://www.agencytitan.com/help/settings/integration-mapping-references/
Some integrations can expose several external accounts from one or more connections. Client account mappings connect a client to those accounts. More than one active mapping can exist, and one may be marked as the default.
An **Integration Account Reference** field lets a task or process select a specific mapped account. Use it when a workflow must target something other than the client's default account. The field shows safe account labels and identifiers; it never reveals credentials.
If AgencyTitan asks you to choose a connection or account, make the selection explicitly. It will not guess when several active choices are available. Removing or disabling a mapping can leave an older saved reference readable while preventing new calls through that mapping.
## Related articles
- [Settings overview](https://www.agencytitan.com/help/settings/overview/): Find AgencyTitan settings and understand how agency, ticket, process, notification, and personal controls fit together.
---
# Notification and personal settings
> Configure agency-wide email and in-app notification defaults, review the notification center, and use personal agency and availability controls.
URL: https://www.agencytitan.com/help/settings/notifications-and-personal-settings/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
AgencyTitan separates shared notification settings from your personal notification center and user-menu controls. Shared settings choose the default delivery channels for supported events; the notification center is where you review in-app items.
## Who this is for
- Signed-in team members can open **Notification Center** and use the personal controls in the user menu.
- Opening shared notification settings requires **View Settings**. Changing defaults requires **Edit Settings**. Adding user exceptions requires **Manage Notification Overrides**.
## Before you begin
- Switch to the agency workspace whose notification settings you want to review.
- Decide which notification events should use **Email**, **In-app**, or both.
- Identify any users who need an exception to the shared defaults.
## Configure shared notification defaults
1. Open **Settings**, then **System**, then **Notifications** ().
2. Use **Search notifications...** to find an event.
3. Turn **Email** or **In-app** on or off for that event.
4. Use **Mute email** or **Mute in-app** on a category when every event in that category should use the same muted channel.
Each event explains when it is sent and who receives it. The enabled count in the page header summarizes the current configuration.
## Add a user override
Select **User overrides** on a notification event to replace the agency-wide default for specific users.
1. Search for a team member.
2. Choose that user's **Email** and **In-app** settings.
3. Select **Add Override**.
4. Review **Current overrides**, then select **Done**.
An override can opt a user in when an agency-wide channel is off or opt the user out when it is on.
:::note[Overrides apply to one event]
Open **User overrides** on each notification event that needs an exception. Changing one event does not change every notification for that user.
:::
## Use the notification center
Select the bell in the top bar to open **Notification Center** ().
Use the available controls to:
- Switch between unread items and a broader notification view.
- Filter by priority, user, or type.
- Select **Refresh** to reload the list.
- Select **Mark all read** when unread notifications are present.
The empty state explains when the current filter has no matching notifications.
## Use personal agency and status controls
Open your avatar menu in the top-right corner. The menu shows your current role, availability status, and active agency. The personal controls covered here live in this menu rather than on a separate Settings page.
- Select an agency under **My Agencies** to switch the active workspace.
- Select **Add another agency** when you need to join or create another agency through the available flow.
- Select **Sign out** to end the current session.
- Select the current availability status to open the status choices.
Choose **Online**, **Away**, **DND**, or **Custom** to update the status shown for your account.
## Expected result
- Shared notification events show the intended email and in-app defaults.
- User-specific exceptions appear under **Current overrides** for the corresponding event.
- The notification center reflects the selected filters and read state.
- The user menu shows the intended agency and availability status.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Notifications** is missing from System settings | You lack **View Settings** | Ask a workspace owner to grant **View Settings** |
| Email or In-app switches cannot be changed | You lack **Edit Settings** | Ask a workspace owner to grant **Edit Settings** |
| **User overrides** is missing | You lack **Manage Notification Overrides** | Ask a workspace owner to grant **Manage Notification Overrides** |
| A user receives a different channel than the default | That event has a user override | Open **User overrides** for the event and review **Current overrides** |
| Notification center is empty | The current filters have no matches | Show more than unread items and clear priority, user, or type filters |
| **Mark all read** is unavailable | No unread item matches the current view | Change the filters or leave the list unchanged |
| The wrong agency's notifications are shown | Another agency is active | Open the user menu and select the intended agency |
## Related articles
- [Settings overview](https://www.agencytitan.com/help/settings/overview/): Find AgencyTitan settings and understand how agency, ticket, process, notification, and personal controls fit together.
- [Agency settings](https://www.agencytitan.com/help/settings/agency-settings/): Update agency identity and branding, and understand how users, roles, departments, and department-level permissions work together.
- [Process settings](https://www.agencytitan.com/help/settings/process-settings/): Find process definitions and understand stages, statuses, fields, task naming, pinning, and sidebar configuration at a high level.
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
---
# Settings overview
> Find AgencyTitan settings and understand how agency, ticket, process, notification, and personal controls fit together.
URL: https://www.agencytitan.com/help/settings/overview/
import DocsArticleCard from '../../../components/docs/DocsArticleCard.astro';
import DocsArticleCardGrid from '../../../components/docs/DocsArticleCardGrid.astro';
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use **Settings** to control how your agency is identified, how team members get access, and how tickets and tasks behave. The settings available to you depend on your role and department-level permissions.
## Open Settings
Select the **Settings** gear in the left navigation (). Use **Search settings...** or expand a group in the Settings sidebar to find a page.
The sidebar groups settings into **Agency**, **Team & Access**, **Clients**, **Tasks & Processes**, **Globals**, **Public Forms**, **Tickets**, and **System**. This collection covers the areas most directly involved in agency setup and day-to-day configuration.
## Who can access settings
- Agency owners and users with the **Administrator** role have full access.
- Members receive access through their department-level assignments and permissions.
- Opening most Agency and System pages requires **View Settings**. Changing agency identity, branding, or shared notification defaults requires **Edit Settings**.
- The **Archive** tab in **System Logs** uses the separate **View Archive** permission. Restoring an item requires **Restore Archive Items**.
- **Ticket settings** require **Manage Ticket Settings**.
- Process configuration requires **View Process Definitions**.
- A page or control can be unavailable when your role does not include the corresponding permission.
Open **Team & Access**, then **Permissions**, to review which department levels can access each part of AgencyTitan. See [Agency settings](/help/settings/agency-settings/) for the relationship between users, roles, departments, and permissions.
:::note[Settings access is not one all-or-nothing switch]
A team member may be able to work with tickets or tasks without being able to change the shared configuration behind them.
:::
## Review and restore archived items
Open **Settings**, then **System**, then **System Logs**, and select **Archive** (). The Archive restoration center lists archived records across the agency. Search the list, browse by group or entity type, and use **Restorable only** to focus on items that currently pass the restore checks.
**View Archive** (`archive.view`) lets a team member open the Archive tab, inspect archived-record details, and see each item's current status. **Restore Archive Items** (`archive.restore`) adds the restore action for items that are eligible. These permissions are separate, so a member may have read-only access without being able to restore anything.
Before a row's details open, AgencyTitan runs a current-condition preflight. A row can show one of these statuses:
- **Restorable**: the current checks allow the item to be restored.
- **Needs check**: the item may be restorable, but a current condition needs attention or has changed since the list was loaded. Review the reason shown in the details before trying again.
- **View only**: the item is visible for audit and recovery context but does not have a supported restore path. The restore permission does not change this status.
When you confirm a permitted restore, AgencyTitan checks the item again, verifies its tenant and active parent or related records, and applies the supported restore operation. Some restores include related archived records or follow-up flags; the confirmation details show those counts and notes. If a conflict appears during the final check, the item remains archived and the reason is shown instead of forcing a partial restore.
## Main settings areas
| Area | What it controls |
| --- | --- |
| **Agency settings** | Agency identity, contact details, branding, users, roles, departments, and department-level permissions. |
| **Ticket settings** | Inboxes, statuses, ticket-specific tags and priorities, SLA defaults, lifecycle behavior, routing, reply templates, and assignment options. |
| **Process settings** | Process definitions, stages, statuses, fields, task sidebar defaults, and other per-process configuration. |
| **Notification settings** | Agency-wide email and in-app defaults for supported notification events, plus user-specific overrides. |
| **Personal controls** | Your notification center, current agency, and availability status. |
| **Archive** | Review archived records and restore eligible items from **System Logs**. |
## Guides in this category
## Related articles
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [Views and dashboards overview](https://www.agencytitan.com/help/views/overview/): Understand how AgencyTitan views combine tables, Kanban boards, calendars, charts, and metrics into scoped dashboards and work surfaces.
- [Public form submission settings](https://www.agencytitan.com/help/settings/public-form-settings/): Configure how public form submissions match existing clients or create new client records.
---
# Process settings
> Find process definitions and understand stages, statuses, fields, task naming, pinning, and sidebar configuration at a high level.
URL: https://www.agencytitan.com/help/settings/process-settings/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use **Process settings** to define the structure and data behind repeatable tasks. This guide identifies the main configuration surfaces without covering deep process authoring.
## Who this is for
Agency team members who review or change process definitions. Opening the list requires **View Process Definitions** or **View Processes**. Creating a definition requires **Create Process Definitions**. Changing stages, fields, or process settings requires **Edit Process Definitions**.
## Find a process definition
1. Open **Settings**, then **Tasks & Processes**, then **Processes** ().
2. Use **Search processes...** or the **All**, **Active**, and **Archived** filters to find a definition.
3. Use the folder and layout controls when you need another way to organize or scan the list.
4. Select a process name to open its configuration.
The list shows each process's stages and available operational information such as fee, estimated time, use, and program count. Select **New Process** to begin a new definition or **Add Folder** to organize definitions.
## Understand stages
Open a process, then select **Stages** (). Use **List** or **Flow** to switch how the structure is displayed.
- **Main flow** stages form the primary task path.
- **Sub Stage** adds a nested stage below an existing stage.
- **Branch Stage** adds a separate branch-stage area.
- Each visible stage card shows its active task count and stage actions.
Stages define the path used by tasks created from this process. Keep the order and branch structure understandable before your agency relies on the definition for live work.
### Route a complete-stage button by client data
When a stage layout includes a complete-stage button, set its target to **Go to stage conditionally** to route the task based on field values. In **Branch Conditions**, you can choose custom fields from the task's directly linked client, including boolean fields. Use **is true** or **is false** to branch on a boolean client field such as `Requires approval`.
Branches are evaluated from top to bottom, and the first matching branch wins. Configure a default branch for tasks that do not match any condition. The condition builder shows only the fields and operators supported for complete-stage routing; this linked-client option covers the client directly associated with the task, not an arbitrary chain of related records.
## Understand process fields
Select **Fields** (). Fields define the data your agency can track for each task created from the process.
Use **New Field** to create each field the process should collect. Field type and layout choices are part of deeper authoring and should follow your agency's data standards.
When configuring a process field, **Include in AI Context** is on by default. Turn it off to exclude the field from automatic AI record-context loading. This does not affect search indexing or explicit lookups.
## Configure object/value schedule sources
Program schedules can create more than one task per run from a matching object or client value. Open a program from **Settings**, then **Agency**, then **Programs**, and select **Processes** (). In a process schedule, turn on **Create Instances from Object/Value** and choose an **Object or value** source:
- A mapped integration account creates instances for each matching account.
- A client-linked custom object creates instances for each matching object record.
- A client number field creates the configured number of instances for that client.
Saving the source is optional. Leave **Save each object/value in this process field (optional)** empty when the created tasks do not need the source value. For an object source, choose a compatible reference process field to save the whole object. If you choose a compatible scalar process field instead, use **Property to save** to select a scalar property such as the object's ID or name.
Object sources include the **Only include objects that match** filter. Leave it empty to include every matching object for the client, or add conditions to narrow the objects that can create tasks. The separate **Only create when client matches** conditions apply to the client as a whole: when the client does not match, a recurring occurrence is skipped; a one-time schedule keeps trying until its due window ends.
## Configure task naming, pinning, statuses, and sidebar defaults
Select **Settings** for the current process ().
The visible configuration includes:
- **Primary Name Field** chooses the process field that identifies each task. AgencyTitan can automatically detect the best field when none is chosen manually.
- **Pin for Me** keeps the process prominent for you; **Pin for Everyone** makes it visible to all team members.
- **Process Statuses** define the task lifecycle and related business logic. Select **Edit Statuses**, **Use Template**, or **Save as Template** as needed.
- **Default Sidebar** controls which sections appear in the task sidebar and their order.
The visible status set includes **Not Started**, **In Progress**, **On Hold**, and **Complete**. Your agency can configure a different set.
:::caution[Process settings shape future task work]
Review changes with the people who use the process. Stage, field, status, and sidebar choices determine how the process is presented when the team works its tasks.
:::
## Expected result
- The process appears under the correct active or archived filter and folder.
- Stages show the intended main flow, substages, and branch stages.
- Fields represent the data the team needs on each task.
- The primary name field, status set, pinning, and default sidebar match how the team should work the process.
For the task-working experience, see [Work a task](/help/tasks/work-a-task/).
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Processes** is missing from Settings | You lack **View Process Definitions** and **View Processes** | Ask a workspace owner to grant **View Process Definitions** or **View Processes** |
| A process is missing from the list | Search, status filter, or folder excludes it | Clear search, select **All**, and review folders |
| A task has no useful name | No primary name field is selected or the selected field is empty | Choose an appropriate **Primary Name Field** and complete that field on the task |
| A field is unavailable on tasks | It is not configured on the process | Open **Fields** and review the process field set |
| A status is missing | It is not in the process's configured status set | Open process **Settings** and review **Process Statuses** |
| Sidebar sections differ from expectations | The process uses another default sidebar configuration | Review enabled sections and their order under **Default Sidebar** |
## Related articles
- [Settings overview](https://www.agencytitan.com/help/settings/overview/): Find AgencyTitan settings and understand how agency, ticket, process, notification, and personal controls fit together.
- [Work a task](https://www.agencytitan.com/help/tasks/work-a-task/): Work the current stage, update task details, complete required fields, and move a task through its configured stages.
- [Notification and personal settings](https://www.agencytitan.com/help/settings/notifications-and-personal-settings/): Configure agency-wide email and in-app notification defaults, review the notification center, and use personal agency and availability controls.
---
# Public form submission settings
> Configure how public form submissions match existing clients or create new client records.
URL: https://www.agencytitan.com/help/settings/public-form-settings/
import AppPath from '../../../components/docs/AppPath.astro';
Use **Public Forms** to choose how each form connects a submission to a client. The **Existing Client Matching** setting applies per form.
## Open a form's submission settings
1. Open **Settings**, then **Public Forms** ().
2. Select the form you want to configure.
3. Open the **Submission** tab ().
4. Find **Existing Client Matching**.
You need permission to view Public Forms. Changes are saved for the form you are editing.
## Choose how submissions match clients
The default is **Match client by email, then phone**. For each submission, AgencyTitan checks for an exact email match first. If there is no email match, it checks for an exact phone match. A new client is created only when neither check finds a match.
To opt out of matching for a form, choose **Always create new client**. That option makes the submission create a new client instead of linking to an existing one.
If the matching details identify more than one possible client, the submission is sent to the review queue for a person to resolve. Review the candidates and choose the correct client, or choose to create a new client, before approving the submission.
## Expected result
- A normal submission links to the existing client found by the configured matching rule.
- A submission with no matching email or phone creates a new client when the default is selected.
- A form set to **Always create new client** does not use existing-client matching.
- An ambiguous match remains available for review instead of being attached automatically.
## Related articles
- [Settings overview](https://www.agencytitan.com/help/settings/overview/): Find AgencyTitan settings and understand how agency, ticket, process, notification, and personal controls fit together.
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
---
# Ticket settings
> Understand general ticket configuration for statuses, tags, priorities, SLA defaults, and lifecycle behavior, then continue to focused setup guides.
URL: https://www.agencytitan.com/help/settings/ticket-settings/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use **Ticket settings** to control the shared ticket lifecycle and intake behavior for your agency. This page covers the general configuration that is not already documented in the focused inbox, routing, and reply-template guides.
## Who this is for
Agency team members who manage ticket configuration. Requires **Manage Ticket Settings**.
## Open General ticket settings
Open **Settings**, then **Tickets**, then **General** ().
The page combines these settings:
| Section | What it controls |
| --- | --- |
| **Inboxes** | Connected message channels and the system **Client Portal** inbox. |
| **Ticket Statuses** | Agency-defined statuses organized into lifecycle buckets. |
| **Ticket Tags** | Optional ticket-specific tags, which inherit global tags by default. |
| **Ticket Priorities** | Optional ticket-specific priorities, which inherit global priorities by default. |
| **SLA Defaults** | First-response and resolution targets for each enabled priority. |
| **Ticket Lifecycle** | Automatic closure and waiting-on-client timing. |
## Configure ticket statuses, tags, and priorities
- Under **Ticket Statuses**, select **Edit Statuses** to change the available status set.
- Select **Use Template** to apply an existing status template.
- Select **Save as Template** to preserve the current status configuration for reuse.
- Under **Ticket Tags** or **Ticket Priorities**, select **Add** to create a ticket-specific option when the inherited global options are not enough.
Each ticket status belongs to a lifecycle bucket. The visible defaults include **New**, **Open**, **Waiting on Client**, **Resolved**, and **Closed**, but your agency can use a different configured set.
:::note[Statuses and priorities affect the working inbox]
Team members use these configured values while finding and updating tickets. See [Find and work tickets](/help/tickets/find-and-work-tickets/) and [Assign and update a ticket](/help/tickets/assign-and-update-a-ticket/).
:::
## Configure SLA defaults and lifecycle timing
Scroll down on **General** to **SLA Defaults** and **Ticket Lifecycle**.
- Enable the priorities that should have SLA targets, then set a **First response** and **Resolution** duration for each one.
- Turn on **Enable automatic ticket closure** when resolved and waiting tickets should move through the lifecycle automatically.
- Turn on **Use business days** when lifecycle timing should use the agency schedule. The page falls back to calendar days when no agency schedule is configured.
- Set how long a resolved ticket waits before it closes automatically.
- Set when AgencyTitan sends a waiting-on-client reminder and when it automatically resolves the ticket if no reply arrives.
- Select **Edit Reminder Email** to review the reminder content.
Changes on this part of the page save automatically.
## Continue to focused setup guides
These ticket settings already have complete step-by-step guides:
- [Set up a ticket inbox](/help/tickets/set-up-a-ticket-inbox/) for connected email or SMS channels, visibility, defaults, and inbound or outbound behavior.
- [Create intake routing rules](/help/tickets/create-intake-routing-rules/) for routing brand-new email tickets by sender, subject, client match, and arrival inbox.
- [Create reply templates](/help/tickets/create-reply-templates/) for shared responses that team members insert from the ticket composer.
The Ticket settings sidebar also exposes other configuration areas when your permissions and agency setup make them available. Use the focused page for the setting you intend to change.
## Expected result
- Ticket statuses, tags, and priorities show the agency's intended options.
- Enabled SLA defaults show the correct first-response and resolution targets.
- Automatic lifecycle controls use the timing and business-day choice you selected.
- Existing inbox, routing, and reply-template setup remains available through its focused settings page.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Tickets** is missing from Settings | You lack **Manage Ticket Settings** | Ask an owner to review your ticket settings permission |
| A status is missing from a ticket | It is not in the configured status set | Open **Ticket Statuses** and review the current statuses and buckets |
| A tag or priority is missing | The option is neither inherited globally nor added for tickets | Review **Ticket Tags**, **Ticket Priorities**, and the corresponding global setting |
| SLA timing is not shown for a priority | That priority's SLA switch is off | Enable it and enter first-response and resolution targets |
| Business-day timing is unexpected | The agency schedule is not configured | Review the agency schedule or use calendar days |
| A new email ticket enters the wrong inbox | General lifecycle settings do not control intake routing | Review [Create intake routing rules](/help/tickets/create-intake-routing-rules/) |
## Related articles
- [Settings overview](https://www.agencytitan.com/help/settings/overview/): Find AgencyTitan settings and understand how agency, ticket, process, notification, and personal controls fit together.
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Set up a ticket inbox](https://www.agencytitan.com/help/tickets/set-up-a-ticket-inbox/): Connect an email or SMS channel in ticket settings and configure visibility, defaults, inbound behavior, and outbound behavior.
- [Create intake routing rules](https://www.agencytitan.com/help/tickets/create-intake-routing-rules/): Route brand-new email tickets by sender, subject, known-client match, and arrival inbox using ordered ticket intake rules.
- [Create reply templates](https://www.agencytitan.com/help/tickets/create-reply-templates/): Create shared ticket reply templates with formatted content and shortcodes, then insert active templates from the ticket composer.
- [Assign and update a ticket](https://www.agencytitan.com/help/tickets/assign-and-update-a-ticket/): Change ticket status, priority, assignees, client, department, tags, privacy, and inbox from the ticket view.
---
# Create a task
> Create a task from the Tasks view by choosing a process type, completing required fields, and assigning its current stage.
URL: https://www.agencytitan.com/help/tasks/create-a-task/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Create a task when you need a new item of work based on one of your agency's process definitions. The selected **Process Type** determines which fields are required.
## Who this is for
Agency team members who create task work. Requires **Create Processes**. Without it, **New Task** does not appear.
## Before you begin
- Open **Tasks** ().
- Confirm the process type you need is active and available to you.
- If that process requires a client, identify the client before you start.
## Create the task
1. Select **New Task**.
2. Select the required **Process Type**.
3. Complete **Client**:
- A red asterisk means the selected process requires a client.
- **Client (Optional)** can be left empty.
4. Set **Due Date** when needed. The form marks it optional unless the selected process requires it.
5. Complete every process field marked with a red asterisk.
6. Leave **Redirect to edit upon save** on when you want to open the new task immediately.
7. Select **Create Task**.
The process type can add different fields to this form. Required fields such as a title come from the process definition you choose.
## Assign the current stage
Task creation and assignment are separate steps in this view.
1. Open the new task. If **Redirect to edit upon save** was on, it opens automatically.
2. In the right panel, find **Assigned** under **Stage**.
3. Select **Assigned** and choose the team member or members responsible for the current stage.
4. Close the picker to return to the task.
The users available for assignment can depend on the process, stage, department, and your access.
## Expected result
- The task appears under the selected process type and in every Tasks queue it matches.
- The task contains the client, due date, and required field values entered during creation.
- The current stage shows the selected assignee or assignees.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **New Task** is missing | You lack **Create Processes** | Ask a workspace owner to grant **Create Processes** |
| Process type is missing | The definition is inactive or unavailable to you | Confirm the process is active and you have access |
| **Create Task** stays disabled | A required field is empty or invalid | Complete each field marked with a red asterisk |
| Client cannot be left empty | The process requires a client link | Select a client before creating the task |
| Assignee is missing from the picker | Stage or department rules exclude that user | Review the stage's assignment requirements with the process owner |
## Related articles
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [Work a task](https://www.agencytitan.com/help/tasks/work-a-task/): Work the current stage, update task details, complete required fields, and move a task through its configured stages.
- [Task fields and layouts](https://www.agencytitan.com/help/tasks/task-fields-and-layouts/): Understand where task field values are stored, where fields appear, and how to edit task and stage information.
- [Find tasks](https://www.agencytitan.com/help/tasks/find-tasks/): Use Tasks queues, process views, search, stage and assignee filters, tables, and boards to find work.
---
# Find tasks
> Use Tasks queues, process views, search, stage and assignee filters, tables, and boards to find work.
URL: https://www.agencytitan.com/help/tasks/find-tasks/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use the Tasks sidebar for common queues and process-specific views. Search and filters narrow the current result without changing the tasks.
## Who this is for
Agency team members who plan, triage, or deliver task work. Requires **View Processes**. If your access is limited to assigned tasks, only those tasks appear.
## Before you begin
- Sign in to the agency workspace that owns the task.
- Identify a useful detail, such as the **Process**, **Assignee**, **Current Stage**, **Status**, or date.
## Start with a queue or process
Open **Tasks** (), then choose the narrowest useful starting point.
| View | Use it to find |
| --- | --- |
| **Active** | Work that is currently active. |
| **Past due** | Work beyond its due date. |
| **All** | Active and completed work. |
| **Unassigned** | Work without an assignee. |
| **Assigned to me** | Work assigned to you. |
| **Created by me** | Tasks you created. |
| **Watched by me** | Tasks you watch. |
| **My departments** | Work associated with your departments. |
Select a process name below the queues to see only tasks created from that process definition. Saved process views appear beneath their process when available.
## Search and filter
1. Use the search box above the result to match task information in the current view.
2. Select **Filters**.
3. Under **Current Stage**, filter by **Status**, **Assignee**, **Department**, **Current Stage**, or the current stage's start and due dates.
4. Under **Process**, filter by the task's overall **Status**, **Assignee**, or dates.
5. Close the drawer to review the result.
Current-stage filters answer questions such as which Intake tasks are unassigned. Process filters apply to the task as a whole. Clear filters from the drawer when you want to broaden the result.
## Use table or board view
- Select **Table View** for rows, sortable columns, and dense comparison.
- Select **Board View** for cards arranged into columns.
- Use **View By** to group the current result. **Current Stage** places each task under its current stage.
- Use **Sort** to change the order.
- Use **Columns** or **Fields** to control the values shown when those controls are available.
Search, filters, and the table or board choice work together. If the result is unexpectedly empty, clear search and filters before changing queues.
## Expected result
- The selected queue or process limits the starting set of tasks.
- Search and filters narrow that set by stage, assignee, status, dates, or other available values.
- Table and board views present the same current result in different layouts.
- Opening a row or card takes you to the task.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Task is missing | The current queue, process, search, or filters exclude it | Open **All**, clear search and filters, then look again |
| Process is missing from the sidebar | **Show only active** is on, the process is inactive, or access excludes it | Turn off the switch or confirm your process access |
| Filter returns no tasks | The combined conditions are too narrow | Clear filters and add them back one at a time |
| Assigned task is missing from **Assigned to me** | The assignment is at a different level or belongs to another user | Open the process view and filter the current-stage and process assignees separately |
| Saved view is missing | It belongs to another process or is unavailable to you | Open the correct process and confirm access to the view |
## Related articles
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [Create a task](https://www.agencytitan.com/help/tasks/create-a-task/): Create a task from the Tasks view by choosing a process type, completing required fields, and assigning its current stage.
- [Work a task](https://www.agencytitan.com/help/tasks/work-a-task/): Work the current stage, update task details, complete required fields, and move a task through its configured stages.
- [Task fields and layouts](https://www.agencytitan.com/help/tasks/task-fields-and-layouts/): Understand where task field values are stored, where fields appear, and how to edit task and stage information.
---
# Link tasks to tickets
> Link a task to an existing or new ticket, open either record from the other, and unlink the relationship.
URL: https://www.agencytitan.com/help/tasks/link-tasks-to-tickets/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Link a task to a ticket when a customer conversation needs related delivery work. The relationship gives each record a direct link to the other without combining their fields, status, or history.
## Who this is for
Agency team members who work across Tasks and Tickets. Requires **View Processes** and **Edit Processes**, plus **View Tickets** and ticket management access.
## Before you begin
- Open the task from **Tasks** ().
- If you are linking an existing ticket, note its subject or ticket number. See [Find and work tickets](/help/tickets/find-and-work-tickets/).
- Confirm **Linked Tickets** is visible in the task's right panel.
## Link an existing ticket
1. Open the task's stage view.
2. Under **Linked Tickets**, select the plus button.
3. Select **Link existing ticket**.
4. Find and select the ticket.
5. Confirm the ticket card appears under **Linked Tickets**.
Select the card to open the ticket.
## Create and link a ticket from the task
1. Under **Linked Tickets**, select the plus button.
2. Select **Create new ticket**.
3. Complete the ticket form and create the ticket.
4. Confirm the new ticket card appears under **Linked Tickets**.
If ticket creation succeeds but linking fails, AgencyTitan keeps the new ticket and tells you to use **Link existing ticket** to attach it.
The menu can also show **AI suggest** when ticket suggestions are enabled for your workspace. Use it only when that option is visible.
## Open the task from the ticket
The ticket's details panel shows the relationship under **Linked Tasks**. A linked-task card includes the task name, process type, and status.
Select the card to return to the task.
## Unlink the records
1. Select the unlink **X** on the linked ticket or task card.
2. Review the confirmation.
3. Select **Unlink**.
Unlinking removes only the relationship. It does not delete the task or ticket.
## Expected result
- The ticket appears under **Linked Tickets** on the task.
- The task appears under **Linked Tasks** on the ticket.
- Selecting either card opens the related record.
- Unlinking removes both cross-references without deleting either record.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **Linked Tickets** or its plus button is missing | The sidebar layout hides it or you cannot manage links | Ask the process owner to review the sidebar and confirm your access |
| Ticket is missing from the picker | Search or ticket access excludes it | Search by subject or number and confirm you can open the ticket |
| New ticket was created but not linked | Ticket creation succeeded and the link request failed | Choose **Link existing ticket** and select the new ticket |
| Linked task is not visible on the ticket | The details panel is closed or the link did not save | Open the details panel and retry the link |
| Record disappears after unlinking | Only its card was removed from the other record | Find the task in Tasks or the ticket in Tickets |
## Related articles
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [Work a task](https://www.agencytitan.com/help/tasks/work-a-task/): Work the current stage, update task details, complete required fields, and move a task through its configured stages.
- [Find and work tickets](https://www.agencytitan.com/help/tickets/find-and-work-tickets/): Use inboxes, quick filters, statuses, departments, client filters, and search to find and open tickets in the Tickets inbox.
- [Assign and update a ticket](https://www.agencytitan.com/help/tickets/assign-and-update-a-ticket/): Change ticket status, priority, assignees, client, department, tags, privacy, and inbox from the ticket view.
---
# Tasks & processes overview
> Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
URL: https://www.agencytitan.com/help/tasks/overview/
import Screenshot from '../../../components/Screenshot.astro';
import DocsArticleCard from '../../../components/docs/DocsArticleCard.astro';
import DocsArticleCardGrid from '../../../components/docs/DocsArticleCardGrid.astro';
import AppPath from '../../../components/docs/AppPath.astro';
The **Tasks** area is where your team finds and completes repeatable work. Each task follows a task type that defines its stages, fields, and layout.
## How task types and tasks relate
AgencyTitan stores a task type as a **process definition**. The creation form calls it **Process Type**.
| Part | What it controls |
| --- | --- |
| **Process definition** | The reusable setup for one type of work, including its name, stages, fields, layouts, and defaults. |
| **Stage** | One step of the work. A stage can show its own fields, assignment, status, dates, and completion action. |
| **Field and layout** | The information a task stores and where that information appears while someone works a stage. |
| **Task** | One live item of work created from the process definition. It has its own values, assignments, status, and progress. |
For example, a client-request process can have **Intake**, **Execution**, and **Communicate Request Completion** stages. Each request created from it is a separate task.
:::note[One definition, many tasks]
Changing a task updates that task. Changing the process definition changes the reusable setup used by tasks; it does not turn all tasks into one shared record.
:::
## Where to work and where to configure
- Open **Tasks** () to create, find, assign, and work tasks.
- Select a process in the Tasks sidebar to see tasks of that type.
- Open a task to work its current stage and update its values.
- Open **Settings**, then **Tasks & Processes**, then **Processes** () to review the reusable definitions, stages, fields, and layouts when you have access.
## From creation to completion
1. A team member selects **New Task** and chooses a **Process Type**.
2. AgencyTitan creates the task from that process definition.
3. The task opens in its current stage with the fields and layout configured for that stage.
4. Team members enter values, update assignment and status, and use the stage's completion action.
5. The task moves through its remaining stages until the work is complete.
Tasks can link to a client when the process requires one. They can also link to tickets so customer conversations and delivery work remain connected.
## Guides in this category
## Related articles
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
- [Clients overview](https://www.agencytitan.com/help/clients/overview/): Understand the Clients list, client record anatomy, Client Profile templates, Info Sheets, notes, programs, tasks, and tickets.
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Escalations overview](https://www.agencytitan.com/help/escalations/overview/): Understand Escalations, how they differ from tickets and tasks, and how the inbox, statuses, and linked records fit together.
---
# Search the tasks sidebar
> Quickly find a process or task group from the Tasks page.
URL: https://www.agencytitan.com/help/tasks/sidebar-search/
Use the search box in the Tasks sidebar to narrow the process list without changing the tasks shown by your current filters. Search matches process names as you type.
The sidebar also includes user and department quick filters with active-task counts. Selecting a process opens that task list; on smaller screens the sidebar closes after navigation. Clear the search to restore the full process list.
This page covers sidebar navigation search. To search task records and their field values, use the main task table search described in [Find tasks](/help/tasks/find-tasks/).
## Related articles
- [Find tasks](https://www.agencytitan.com/help/tasks/find-tasks/): Use Tasks queues, process views, search, stage and assignee filters, tables, and boards to find work.
---
# Task fields and layouts
> Understand where task field values are stored, where fields appear, and how to edit task and stage information.
URL: https://www.agencytitan.com/help/tasks/task-fields-and-layouts/
import Screenshot from '../../../components/Screenshot.astro';
A process definition controls which fields are available and which fields each stage layout displays. Each task stores its own values for those fields.
## Definitions, layouts, and values
| Part | Where it is managed | What it means while working a task |
| --- | --- | --- |
| **Process field** | The process definition's **Fields** page | Defines a reusable field such as Request Title, Request Details, or an uploaded file. |
| **Stage layout** | The selected stage's layout builder | Places fields and other elements in the stage workspace. |
| **Task field value** | The task itself | Stores the information entered for that specific task. |
| **Task and stage details** | The right panel | Shows assignment, client, priority, status, tags, department, dates, and progress. |
The same process field can appear in more than one stage layout. Its saved value belongs to the task, so another layout that uses that field shows the task's current value.
## Edit field values on a task
1. Open the task and the stage that contains the field.
2. Select the field and enter or change its value.
3. Move out of the field or pause briefly to allow auto-save to finish.
4. Watch for an error message. If none appears, the saved value remains with the task.
Required fields have a red asterisk. A required value can block stage completion even though other field edits have already saved.
## Edit details in the right panel
The right panel separates the working layout from common task and stage information.
- Select **Assigned**, **Client**, **Priority**, **Status**, **Tags**, or **Dept** to edit a value when you have access.
- Select **See More** to review additional dates and record details.
- Use the task or stage information control in the panel when you need to switch which level you are reviewing.
The labels and available controls can vary with the published layout and your permission.
## How layouts affect what you see
A stage layout can place process fields, buttons, text, checklists, and other elements in the main workspace. Stage settings can also render the standard header, sidebar, and substage list automatically.
If a field exists in the process definition but is missing from a task stage, the published layout may not include it. Ask someone with process settings access to review that stage's layout.
:::note[Layout changes placement, not the task's identity]
Moving or removing a field in a layout changes where team members see it. The task remains a separate record with its own saved values.
:::
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Field is missing from the stage | The published layout does not include it | Ask the process owner to review the stage layout |
| Field is read-only | The layout, field type, or your access prevents editing | Confirm you have edit access and are on an editable task stage |
| Required field blocks completion | Its value is empty or invalid | Complete the field marked with a red asterisk and retry |
| Edited value reverts | Auto-save failed | Re-enter the value and review the save error |
| Expected right-panel section is missing | The process or stage sidebar layout hides it | Ask the process owner to review sidebar visibility |
## Related articles
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [Create a task](https://www.agencytitan.com/help/tasks/create-a-task/): Create a task from the Tasks view by choosing a process type, completing required fields, and assigning its current stage.
- [Work a task](https://www.agencytitan.com/help/tasks/work-a-task/): Work the current stage, update task details, complete required fields, and move a task through its configured stages.
- [Find tasks](https://www.agencytitan.com/help/tasks/find-tasks/): Use Tasks queues, process views, search, stage and assignee filters, tables, and boards to find work.
---
# Work a task
> Work the current stage, update task details, complete required fields, and move a task through its configured stages.
URL: https://www.agencytitan.com/help/tasks/work-a-task/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Open a task to complete its current stage. The process definition controls the stages, the fields shown in each stage, and the action used to finish the work.
## Who this is for
Agency team members who deliver or review task work. Requires **View Processes**. Changing values and completing stages also requires **Edit Processes**.
## Before you begin
- Open the task from **Tasks** (). See [Find tasks](/help/tasks/find-tasks/).
- Confirm the task name, process type, and current stage in the header.
- Check **Assigned** in the right panel to confirm who owns the current stage.
## Work the current stage
1. Review the fields in the main stage workspace.
2. Enter or update the information needed for the work. Required fields have a red asterisk.
3. Complete any checklists, files, or other fields included in the layout.
4. Review the right panel for assignment, client, priority, status, tags, department, dates, and progress.
5. Add a comment when another team member needs context.
Field changes save automatically after a short pause. See [Task fields and layouts](/help/tasks/task-fields-and-layouts/) for how saved values and layouts relate.
## Complete the stage
1. Finish every required field and prerequisite shown in the stage.
2. Select the configured stage action. It may be labeled **Complete Stage** or use a name specific to the process, such as **Submit Request**.
3. Wait for the task to refresh before leaving the page.
4. Confirm the progress and current-stage indicators changed.
When the stage has **Auto-Advance** enabled, completing it opens the next configured stage. A process can also use a completion action that routes to a specific stage. The available path depends on the process definition.
:::note[Saving is not completing]
Auto-save keeps edited field values. It does not complete the stage. Use the stage's completion action when the work is ready to move forward.
:::
## Review all stages
Open **More actions**, then **Task Dashboard**, to review the task-level summary and the full stage list. The dashboard shows which stage is current, which stages are not started, and overall progress.
## Expected result
- Edited field values remain on the task.
- The right panel reflects the latest assignment, status, and other details.
- Completing the stage updates progress and follows the route configured for that action.
- The next stage becomes available when the process configuration allows it.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| A field change does not save | The value is invalid or the save request failed | Correct the value and retry after the error message |
| Stage cannot complete | A required field or prerequisite is incomplete | Complete the highlighted fields and review the stage requirements |
| Expected completion button is missing | The published stage layout uses another action or does not include one | Ask the process owner to review the stage layout |
| Task did not move to the expected stage | Auto-advance or the action's target is configured differently | Review the current stage and ask the process owner to confirm the route |
| You cannot update the task | You have **View Processes** but not **Edit Processes** | Ask a workspace owner to grant **Edit Processes** |
## Related articles
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [Create a task](https://www.agencytitan.com/help/tasks/create-a-task/): Create a task from the Tasks view by choosing a process type, completing required fields, and assigning its current stage.
- [Task fields and layouts](https://www.agencytitan.com/help/tasks/task-fields-and-layouts/): Understand where task field values are stored, where fields appear, and how to edit task and stage information.
- [Find tasks](https://www.agencytitan.com/help/tasks/find-tasks/): Use Tasks queues, process views, search, stage and assignee filters, tables, and boards to find work.
---
# Configure charts and metrics
> Add chart series, grouping, sorting, filters, and metric calculations to build a useful AgencyTitan dashboard.
URL: https://www.agencytitan.com/help/views/configure-charts-and-metrics/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Charts explain a breakdown or trend. Metrics show one summary value. Use both when a dashboard needs an at-a-glance result and the context behind it.
## Who this is for
Agency team members who build reporting dashboards or operational summaries. Requires **View Layouts** and **Edit Layouts**.
## Before you begin
- Create a view and add a section. See [Create a view](/help/views/create-a-view/).
- Decide whether the result needs a category breakdown, a trend, or one summary value.
- Identify the data source, calculation, grouping field, and filters that define the result.
## Configure a chart
1. Open the view in the builder from **Settings**, then **Views** ().
2. Drag a chart from **Data** into a section. Available chart blocks are **Bar**, **Line**, **Pie**, **Donut**, **Area**, and **Scatter Plot**.
3. Select the chart and expand **General**.
4. Enter **Chart Title**, confirm **Chart Type**, and choose **Data Source**.
5. Expand **Data**.
6. Under **Data Series**, select **Add Series** when the chart needs another calculation or subset.
7. Choose **Group By (Categories)** for the category axis.
8. Configure **Sort Order**, **Data Limit**, filters, and optional date filtering.
9. Under **Style**, configure chart height, palette, legend, labels, stacking, axes, and number formatting as needed.
10. Select **Save Draft**.
For a count by status, use a count series and group by the status field. For a trend, use a line or area chart with an appropriate date grouping.
## Configure a metric
1. Drag a metric from **Data** into a section. Available metric blocks are **Count**, **Sum**, **Average**, **Percentage**, and **Custom Metric**.
2. Select the metric and expand **General**.
3. Enter **Metric Title**.
4. Choose **Data Source**.
5. Choose **Calculation Type** and any field required by that calculation.
6. Add filters to define which records contribute to the value.
7. Configure **Date Filtering** when the metric should follow the view picker.
8. Turn on **Apply additional calculation** only when the base result needs a static adjustment or second metric.
9. Select **Save Draft**.
## Arrange a dashboard
A useful operational dashboard often follows this order:
1. Metrics for the most important totals or rates.
2. One or two charts that explain the breakdown.
3. A filtered table or Kanban board for the underlying records.
Keep each block focused. A metric named **Overdue tasks** should filter to overdue tasks; a chart named **Tasks by stage** should group tasks by the stage field.
:::note[One date picker can drive several blocks]
Turn on **Enable Date Range Filter** in **View Settings**, then give each chart or metric a **Date Field** and keep **Follow View Picker** selected. Blocks without a configured date field do not follow the picker.
:::
## Expected result
- Charts render the selected calculation grouped and sorted as configured.
- Metrics show one value calculated from the matching records.
- Dashboard blocks that follow the view picker update for its selected date range.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Chart has no categories | **Group By (Categories)** is empty | Choose a grouping field |
| Chart or metric is empty | Data source, filters, or required calculation field is incomplete | Review **General** and **Data** from top to bottom |
| Metric is unexpectedly high | Filters are too broad | Add conditions that match the metric title |
| Dashboard date picker changes some blocks only | Other blocks do not follow the picker or lack a date field | Configure **Date Filtering** on each intended block |
| Labels are hard to read | Chart style does not fit the data | Adjust height, label rotation, legend, data limit, or chart type |
## Related articles
- [Views and dashboards overview](https://www.agencytitan.com/help/views/overview/): Understand how AgencyTitan views combine tables, Kanban boards, calendars, charts, and metrics into scoped dashboards and work surfaces.
- [Create a view](https://www.agencytitan.com/help/views/create-a-view/): Choose a global, client, or process scope, create the view, and add table, Kanban, calendar, chart, or metric blocks in the builder.
- [Filter and sort view data](https://www.agencytitan.com/help/views/filter-and-sort-view-data/): Configure per-widget filters, condition groups, sorting, limits, and view-level date filtering in a dashboard.
- [Configure Kanban and calendar views](https://www.agencytitan.com/help/views/configure-kanban-and-calendar-views/): Configure Kanban grouping, cards, behavior, filters, and calendar data sources, date fields, and default display.
---
# Configure Kanban and calendar views
> Configure Kanban grouping, cards, behavior, filters, and calendar data sources, date fields, and default display.
URL: https://www.agencytitan.com/help/views/configure-kanban-and-calendar-views/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Use a **Kanban Board** to group records into columns. Use a **Calendar** when the important question is when records start, are due, or reach another date field.
## Who this is for
Agency team members who build visual work queues or date-based dashboards. Requires **View Layouts** and **Edit Layouts**.
## Before you begin
- Create a view and add a section. See [Create a view](/help/views/create-a-view/).
- For Kanban, choose the record source and field whose values should become columns.
- For calendar, identify at least one record date field to display.
## Add a Kanban board
1. Open the view in the builder from **Settings**, then **Views** ().
2. Drag **Kanban Board** from **Data** into a section.
3. Select the board and expand **General**.
4. Enter a title.
5. Choose **Data Source**.
6. When using process data, choose **Process Definition**.
7. Choose **Column Field**. Each value of this field becomes a Kanban column.
## Configure Kanban cards and behavior
- Under **Cards**, choose a title field and optional subtitle field. Turn on badges when cards should show priority or status.
- Under **Behavior**, configure **Enable drag & drop**, **Enable search**, and optional swimlanes.
- Under **Filters**, narrow the board by supported process status, client, or assignee conditions. Stage selection is controlled by **Column Field**.
- Under **Appearance**, adjust how the board is displayed.
- Under **Date Filtering**, choose a date field when the board should follow the view-level date picker.
Select **Save Draft** after the configuration is complete.
## Add a calendar
1. Drag **Calendar** from **Data** into a section.
2. Select the calendar.
3. Under **General**, enter **Calendar Title**.
4. Choose **Month**, **Week**, or **Day** as the default view.
5. Set **Events per day before overflow**.
6. Under **Data**, choose one or more **Data Sources**.
7. Select **Add Dates** and choose the date fields that should create events.
8. Select **Save Draft**.
The calendar preview includes search, Month, Week, Day, and Today controls. It remains empty until at least one date field is selected.
## Choose between Kanban and calendar
| Question | Better block |
| --- | --- |
| Which stage or status is each task in? | **Kanban Board** |
| What work is due this week? | **Calendar** |
| Which owner, client, or status should I focus on? | **Kanban Board** with filters |
| Which dates from several record types should I see together? | **Calendar** with multiple data sources and date fields |
## Expected result
- The Kanban board groups matching records by the selected column field and shows the configured card details.
- The calendar opens in the selected default period and plots each configured date field.
- Blocks configured for date filtering respond to the view-level date picker.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Kanban preview shows placeholders | Process definition or grouping field is incomplete | Choose the process definition and **Column Field** |
| Expected Kanban column is missing | Its value is absent from the selected field or excluded by filters | Review the grouping field and filters |
| Cards lack useful context | Title, subtitle, or badges are not configured | Open **Cards** and choose the display fields |
| Calendar is empty | No date field is selected | Select **Add Dates** and choose at least one field |
| Calendar shows the wrong period first | Default view does not match the intended use | Choose Month, Week, or Day under **General** |
| Too many events hide behind overflow | Per-day limit is too low | Increase **Events per day before overflow** |
## Related articles
- [Views and dashboards overview](https://www.agencytitan.com/help/views/overview/): Understand how AgencyTitan views combine tables, Kanban boards, calendars, charts, and metrics into scoped dashboards and work surfaces.
- [Create a view](https://www.agencytitan.com/help/views/create-a-view/): Choose a global, client, or process scope, create the view, and add table, Kanban, calendar, chart, or metric blocks in the builder.
- [Filter and sort view data](https://www.agencytitan.com/help/views/filter-and-sort-view-data/): Configure per-widget filters, condition groups, sorting, limits, and view-level date filtering in a dashboard.
- [Configure charts and metrics](https://www.agencytitan.com/help/views/configure-charts-and-metrics/): Add chart series, grouping, sorting, filters, and metric calculations to build a useful AgencyTitan dashboard.
---
# Create a view
> Choose a global, client, or process scope, create the view, and add table, Kanban, calendar, chart, or metric blocks in the builder.
URL: https://www.agencytitan.com/help/views/create-a-view/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Create the view from the area that matches its scope, then use the layout builder to choose its data sources and blocks.
## Who this is for
Agency team members who design dashboards or work lists. Requires **View Layouts**, **Create Layouts**, and **Edit Layouts**. Without **Create Layouts**, **New View** does not appear.
## Before you begin
- Decide whether the view belongs across the agency, in client context, or to one process definition.
- Decide which records the view should show, such as clients, tasks, tickets, time entries, or users.
- Sketch the result: summary metrics, charts, a calendar, a Kanban board, a table, or a combination.
## Choose the scope
Open the creation area for the scope you need:
1. For a **Global** view, open **Settings**, then **Views** ().
2. For a **Client** view, open **Client Views** ().
3. For a **Process** view, open the process in process settings and select **Views**.
Process views are tied to the process you opened. Client views are reusable in client context rather than tied to one client record.
## Create the view record
1. Select **New View**.
2. Enter **View Name**.
3. Optionally choose an icon.
4. Select **Create View**.
AgencyTitan opens the new view in the builder.
:::note[Scope, data source, and block type are separate choices]
The creation dialog does not have a **View Type** or **Data Source** field. The area where you create the view establishes its scope. After creation, each table, Kanban board, calendar, chart, or metric chooses its own data source in the builder.
:::
## Add the first data block
1. Select **Or Click to Add Section** on an empty canvas.
2. Open **Data** in the left palette.
3. Drag a block into the section:
- **Data Table**
- **Calendar**
- **Kanban Board**
- A chart type
- A metric type
4. Select the block on the canvas to open its properties panel.
5. Choose **Data Source**. The live selector includes records such as clients, tasks, tickets, time entries, users, assignments, and process-related records.
6. Complete the block-specific settings.
7. Select **Save Draft**.
See [Filter and sort view data](/help/views/filter-and-sort-view-data/), [Configure Kanban and calendar views](/help/views/configure-kanban-and-calendar-views/), and [Configure charts and metrics](/help/views/configure-charts-and-metrics/) for the next steps.
## Expected result
- The view appears in the settings list with its scope.
- The builder contains at least one section and one configured block.
- The builder header shows **Draft** after you select **Save Draft**.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **New View** is missing | You lack **Create Layouts** | Ask a workspace owner to grant **Create Layouts** |
| **Create View** does not continue | **View Name** is empty | Enter a name, then retry |
| Wrong scope appears in settings | The view was created from the wrong area | Create it from Global, Client, or the selected process's **Views** area |
| Data is unrelated to the view's purpose | The block uses the wrong **Data Source** | Select the block and change its data source |
| Changes return after you leave | The draft was not saved | Select **Save Draft** before leaving the builder |
## Related articles
- [Views and dashboards overview](https://www.agencytitan.com/help/views/overview/): Understand how AgencyTitan views combine tables, Kanban boards, calendars, charts, and metrics into scoped dashboards and work surfaces.
- [Filter and sort view data](https://www.agencytitan.com/help/views/filter-and-sort-view-data/): Configure per-widget filters, condition groups, sorting, limits, and view-level date filtering in a dashboard.
- [Configure Kanban and calendar views](https://www.agencytitan.com/help/views/configure-kanban-and-calendar-views/): Configure Kanban grouping, cards, behavior, filters, and calendar data sources, date fields, and default display.
- [Configure charts and metrics](https://www.agencytitan.com/help/views/configure-charts-and-metrics/): Add chart series, grouping, sorting, filters, and metric calculations to build a useful AgencyTitan dashboard.
- [Manage views](https://www.agencytitan.com/help/views/manage-views/): Rename, duplicate, organize, change visibility, and delete AgencyTitan views from settings.
---
# Filter and sort view data
> Configure per-widget filters, condition groups, sorting, limits, and view-level date filtering in a dashboard.
URL: https://www.agencytitan.com/help/views/filter-and-sort-view-data/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Filters and sorting are configured on each data block. This lets one dashboard show different slices of the same records, such as all active tasks in a table and overdue tasks in a metric.
## Who this is for
Agency team members who edit view layouts and need each block to show a focused set of records. Requires **View Layouts** and **Edit Layouts**.
## Before you begin
- Create a view and add at least one table, chart, metric, or Kanban block. See [Create a view](/help/views/create-a-view/).
- Decide which records should be included and whether every condition or any condition should match.
- Identify the field that should control sorting or date filtering.
## Open a block's data settings
1. Open **Settings**, then **Views** (), and open the view.
2. Select the table, chart, or metric on the canvas.
3. Expand **General** or **Data**, depending on the block.
4. Confirm **Data Source** before building conditions.
## Build a filter
1. Find **Filters** in the block's properties.
2. Under **Match**, choose:
- **All** when every condition must match.
- **Any** when at least one condition can match.
3. Select **Add condition**.
4. Choose a field, operator, and value.
5. Select **Done** to finish the highlighted condition.
6. Add more conditions as needed.
7. Use **Add group** when a nested group needs its own All or Any logic.
8. Select **Save Draft**.
:::caution[Finish each condition]
The builder warns **Finish the highlighted filter condition before saving** when a condition is incomplete. Choose every required field, operator, and value, then select **Done**.
:::
## Sort and limit a table
In a **Data Table** block:
1. Add the columns the table should display.
2. Under **Sort By**, choose a sortable field.
3. Choose the direction when the direction control appears.
4. Set **Rows Per Page** when pagination is enabled.
5. Optionally set **Maximum Results** to limit the records fetched.
6. Select **Save Draft**.
Charts provide **Sort Order** and **Data Limit** in their **Data** section. Kanban column order comes from its configured column field rather than the table sorting control.
## Save and reuse filters
The Views builder does not show a separate named **Saved Filters** library. The conditions are part of the table, chart, metric, or Kanban configuration and are saved with the view draft. Reopen the view and select the same block to update that saved filter definition.
To reuse a complete configuration, use **Duplicate** on the view and edit the copy. See [Manage views](/help/views/manage-views/).
## Use the view-level date picker
1. Open **View Settings** from the builder header.
2. Turn on **Enable Date Range Filter** and choose a default range.
3. Return to the block.
4. Under **Date Filtering**, use **Follow View Picker** and choose a **Date Field**.
5. Save the view settings and the draft.
The date picker only drives blocks that have a date field configured to follow it.
## Expected result
- Each configured block shows only records that match its saved conditions.
- Tables and charts use the selected sort and result limits.
- Blocks configured to follow the view picker update when its date range changes.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Filter cannot be saved | A highlighted condition is incomplete | Finish or remove the condition |
| Filter returns no records | Field, operator, value, or data source does not match the intended records | Review the condition from left to right and confirm the block's **Data Source** |
| **Sort By** has no useful choice | The needed column or field is not available for the selected data source | Add the field as a column or change the data source |
| Date picker does not affect a block | Date filtering or **Date Field** is not configured | Enable the view date range, then set the block to **Follow View Picker** |
| Library order looks wrong | The Views library has its own sort control | Change **Recently Updated**, **Recently Created**, or **Name (A-Z)** in the library |
## Related articles
- [Views and dashboards overview](https://www.agencytitan.com/help/views/overview/): Understand how AgencyTitan views combine tables, Kanban boards, calendars, charts, and metrics into scoped dashboards and work surfaces.
- [Create a view](https://www.agencytitan.com/help/views/create-a-view/): Choose a global, client, or process scope, create the view, and add table, Kanban, calendar, chart, or metric blocks in the builder.
- [Configure Kanban and calendar views](https://www.agencytitan.com/help/views/configure-kanban-and-calendar-views/): Configure Kanban grouping, cards, behavior, filters, and calendar data sources, date fields, and default display.
- [Configure charts and metrics](https://www.agencytitan.com/help/views/configure-charts-and-metrics/): Add chart series, grouping, sorting, filters, and metric calculations to build a useful AgencyTitan dashboard.
---
# Manage views
> Rename, duplicate, organize, change visibility, and delete AgencyTitan views from settings.
URL: https://www.agencytitan.com/help/views/manage-views/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
Manage global views from **Settings**, then **Views** (). Process and client views are managed from their scoped Views areas.
## Who this is for
Agency team members who maintain view names, access, organization, or lifecycle. Requires **View Layouts**. Renaming, visibility, and organization require **Edit Layouts**. Deleting requires **Delete Layouts**.
## Before you begin
- Confirm the view's Global, Client, or Process scope.
- Review the audience before changing visibility.
- Make sure a view is no longer needed before deleting it.
## Find management actions
The settings list shows each view's name, scope, updated date, created date, and creator. Use search, folders, or the Global-only control to narrow the list.
Open **More actions** on a view for:
- **Edit View**
- **View Settings**
- **Duplicate**
- **Delete**
## Rename a view
1. Open the view and select **Entity Settings** in the builder header, or choose **View Settings** from **More actions**.
2. Change **View Name**.
3. Optionally update the icon or description.
4. Select **Save Settings**.
## Change visibility
In **View Settings**, choose **Who can access this view?**:
| Option | Audience shown in the live settings |
| --- | --- |
| **Private (Only Me)** | Only you |
| **Shared (Selected Users/Roles)** | The selected internal audience |
| **Public (Everyone in agency)** | Everyone in the agency |
Select **Save Settings** after changing visibility. Open the view from **Views** () to confirm that it appears for the intended audience.
:::caution[Visibility affects access]
Review the data blocks and filters before broadening a view's visibility. A view can combine records from several data sources.
:::
## Duplicate and organize views
- Choose **Duplicate**, review the default **Copy of _view name_** name in the dialog, then select **Duplicate View**.
- Select **Add Folder** to organize related views.
- Use the list selection controls and **Move to Folder** to reorganize several items together.
- The team-facing Views library can display views as cards or a list and sort them by update date, creation date, or name.
## Delete a view
1. Open **More actions** for the view.
2. Select **Delete**.
3. Review the view name in the confirmation.
4. Type `DELETE`.
5. Select **Delete View**.
Deleting removes the view and its configuration from the list. This action should be treated as permanent.
## Expected result
- Saved name, icon, description, and visibility changes appear when the view is reopened.
- Duplicated and moved views appear under the expected name and folder.
- A deleted view no longer appears in the settings list or team-facing library.
## Troubleshooting
| Symptom | Likely cause | What to do |
| --- | --- | --- |
| **More actions** is missing | You lack **Edit Layouts** or **Delete Layouts** | Ask a workspace owner to grant the matching Layouts permission |
| Rename does not appear in the list | Settings were not saved or the list is stale | Select **Save Settings**, return to the list, and refresh |
| A teammate cannot find the view | Visibility or scope does not include their context | Review **Who can access this view?** and the view scope |
| **Delete View** stays disabled | Confirmation text does not exactly match | Type `DELETE` in uppercase |
| View is hard to find | Search, folder, or Global-only filter excludes it | Clear search, show all scopes, and check its folder |
## Related articles
- [Views and dashboards overview](https://www.agencytitan.com/help/views/overview/): Understand how AgencyTitan views combine tables, Kanban boards, calendars, charts, and metrics into scoped dashboards and work surfaces.
- [Create a view](https://www.agencytitan.com/help/views/create-a-view/): Choose a global, client, or process scope, create the view, and add table, Kanban, calendar, chart, or metric blocks in the builder.
- [Filter and sort view data](https://www.agencytitan.com/help/views/filter-and-sort-view-data/): Configure per-widget filters, condition groups, sorting, limits, and view-level date filtering in a dashboard.
---
# Views and dashboards overview
> Understand how AgencyTitan views combine tables, Kanban boards, calendars, charts, and metrics into scoped dashboards and work surfaces.
URL: https://www.agencytitan.com/help/views/overview/
import Screenshot from '../../../components/Screenshot.astro';
import AppPath from '../../../components/docs/AppPath.astro';
import DocsArticleCard from '../../../components/docs/DocsArticleCard.astro';
import DocsArticleCardGrid from '../../../components/docs/DocsArticleCardGrid.astro';
A **view** is a configurable dashboard or work surface. It has a layout made of sections and data blocks, plus settings for scope, visibility, date filtering, and refresh behavior. A view is more than a saved filter: filters and sorting belong to the individual data blocks inside it.
## Who this is for
Agency team members who open or design dashboards and work lists. Opening Views requires **View Layouts**. Creating or changing a view requires **Create Layouts** or **Edit Layouts**.
## Where views appear
- **Views** () is the team-facing library. Use its sidebar, search, sort, folders, and Global or Client badges to find a published view.
- A client record has a **Views** tab for views that are available in client context.
- **Views** in agency settings () is where global views are created and edited.
- **Client Views** () holds reusable client-scoped views.
- A process's **Views** settings hold dashboards tied to that process definition.
## View scopes
| Scope | Use it for | Where to create it |
| --- | --- | --- |
| **Global** | Agency-wide reporting or work lists that can use data across the agency | **Settings**, then **Views** |
| **Client** | A reusable dashboard shown in client context | **Client Views** settings |
| **Process** | Reporting or work tracking tied to one process definition | Open the process in process settings, then select **Views** |
The selected scope organizes the view and controls its context. Each data block still has its own **Data Source** setting.
## Data blocks available in the builder
| Block | What it shows |
| --- | --- |
| **Data Table** | Records in columns, with pagination, sorting, filters, and optional row actions. |
| **Kanban Board** | Records grouped into columns by a field such as current stage. |
| **Calendar** | Selected date fields on Month, Week, or Day views. |
| **Charts** | Bar, line, pie, donut, area, or scatter visualizations. |
| **Metrics** | Count, sum, average, percentage, or custom summary values. |
Combine blocks in one layout. For example, put metrics at the top, a chart beneath them, and a filtered table or Kanban board below for the records behind the summary.
## Guides in this category
## Related articles
- [Core Concepts](https://www.agencytitan.com/help/getting-started/core-concepts/): Learn the AgencyTitan product model: workspace, clients, tasks, tickets, escalations, chat, SOPs, training, views, automations, programs, and settings.
- [Tasks & processes overview](https://www.agencytitan.com/help/tasks/overview/): Understand how task types, process definitions, stages, fields, layouts, assignments, and tasks fit together.
- [Tickets overview](https://www.agencytitan.com/help/tickets/overview/): How the Tickets inbox, ticket conversations, assignment, statuses, inboxes, routing rules, and reply templates fit together.
- [Settings overview](https://www.agencytitan.com/help/settings/overview/): Find AgencyTitan settings and understand how agency, ticket, process, notification, and personal controls fit together.