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

# Freshdesk

> Connect Freshdesk to manage support tickets with Duckie

Connect Freshdesk to let Duckie respond to support tickets in your Freshdesk inbox.

## Capabilities

| Capability             | Supported                      |
| ---------------------- | ------------------------------ |
| **Knowledge Source**   | ✓ Sync knowledge base articles |
| **Deployment Trigger** | ✓ Respond to tickets           |
| **Tool Actions**       | ✓ Reply, update tickets        |

## Setup

Freshdesk uses an API key + webhook setup.

### Step 1: Get Your API Key

1. Log in to your Freshdesk account
2. Click on your **profile picture → Profile Settings**
3. On the right side, find and copy your **API Key**

### Step 2: Connect in Duckie

1. Go to **Settings → Connections** in Duckie
2. Find **Freshdesk** and click **Connect**
3. Enter your details:
   * **Freshdesk Domain**: Your domain (e.g., `yourcompany.freshdesk.com`)
   * **API Key**: The key from your profile
4. Click **Connect**

### Step 3: Configure Webhooks

After connecting, you'll see a webhook URL and API key. Set up automation rules in Freshdesk:

#### New Ticket Rule

1. In Freshdesk, go to **Admin → Workflows → Automations**
2. Go to **Ticket Creation** tab → **New Rule**
3. Configure:
   * **Name**: "Send new tickets to Duckie"
   * **Condition**: Add at least one (e.g., Status is Open)
   * **Action**: Select **Trigger Webhook**
   * **Request Type**: POST
   * **URL**: Copy from Duckie
   * Check **Requires authentication** → **I have API key**
   * **API Key**: Copy from Duckie
   * **Encoding**: JSON
   * **Content**: Use the JSON payload below
4. Save and activate

#### Reply Rule

1. Go to **Ticket Updates** tab → **New Rule**
2. Configure:
   * **Name**: "Send replies to Duckie"
   * **Event**: Action performed by **Requester** → **Reply is sent**
   * **Condition**: Add one (e.g., Status is Open)
   * **Action**: Trigger Webhook (same config as above)
3. Save and activate

#### JSON Payload

Use this payload for all webhook rules:

```json theme={null}
{
  "freshdesk_webhook": {
    "ticket_id": "{{ticket.id}}",
    "ticket_url": "{{ticket.url}}",
    "ticket_subject": "{{ticket.subject}}",
    "ticket_status": "{{ticket.status}}",
    "ticket_priority": "{{ticket.priority}}",
    "requester_name": "{{ticket.requester.name}}",
    "requester_email": "{{ticket.requester.email}}",
    "triggered_event": "{{triggered_event}}",
    "group_name": "{{ticket.group.name}}",
    "agent_name": "{{ticket.agent.name}}"
  }
}
```

## Using as a Knowledge Source

Sync your Freshdesk Knowledge Base:

1. Go to **Train → Knowledge**
2. Click **Add Source**
3. Select **Freshdesk**
4. Choose which folders/categories to sync
5. Click **Start Sync**

## Using as a Deployment Trigger

1. Go to **Deploy**
2. Click **Create Deployment**
3. Select your agent
4. Choose **Freshdesk** as the trigger
5. Configure which events trigger responses:
   * **New ticket** — When a ticket is created
   * **Customer reply** — When the customer responds
   * **Note added** — When an agent adds a note (optional)

## Available Tools

| Tool                      | Description                   |
| ------------------------- | ----------------------------- |
| `freshdesk_reply`         | Send a reply to the ticket    |
| `freshdesk_add_note`      | Add a private note            |
| `freshdesk_update_ticket` | Update status, priority, etc. |
| `freshdesk_get_ticket`    | Get ticket details            |
| `freshdesk_get_contact`   | Get customer information      |

## Best Practices

### Start with Testing Mode

Test your deployment in testing mode first:

1. Deploy in **Testing** mode
2. Review responses in the Runs page
3. Switch to **Live** when confident

### Use Automation Conditions

Filter which tickets Duckie handles:

* By group (e.g., only "Support" group)
* By priority (e.g., skip urgent tickets)
* By tags or custom fields

### Keep Knowledge Base Updated

Ensure your Freshdesk Knowledge Base is current — Duckie uses these articles to provide accurate answers.

## Troubleshooting

### "Webhook not receiving events"

* Verify automation rules are active
* Check the webhook URL is correct
* Test the automation manually in Freshdesk
* Ensure JSON payload format is exact

### "Authentication failed"

* Verify your API key is correct
* Check that your Freshdesk domain is correct
* Ensure your account has API access

### "Tickets not updating"

* Verify Duckie has permission to update tickets
* Check that the API key belongs to an agent account
