In development
The Freshworks Marketplace listing is in private beta. Contact us for 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.
- Request access: contact us with your Freshservice ORG domain. We’ll send you the latest packaged app and any setup notes.
- In Freshservice, go to Admin → Apps → Get more apps and click Upload custom app. Upload the ZIP we provided.
- When prompted, install the app on every workspace where you want photo collection enabled.
Configuration
- 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. - 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.
- 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).
- 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
zendeskdestination used in a Freshservice plugin). Create a destination of typefreshserviceon 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
freshdeskdestination authenticates with a Freshdesk API key, while afreshservicedestination 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