Workflows
Blocks
Integrations
Freshdesk

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

  1. Log in to your Freshdesk account
  2. Click your profile picture (top right) → Profile Settings
  3. Your API Key is shown in the right panel
  4. 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

  1. Add the Freshdesk action block to your workflow
  2. Click Select CredentialsCreate New
  3. Enter your API Key
  4. Enter your Domain (e.g., yourcompany.freshdesk.com)
  5. Click Save Credentials

Setup in InditeAI

Select an Action

CategoryActions
TicketsCreate Ticket, Get Ticket, Update Ticket, List Tickets, Delete Ticket
ContactsCreate 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

ValuePriority
1Low
2Medium (default)
3High
4Urgent

Status (optional): Numeric status code

ValueStatus
2Open (default)
3Pending
4Resolved
5Closed

Returns: Full ticket object including id, subject, status, priority, created_at

Get Ticket

Ticket ID (required):

{{trigger.ticketId}}
123456

Returns: 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:

  1. Freshdesk: Create Contact
    Name: {{form.name}}
    Email: {{form.email}}
  2. Freshdesk: Create Ticket
    Subject: {{form.subject}}
    Description: {{form.message}}
    Email: {{form.email}}
    Priority: 2
  3. Send Email: Confirmation to customer
  4. Slack: Notify #support

2. High Priority Alert

Trigger: Freshdesk webhook (new ticket created)

Workflow:

  1. Condition: {{ticket.priority}} = 4 (Urgent)
  2. Slack: Alert #urgent-support
  3. Send Email: Alert to support manager

3. Auto-Resolve on Payment

Trigger: Stripe payment confirmed

Workflow:

  1. Freshdesk: List Tickets (find by email)
  2. Condition: Open billing ticket found
  3. Freshdesk: Update Ticket
    Status: 4 (Resolved)
  4. Send Email: Payment confirmed + ticket resolved

4. CRM Contact Sync

Trigger: HubSpot new contact created

Workflow:

  1. Freshdesk: Create Contact
    Name: {{contact.fullName}}
    Email: {{contact.email}}
    Phone: {{contact.phone}}
  2. 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.

Indite Documentation v1.6.0
PrivacyTermsSupport