Freshdesk Action Block
What it does: Create and manage support tickets and contacts in Freshdesk directly from your workflows — keeping your helpdesk in sync with the rest of your stack.
In simple terms: Connect your workflows to Freshdesk so incoming requests from forms, emails, or other tools automatically become support tickets — with the right priority, status, and contact details already set.
When to Use This
- ✅ Create Freshdesk tickets from website forms, chatbots, or other triggers
- ✅ Update ticket status when resolved in another system
- ✅ Create and manage customer contacts in Freshdesk
- ✅ Retrieve ticket details for downstream processing
- ✅ List open tickets for reporting or dashboard automation
Features
- Tickets: Create, get, update, list, and delete tickets
- Contacts: Create, get, update, list, and delete contacts
- Variable Support: Use
{{variables}}in subject, description, and all text fields
Getting Your Freshdesk Credentials
Freshdesk uses API Key + Domain authentication.
Step 1 — Get Your API Key
- Log in to your Freshdesk account
- Click your profile picture (top right) → Profile Settings
- Your API Key is shown in the right panel
- Copy it
Step 2 — Note Your Domain
Your Freshdesk domain is in the URL: https://**yourcompany**.freshdesk.com
Copy just the subdomain part: yourcompany.freshdesk.com
Step 3 — Connect in InditeAI
- Add the Freshdesk action block to your workflow
- Click Select Credentials → Create New
- Enter your API Key
- Enter your Domain (e.g.,
yourcompany.freshdesk.com) - Click Save Credentials
Setup in InditeAI
Select an Action
| Category | Actions |
|---|---|
| Tickets | Create Ticket, Get Ticket, Update Ticket, List Tickets, Delete Ticket |
| Contacts | Create Contact, Get Contact, Update Contact, List Contacts, Delete Contact |
Working with Tickets
Create Ticket
Subject (required): Ticket title
{{form.subject}}
Bug: {{trigger.issueTitle}}
Support request from {{customer.name}}Description (optional): Ticket body — supports {{variables}}
{{form.message}}
{{ticket.details}}Email (optional): Requester's email address
{{form.email}}
{{customer.email}}Priority (optional): Numeric priority code
| Value | Priority |
|---|---|
1 | Low |
2 | Medium (default) |
3 | High |
4 | Urgent |
Status (optional): Numeric status code
| Value | Status |
|---|---|
2 | Open (default) |
3 | Pending |
4 | Resolved |
5 | Closed |
Returns: Full ticket object including id, subject, status, priority, created_at
Get Ticket
Ticket ID (required):
{{trigger.ticketId}}
123456Returns: Full ticket details including subject, description, status, priority, requester_id, created_at, updated_at.
Update Ticket
Ticket ID (required): Ticket to update
Update any combination of: Subject, Description, Priority, Status.
Status: 4 (= Resolved)List Tickets
Returns recent tickets from your Freshdesk account. No required fields.
Returns: Array of ticket objects.
Delete Ticket
Ticket ID (required): Ticket to permanently delete.
Deleting a ticket is permanent and cannot be undone. Consider setting status to Closed (5) instead of deleting.
Working with Contacts
Create Contact
Name (required): Contact's full name
{{form.fullName}}
{{customer.name}}Email (optional): Contact email address
{{form.email}}Phone (optional): Contact phone number
{{form.phone}}Returns: Contact object with id, name, email, phone, created_at.
Get Contact
Contact ID (required):
{{contact.id}}
{{trigger.contactId}}Update Contact
Contact ID (required): Contact to update
Update any combination of: Name, Email, Phone.
List Contacts
Returns contacts from your Freshdesk account. No required fields.
Delete Contact
Contact ID (required): Contact to permanently delete.
Common Use Cases
1. Website Form → Support Ticket
Trigger: Form submission (Typeform, website contact form)
Workflow:
- Freshdesk: Create Contact
Name: {{form.name}} Email: {{form.email}} - Freshdesk: Create Ticket
Subject: {{form.subject}} Description: {{form.message}} Email: {{form.email}} Priority: 2 - Send Email: Confirmation to customer
- Slack: Notify #support
2. High Priority Alert
Trigger: Freshdesk webhook (new ticket created)
Workflow:
- Condition:
{{ticket.priority}}= 4 (Urgent) - Slack: Alert #urgent-support
- Send Email: Alert to support manager
3. Auto-Resolve on Payment
Trigger: Stripe payment confirmed
Workflow:
- Freshdesk: List Tickets (find by email)
- Condition: Open billing ticket found
- Freshdesk: Update Ticket
Status: 4 (Resolved) - Send Email: Payment confirmed + ticket resolved
4. CRM Contact Sync
Trigger: HubSpot new contact created
Workflow:
- Freshdesk: Create Contact
Name: {{contact.fullName}} Email: {{contact.email}} Phone: {{contact.phone}} - HubSpot: Update contact with Freshdesk contact ID
Troubleshooting
"Authentication failed" (401)
Fix: Verify the API Key is correct (no extra spaces). Check that the domain is yourcompany.freshdesk.com (not the full URL with https://).
"Ticket not found" (404)
Fix: Verify the Ticket ID is a number. Tickets have numeric IDs in Freshdesk.
Priority / Status not updating
Fix: These fields expect numeric strings ("2", "3", etc.) — not text labels.
Limitations
- Rate limits: Freshdesk limits vary by plan (typically 1,000 API calls per hour)
- Attachments: File attachments are not supported in the current version
- Custom fields: Not exposed in this block — use HTTP Request for custom field updates
Related Blocks
- Zendesk: Alternative helpdesk integration
- Condition: Route tickets based on priority or status
- Slack: Alert support teams instantly
- Send Email: Send ticket confirmations to customers
Pro Tip: Always create a Contact before creating a Ticket when processing form submissions. This ensures Freshdesk links the ticket to a proper contact record, giving your support agents full customer context.