> ## Documentation Index
> Fetch the complete documentation index at: https://docs.msportal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure TimeZest Integration

> Connect TimeZest and control scheduling capabilities for client users

Connect TimeZest to create scheduling requests after client tickets, display appointments in MSPortal calendars and tickets, and provide secure appointment management links.

<Note>
  TimeZest is currently a beta integration. If the integration is not available in **Settings > Integrations**, contact [support@msportal.ai](mailto:support@msportal.ai).
</Note>

## Prerequisites

* A TimeZest account with permission to create API keys
* A TimeZest API key with read and write access
* MSPortal.ai integration management permission
* Client roles or company groups if you plan to restrict scheduling access

<Warning>
  Use a read/write API key. MSPortal tests read access during setup, but it does not test write access because doing so would create a real scheduling request.
</Warning>

## Connect TimeZest

<Steps>
  <Step title="Create an API key">
    In TimeZest, create a dedicated read/write API key for MSPortal and copy it to a secure location.
  </Step>

  <Step title="Open the setup page">
    In MSPortal, go to **Settings > Integrations**, find **TimeZest**, and click **Configure**.
  </Step>

  <Step title="Test the connection">
    Enter the API key and click **Test Connection**. MSPortal verifies read access and reports the appointment types and scheduling resources it found.
  </Step>

  <Step title="Save the connection">
    After the test succeeds, save the connection. MSPortal stores the key securely and does not display it again.
  </Step>
</Steps>

## Configure Scheduling Capabilities

Enable each capability independently in the **Configure** step:

| Capability                     | What it enables                                                                            |
| ------------------------------ | ------------------------------------------------------------------------------------------ |
| Schedule from ticket templates | Creates a PSA ticket and then sends the client to TimeZest to select an appointment time   |
| Show appointments on calendars | Displays scheduled TimeZest appointments in MSPortal calendars                             |
| Show appointments on tickets   | Adds an Appointments tab to supported ticket details                                       |
| Allow appointment changes      | Exposes the secure TimeZest link for scheduling, rescheduling, or canceling an appointment |

For each capability, you can optionally select client security roles and company groups. When both restrictions are set, a client must match both rules. MSP staff retain access to enabled capabilities.

Click **Save all** after changing the capabilities or their audience restrictions.

## Review Connection Status

The **Status** step lists the active and inactive appointment types, their durations, and the schedulable users or teams returned by TimeZest. Use this page to confirm the API key can see the resources you expect to use in ticket templates.

## Managing the Connection

* Reopen **Configure** to change the API key or audience restrictions.
* Retest a new API key before saving it.
* Removing the integration deletes the stored key and TimeZest configuration from MSPortal. It does not remove appointments from TimeZest.

## Troubleshooting

| Issue                                      | Solution                                                                                                                      |
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| Connection test fails                      | Confirm the API key is active and has read access to appointment types and scheduling resources.                              |
| Scheduling request fails after setup       | Replace the key with one that has both read and write access. Setup intentionally tests only read access.                     |
| A client cannot see a capability           | Confirm the capability is enabled and that the client matches both the selected security-role and company-group restrictions. |
| An appointment type or resource is missing | Confirm it is active and visible to the API key in TimeZest, then reopen the **Status** step.                                 |

## Related Resources

<CardGroup cols={2}>
  <Card title="Ticketing" icon="ticket" href="/user-guides/ticketing/index">
    Learn how clients create and manage tickets
  </Card>

  <Card title="Calendar" icon="calendar" href="/user-guides/calendar/index">
    Review appointments in MSPortal calendars
  </Card>
</CardGroup>
