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

# Connected Apps

> Connect third-party platforms to extend your AI agents with real-time data and actions

Connected Apps lets you link external platforms to SquawkVoice so your AI agents can interact with them during calls and conversations. Depending on the integration, connected apps unlock pre-built during-call actions, chat escalation, or telephony routing — all configurable without writing custom API logic.

## Supported Integrations

The following Freshworks products are available to connect:

<Columns cols={2}>
  <Card title="FreshChat" icon="comments">
    Connect your Freshchat account to enable chat-channel escalation. When a chat user needs a human agent, the AI can hand the conversation off to the appropriate Freshchat channel.
  </Card>

  <Card title="FreshDesk" icon="ticket">
    Link Freshdesk to give your AI agents pre-built actions for creating and updating support tickets and looking up contacts directly during a call.
  </Card>

  <Card title="FreshService" icon="server">
    Connect Freshservice to give your AI agents pre-built actions for creating and updating IT service tickets and looking up requesters, agents, and groups during a call.
  </Card>
</Columns>

***

## How Authentication Works

All Freshworks integrations use **API key authentication**. You will need:

* Your **Freshworks domain** (e.g. `yourcompany.myfreshworks.com`)
* The **API key** for your Freshworks account

FreshChat additionally requires:

* Your **Freshchat instance URL** (e.g. `yourcompany.freshchat.com`)
* An optional **Webhook Public Key** (PEM format) if you want SquawkVoice to verify incoming webhook payloads from Freshchat

<Info>
  API keys are encrypted at rest. SquawkVoice never exposes a stored key after it is saved — to rotate credentials you must delete the existing connection and create a new one with the updated key.
</Info>

***

## Connecting an Integration

1. Open **Studio → Manage → Connected Apps**.

2. Locate the integration card for the platform you want to connect and click **Connect**.

3. A dialog will open. Fill in the required fields:

   | Integration      | Required Fields           | Purpose                                  |
   | ---------------- | ------------------------- | ---------------------------------------- |
   | **FreshChat**    | Domain, Chat URL, API Key | Chat escalation                          |
   | **FreshDesk**    | Domain, API Key           | During-call actions (tickets, contacts)  |
   | **FreshService** | Domain, API Key           | During-call actions (IT service tickets) |

4. Click **Connect**. SquawkVoice validates the credentials by making a test call to the Freshworks API before saving.

5. On success, the connection appears in the **Connected Accounts** list with the linked email address and the date it was created.

<Warning>
  If validation fails, double-check that the domain is entered without a trailing slash and that the API key belongs to an active Freshworks account with sufficient permissions.
</Warning>

***

## Managing Connections

Open the **Connected Accounts** drawer from the integration card to view all active connections for a workspace.

### Edit Description

Each connection can carry a free-text description. Use this to label connections by environment or purpose (e.g. "Production Freshdesk", "Staging FreshService"). Click the edit icon next to the connection to update it.

### Disconnect

Disconnecting a connection suspends its use across all agents without permanently deleting the record. The connection is marked as disconnected and can be reviewed later. It will no longer be available to select in agent configuration.

### Delete

Permanently removes the connection and all associated credentials. This action cannot be undone.

<Warning>
  Deleting a connection that is actively used by one or more AI agents will break any action or escalation that relies on it. Review which agents reference the connection before deleting.
</Warning>

### Reconnecting

Because Fresh integrations use API key authentication, the **Reconnect** option is not available. If you need to update credentials:

1. Delete the existing connection.
2. Create a new connection with the updated API key.

***

## Using a Connection in During-Call Actions

After connecting an integration, its pre-built actions become available to add to any AI Agent via the **Integrations** button in the During-Call Actions tab.

### Adding Integration Actions

1. Open the agent in Studio and go to **Actions → During Call**.
2. Click the **Integrations** button (next to "Create New Action").
3. In the drawer that opens, select the integration you want to use from the dropdown (e.g. Freshdesk).
4. Browse the list of pre-built actions available for that integration (e.g. "Create Ticket", "Update Ticket", "Create Contact"). Each action shows its name and a description.
5. Check the action you want to add. A creation drawer opens with the action's name, description, and parameters **pre-filled** from the integration schema.
6. Review the pre-filled configuration. You can edit the action name and description, and customise parameter definitions — but the default parameters required by the integration cannot be removed.
7. Click **Save**. The action is created with a linked flow and appears in the during-call actions list, tagged with the integration's icon.

### How Integration Actions Work at Runtime

Integration actions are invoked the same way as custom during-call actions — the AI calls the action based on caller intent. The linked flow handles the integration API call using the connected credentials, then returns results back to the agent to speak.

<Info>
  See [During-Call Actions](/build/ai-agents/during-call-actions) for a full guide on flows, nodes, and runtime behaviour.
</Info>

***

## FreshChat — Additional Setup for Chat Escalation

FreshChat requires one extra step after connecting: you must link the connection to a specific AI Agent before the escalation feature becomes active.

* Navigate to the AI Agent and open the **Handoff** section.
* Under **Agent Escalation (Chat)**, select the Freshchat connection to use.
* Click **Refresh from Freshchat** to pull the latest channels from your account.
* Review or edit the AI-generated channel descriptions to guide the agent on when to route to each channel.

<Info>
  Full setup instructions are covered in [Chat Escalation with FreshChat](/build/ai-agents/chat-escalation).
</Info>
