Docs/Plugins/Freshworks/Freshservice

In development

The Freshworks Marketplace listing is in private beta. Contact us for early access.

Request early access →

Apertur Photo Collection for Freshservice

The Apertur plugin for Freshservice adds a sidebar widget to every support ticket so agents can request photos from customers without leaving the ticket. Generate a QR code or upload link in one click, share it with the customer, and received photos are attached to the ticket automatically.

Freshservice organisation admin required

Installing the app, configuring its iparams (API key, Destination ID), and authorizing the OAuth connection on the matching Apertur destination all require an account with the organisation admin role in Freshservice. Regular agents and supervisors cannot complete the setup — make sure your admin is the one going through Installation and Configuration below.

At a glance

Framework

Freshworks FDK 2.0

License

MIT

Status

In development (private beta)

Distribution

Freshworks Marketplace (planned) · private install today

Free tier — no credit card

Apertur is a SaaS service. The free plan covers most pilot deployments:

  • 15 sessions per month
  • 10 images per session, up to 5 MB each
  • 12-hour session expiry
  • 1 active destination

Paid plans unlock higher limits, password-protected sessions, custom branding and end-to-end encryption. See pricing.

Architecture

The app is fully serverless. There is no backend to deploy on your side:

  • The sidebar calls the Apertur API directly using secure FDK request templates. Your API key is injected server-side by the Freshworks platform via secure iparams — it never reaches the browser.
  • The webhook → ticket attachment flow is handled by Apertur’s native Freshservice destination. You connect it from the Apertur dashboard via OAuth — no API key copy-paste needed; Apertur is granted scoped access to attach files and post replies on tickets you own.

Installation

During the private beta the app is distributed as a Freshworks custom app (uploaded ZIP), not yet via the public Marketplace.

  1. Request access: contact us with your Freshservice ORG domain. We’ll send you the latest packaged app and any setup notes.
  2. In Freshservice, go to Admin → Apps → Get more apps and click Upload custom app. Upload the ZIP we provided.
  3. When prompted, install the app on every workspace where you want photo collection enabled.

Configuration

  1. Create an Apertur account at apertur.ca (free tier available) and copy your API key from Project Settings → API Keys. Keys prefixed with aptr_test_ target the sandbox; aptr_live_ keys target production.
  2. On the Apertur dashboard, go to Destinations → Add destination → Freshservice. Enter your Freshservice ORG domain and click Connect. You will be redirected to Freshservice to authorize Apertur via OAuth. Once authorized, the destination is created and ready to deliver photos. Copy the destination’s UUID once created — you’ll need it in the next step.
  3. In Freshservice, open the app settings and fill in:
    • Apertur API Key — paste the key from step 1 (stored as a secure iparam).
    • Apertur Destination ID required. Paste the destination UUID from step 2.
    • Use test environment — tick to force the sandbox API (otherwise sandbox is auto-detected from the API key prefix).
  4. Save the settings. Re-open any ticket; the Apertur sidebar widget should appear in the right pane.

Usage

Open any Freshservice ticket. The Apertur sidebar appears in the right pane. Use the split-button dropdown to pick a delivery mode, then click Generate to create an upload session bound to this ticket.

Share the QR code or insert the upload link directly into your reply. The customer scans it on a mobile device, uploads photos from the camera or gallery, and each image is delivered back to the ticket automatically.

Delivery modes:

  • client — photos arrive as a public reply as the ticket requester. Useful when the customer is the one uploading.
  • agent — photos arrive as a public note from the currently authenticated agent. Use when you, as an agent, are adding photos visible to the customer.
  • internal — photos arrive as a private note from the authenticated agent. Internal context only, not visible to the customer.

Webhook delivery

You don’t need to deploy or expose anything. Apertur’s native Freshservice destination calls the Freshworks API directly using the OAuth grant you established in Configuration. The selected delivery mode is stamped on the session metadata and read by the destination job.

See Destinations for details on retry behaviour, signed deliveries and revoking OAuth grants.

Data & privacy

The plugin is a thin client of the Apertur SaaS API. Only the ticket reference (workspace id + ticket id) and your API key are sent to https://api.apertur.ca when creating a session.

Uploaded photos are stored temporarily on Apertur, delivered to your Freshservice instance via the OAuth grant you authorized, and then deleted. You retain full ownership of the data and can purge it from your Apertur dashboard at any time. No analytics or telemetry are sent from this app.

Troubleshooting

The Apertur widget doesn’t appear in the sidebar.
Make sure the app is installed on the workspace and that the current agent has been granted access. Hard-refresh the ticket page (Ctrl+Shift+R) to flush the FDK iframe cache.
“Destination not found” error when generating a session.
The Destination ID in the app settings doesn’t match any destination on your Apertur project. Open Settings, paste a valid UUID from Destinations on the Apertur dashboard, and save.
“Destination type mismatch” error.
The Destination ID points at a destination of the wrong type (e.g. a zendesk destination used in a Freshservice plugin). Create a destination of type freshservice on the dashboard and paste its UUID instead.
Photos upload successfully but don’t appear on the ticket.
The OAuth grant for the destination may have expired or been revoked. Open the destination on the Apertur dashboard and re-authorize it; new uploads will be delivered immediately and earlier failures can be redelivered from the destination’s history.
Sandbox/Test environment banner doesn’t match what I expect.
The plugin auto-detects sandbox from the API key prefix (aptr_test_). To force sandbox with a live key, tick Use test environment in app settings.

FAQ

Is this the same plugin as the Freshdesk one?
Yes — Freshdesk and Freshservice share the same Freshworks app (it auto-adapts to the host product). The only configuration difference is on the Apertur side: a freshdesk destination authenticates with a Freshdesk API key, while a freshservice destination uses OAuth. Pick the destination type that matches your host.
When will the plugin land on the Freshworks Marketplace?
We’re working through the Freshworks listing review. In the meantime, the plugin is installable as a custom app — contact us for the latest build. We’ll announce the public listing in the changelog when it’s live.
Does the plugin work on Freshworks Neo / next-gen accounts?
Yes — the plugin uses FDK 2.0 which is supported on all current Freshservice editions. If your account is on a legacy framework version, contact us so we can confirm compatibility.
Are uploaded photos stored permanently on Apertur?
No. Photos are stored temporarily on Apertur, delivered to your Freshservice ticket via the native destination, and then deleted. You can also purge a session manually from the Apertur dashboard.
Can I run the plugin against the Apertur sandbox first?
Yes. Use an API key prefixed with aptr_test_ (or tick Use test environment), point the destination at your Freshservice sandbox account, and uploaded images will be watermarked for the duration of the trial.

Support

Bug reports, feature requests, and early-access enrollment: contact us.

Wrong product?

View the Freshdesk plugin docs →

Overview

← Back to Freshworks plugins

Freshservice plugin | Documentation de l'API | Apertur