Ticketing Systems

Freshservice Ticketing Integration

What

The Freshservice ticketing integration allows Ploy to create and update tickets in Freshservice via API. Tickets raised from Ploy (for example by an automation flow) appear in Freshservice like any other ticket, and status changes made in Freshservice are synced back to Ploy — so a flow can wait for a helpdesk ticket to be resolved before carrying on.

Before you start

  • You need a Freshservice agent account with admin access. Requester accounts do not have API keys — if you can't see an API key on your profile, this is why.

  • On newer Freshservice accounts, API access is disabled by default. An account admin can enable it from the Admin settings (search for "API") or on the agent's profile under Permissions.

Connect Freshservice to Ploy

Step 1: In Freshservice, click your profile picture (top right) → Profile Settings. Copy the API key shown on the right-hand side.

Step 2: On the Ploy Ticketing Integrations page, choose Freshservice and click '+ Add'.

Step 3: Enter your Freshservice domain — the first part of your Freshservice URL, e.g. acme if your helpdesk is at acme.freshservice.com — paste the API key, and give the connection a name.

Step 4: Click Test Connection to confirm Ploy can reach your helpdesk, then continue.

Step 5: Set the default requester email. Every Freshservice ticket is filed under a requester; tickets raised by Ploy use this email unless a flow specifies one. If the email isn't already a requester in Freshservice, one is created automatically. Optionally pick a default group to route Ploy-raised tickets to.

Sync ticket status changes back to Ploy

Freshservice notifies Ploy of status changes through a webhook you create once in the Workflow Automator:

Step 6: In Freshservice go to Admin → Workflow Automator → New Workflow, choose Ticket, and name it (e.g. "Ploy status sync").

Step 7: Set the event to Ticket is updated, with Status changed from Any to Any.

Step 8: Add a Trigger Webhook action:

  • Request type: POST

  • URL: copy the Webhook URL from the Ploy setup page

  • Encoding: JSON

  • Add a custom header named X-Ploy-Webhook-Secret and paste the webhook secret from the Ploy setup page

  • For the content, choose Advanced and paste the webhook request body from the Ploy setup page

Step 9: Activate the workflow, then save the configuration in Ploy.

Troubleshooting

  • Test Connection fails: check the API key belongs to an agent (not a requester), that API access is enabled for your account, and that the domain is just the subdomain (no .freshservice.com).

  • Tickets are created but status changes don't appear in Ploy: make sure the Workflow Automator workflow is activated, the webhook URL and secret match the values shown in Ploy exactly, and the workflow's event covers status changes.

  • Tickets appear with the wrong requester: Ploy uses the requester email provided by the flow, falling back to the integration's default requester email.

Was this helpful?