Helpdesk to field
How do I dispatch field technicians from Freshservice tickets, with GPS tracking and mileage?
Keep Freshservice as the place requests come in, and send each ticket that needs a site visit to a field service app that does the dispatch, live location and kilometre log, then writes the status and notes back to the ticket. Freshservice can start that hand-off itself, because its Workflow Automator can call a webhook when a ticket matches your rules, and its API v2 can update the ticket when the visit is done. Freshservice's own mobile app is built for helpdesk agents and does not track technician location or log mileage, so those two pieces have to come from the field app.
- Freshservice stays the system of record for the request; the field app owns the visit.
- Trigger on a rule (category, location, a 'needs site visit' field), not on every ticket.
- Write back to the same ticket: assigned tech, arrival, notes, photos, resolved.
- Live location is for dispatch; the km log is a separate, confirmed record per trip.
- In Canada, a tax-free per-km allowance must be based only on business kilometres.
If your technicians only ever work inside one building and never drive between sites, Freshservice tasks alone may be enough. This page is for teams that drive.
Facts checked as of November 2026. Sources at the end of the page.
Step by step
How it works, step by step
The pattern is the same whichever field app you pick. The ticket starts the job, the job runs in the field app, and the result goes back to the ticket.
1. Decide which tickets become field jobs
Most tickets are solved remotely. Add a field on the ticket (for example a 'Site visit needed' checkbox) or use the category and the Freshservice location to decide. A printer swap at store 14 goes to the field; a password reset does not.
2. Fire a webhook from the Workflow Automator
In Freshservice, build a workflow on the ticket event, add your conditions, and under Actions choose Trigger Webhook. You pick GET, POST, PUT/PATCH or DELETE, a callback URL, authentication by username and password or API key, and JSON or XML encoding. Simple mode sends selected ticket properties; Advanced lets you write the request body. Freshservice limits webhooks to 1,000 calls per hour and retries a failed call up to 4 times, at 3, 5, 9 and 17 minutes, when there is no 2xx response within 15 seconds.
3. Create the job, matched to the right site
The field app creates a job with the Freshservice ticket ID stored on it. It matches the ticket's location to a site with an address and map pin, so every dealership, branch or warehouse is a site record, not free text. The ticket ID is the key: an updated ticket updates the same job instead of creating a second one.
4. Dispatch by distance and skill
The dispatcher (or an assignment rule) picks the technician using live location, the day's route, skills and what is already on their list. This is where 'nearby jobs' comes from: once a tech is at one site, the board shows other open jobs close to them, so two small tickets at neighbouring stores become one trip.
5. Track the visit on the phone
The technician app records on-the-way, GPS check-in at the site, work notes, photos, signatures and check-out. The dispatcher sees where each tech is on one map without phoning them.
6. Log the kilometres for the trip
Each drive gets a trip record: date, from and to (or the sites visited), purpose (the ticket or job), and kilometres. These are the items the CRA asks a logbook to show. Location data supports the entry; the technician confirms it.
7. Write the result back to Freshservice
Through Freshservice API v2 (https://{your-domain}.freshservice.com/api/v2, API key over basic auth or OAuth), the field app adds a note with the work done, attaches photos, logs time against the ticket and sets the status to Resolved. Mind the API rate limits: 100 requests per minute on Starter up to 500 on Enterprise, with lower limits for single endpoints such as Update Ticket.
Where it breaks
Why it goes wrong
These are the problems buyers raised on our sales calls: a dealer group with about 40 locations on Freshservice, an equipment dealership with field engineers, an operations support team on an ITSM tool, and service teams on Zoho Desk.
The helpdesk app is not a field app
The Freshservice mobile app lets agents create and reply to tickets, assign them, change priority and due dates, and scan barcodes or QR codes to update assets. Its listing says nothing about technician location, maps or mileage. An operations support team on another ITSM tool told us the same story: no field app, so photos go phone to laptop to ticket at the end of the day.
Two systems, two truths
When the job is copied by hand from the ticket, the ticket says Open while the tech has finished, or the tech goes to a store the requester already fixed. Without the ticket ID on the job and a write-back, nobody trusts either status.
Kilometres claimed from memory
An equipment dealership with field engineers across several branches told us they had caught people claiming kilometres they had not driven, and asked whether claims could be checked against GPS distance. A month-end total typed into an expense form cannot be checked against anything.
Tracking that people turn off
The same dealership said engineers sometimes switch phones off, and that rural geofencing had pinged unreliably in an earlier app. Live location shows where a tech is; it is not a perfect odometer. Treat it as support for the trip log, not the log itself.
The help desk tier does not schedule
Service teams on Zoho Desk told us scheduling is only in higher tiers of their plan. The same gap shows up on Freshservice: tickets have due dates and tasks, but no dispatch board, route or map for people who drive.
The options
Ways to do it
| Approach | What you get | Weak spot | Good for |
|---|---|---|---|
| Freshservice alone (tickets, tasks, time entries) | Assign the ticket or a task to an agent; log time with a Billable flag that feeds the Time Sheet Report; agents work tickets from the mobile app | No live location, map, route or km log; mileage goes into a separate expense tool | Technicians who stay in one building |
| Zapier between Freshservice and a field or mileage app | Triggers: New Ticket, Updated Ticket, New User, Update User. Actions: Add Notes to a Ticket, Create Ticket, Create Requester, Request Ticket Approval | Zapier lists no action to change a ticket's status, so closing the ticket needs the API or a person | Low volume, one-way hand-off |
| A field service app from the Freshworks Marketplace | Some FSM vendors list apps there; Zuper's listing, for example, supports Freshdesk and Freshdesk Omni | Check the listing names Freshservice; many field apps target Freshdesk. Freshdesk's own Field Service add-on is not available to accounts that signed up after May 5, 2023 | Teams that want an off-the-shelf connector |
| Separate FSM with a two-way sync you build on the API | Workflow Automator webhook creates the job; API v2 writes notes, time and status back | You own the code, retries and rate limits | Teams with a developer |
| Configurable FSM set up with the sync (Fieldproxy) | Freshservice webhook into a Fieldproxy automation creates the job; dispatch map, technician app with GPS check-in, a km trip log, and status and notes written back to the ticket | The trip log and sync rules are agreed with you before go-live; there is no packaged Freshservice connector to install | Multi-site teams whose technicians drive between locations |
As of November 2026, from each vendor's own documentation and listings (sources below). Check the current version before relying on any one feature.
Worked example
A worked example: 40 locations, one month
Say a dealer group runs 40 locations across two provinces, with 6 field technicians covering IT and facilities. Made-up numbers to show the flow, not results.
| Step | What happens | Numbers |
|---|---|---|
| Tickets in Freshservice | All requests, from all 40 locations | 600 tickets |
| Rule sends some to the field | Category is hardware or facilities and 'Site visit needed' is ticked | 90 field jobs |
| Grouped by nearby jobs | Jobs at neighbouring stores done on the same trip | 90 jobs on 62 trips |
| Written back | Each ticket gets the tech, notes, photos and Resolved status | 90 tickets updated, no copy and paste |
| Km logged for one tech | Trip records with date, sites, ticket and km; confirmed weekly | 1,100 business km this month; 4,600 earlier this year |
| Reimbursed at the 2026 CRA rate | First 5,000 business km in the year at $0.73, the rest at $0.67 | 400 km x $0.73 = $292, then 700 km x $0.67 = $469, total $761 |
The 2026 rates are the CRA's reasonable per-kilometre allowance rates for the provinces ($0.77 and $0.71 in the territories). The year-to-date total decides which rate applies, so the log must be kept per person for the whole year.
Before you buy
What to check before you buy
Good signs
- Stores the Freshservice ticket ID on the job and updates the same job when the ticket changes
- Writes status, notes, time and photos back to the ticket, not just a link
- Each Freshservice location maps to a site with an address and map pin
- One map with every technician and every open job, for 'nearby jobs'
- A trip log with date, destination, purpose and km, per person, for the full year
- GPS check-in at the site, kept with the job
- Handles Freshservice rate limits and webhook retries without duplicate jobs
Red flags
- A demo of a Freshdesk connector when you run Freshservice
- A one-way push: the ticket never learns the job is done
- Mileage as one monthly number with no trip detail
- Location tracking that runs all day with no written policy for staff
- Each location typed as free text on the job
- Per-technician pricing that grows every time you add a branch
In Fieldproxy
Setting it up in Fieldproxy
Fieldproxy is described in one line: Best for processes that don't fit a template, set up for you. So the records, statuses and rules below are configured with you; names marked e.g. are examples.
Freshservice starts the job
A Freshservice workflow calls the webhook URL of a Fieldproxy automation (/developers). The automation creates the job with the ticket ID (e.g. fs_ticket_id), matches the location to a site, and sets the status (e.g. To dispatch). A later ticket update finds the same job by its ticket ID.
Dispatch on one map
Dispatching and scheduling (/solutions/dispatching-scheduling) shows every technician and job on one map. The Dispatch agent (/agents/dispatch-agent) suggests the right tech by distance and skills, and a person approves. To find nearby work, ask the Command Center (/agents/command-center), e.g. 'open jobs near the store Sam is at now'.
The technician app
Technicians use the Android or iOS app (/solutions/mobile-app): offline, photos, checklists, signatures and GPS check-in. Their latest position is visible to dispatch and through the MCP server (/mcp).
A km trip log
A trip form on the app (e.g. date, sites visited, linked jobs, odometer start and end, business km) is filled per drive and confirmed by the tech. GPS check-ins at each site sit beside it. A monthly report per person (e.g. km this month, km year to date) is emailed by the Scheduler agent (/agents/scheduler-agent) to whoever approves claims.
Results go back to the ticket
When the job moves to done, an automation step calls the Freshservice API to add a note with the work, attach photos and set the ticket to Resolved. Fieldproxy has a ready integration for Freshdesk (/integrations/freshdesk) and Zoho Desk (/integrations/zoho-desk); for Freshservice the same flow is built on its API during setup.
One price per company
Dispatchers, technicians and branch managers all work in the same system. Fieldproxy is one price per company with unlimited users. See /pricing.
Canada
Mileage and GPS rules in Canada
A per-kilometre allowance paid to an employee who drives their own vehicle is not taxable only if all three conditions hold: it is based only on business kilometres driven for work, the rate per kilometre is reasonable, and you do not also reimburse expenses for the same use (supplementary business insurance, tolls and ferries are the exception). The CRA generally treats the prescribed rate as reasonable. A flat monthly amount not tied to kilometres is taxable, and a flat amount paid together with a per-km amount for the same use makes the whole allowance taxable.
For 2026 that prescribed rate is $0.73 per km for the first 5,000 business km and $0.67 after that, or $0.77 and $0.71 in the territories, up from $0.72 and $0.66 in 2025.
For the log itself, the CRA lists the date, destination, purpose and kilometres for each business trip. After a full base-year logbook, a three-month sample log can be used in later years if business use stays within 10 percentage points of the base year.
On GPS, the Office of the Privacy Commissioner found in PIPEDA case summary 2006-351 that location data tied to a driver is personal information, and accepted dispatch, safety and asset protection as purposes. It said GPS should not be used for routine, continual monitoring of performance, that staff should be told before roll-out, and that a written policy should set out how it is used. Provincial privacy laws apply to some employers instead, so check which one covers you.
How switching works
How switching to Fieldproxy works
We move your data over and set the system up to the way you already work. Fieldproxy replaces the old tool; it does not run alongside it.
Show us your Freshservice setup
Your categories, locations, custom fields and the tickets that need a visit. We agree the rule that sends a ticket to the field.We set up sites, the map and the trip log
Every location becomes a site with a map pin. We build the technician app and the km trip log your claims approver wants to see.We connect the sync both ways
Workflow Automator webhook in, notes, photos and status back out. We test it on copies of real tickets before any go live.Go live branch by branch
Start with one region's technicians, check the write-back and the first month's km report, then add the rest.
FAQ
Questions people ask
- Does Freshservice have field service management built in?
- Freshservice has tickets, tasks, time entries, assets and locations, and a mobile app for agents. Its app listing does not mention technician location tracking, maps or mileage, so dispatching technicians who drive usually needs a field service app beside it.
- Can Freshservice send tickets to another system automatically?
- Yes. A Workflow Automator workflow can use the Trigger Webhook action to send the ticket to any URL when your conditions match, up to 1,000 calls per hour. The other system can then update the ticket through API v2.
- Can mileage be calculated from GPS alone?
- Location points help, but phones get switched off, lose signal and drift, so a GPS total can be wrong. The safer setup is a trip record per drive that the technician confirms, with GPS check-ins as supporting evidence.
- What is the CRA per-km rate for 2026?
- $0.73 per km for the first 5,000 business km and $0.67 after that in the provinces; $0.77 and $0.71 in the territories.
- Does the same approach work with Freshdesk?
- Yes, the pattern is the same: ticket in, job in the field app, result back to the ticket. Freshdesk's own Field Service add-on is closed to accounts that signed up after May 5, 2023, and gets no further enhancements, so newer accounts use a separate field app. Fieldproxy has a Freshdesk integration.
- What about Zoho Desk?
- Zoho's FSM extension for Zoho Desk creates requests, estimates and work orders from a Desk ticket, and each FSM record can link to only one ticket. Any other field app connects through Zoho Desk's API in the same ticket-in, result-back pattern.
- Do branch managers need a paid seat to see their jobs?
- It depends on the vendor. Per-user pricing adds a seat for every manager who only needs to look. Fieldproxy is one price per company with unlimited users; see /pricing.
Sources
Competitor details on this page come from the vendors' own pages and documentation, checked as of November 2026. Plans and prices change, so check the vendor's current page before you decide.
- Freshservice API v2 reference: https://api.freshservice.com/
- Freshservice Support: using webhooks with the Workflow Automator: https://support.freshservice.com/support/solutions/articles/157143-using-webhooks-with-the-workflow-automator
- Freshservice Support: adding time entries to tickets: https://support.freshservice.com/support/solutions/articles/234447-adding-time-entries-to-track-the-time-spent-on-tickets
- Freshservice app on the App Store: https://apps.apple.com/us/app/freshservice/id891265220
- Zapier: Freshservice integrations: https://zapier.com/apps/freshservice/integrations
- Freshworks Marketplace: Zuper FSM listing: https://www.freshworks.com/apps/zuper_fsm
- Freshdesk Support: a guide to field service for helpdesk agents: https://support.freshdesk.com/support/solutions/articles/240293-a-guide-to-field-service-for-helpdesk-agents
- Zoho FSM: installation and usage guide for the Zoho Desk extension: https://help.zoho.com/portal/en/kb/fsm/integrations/zoho-desk/articles/installation-and-usage-guide-for-zoho-fsm-extension-for-zoho-desk
- CRA: automobile and motor vehicle allowances: https://www.canada.ca/en/revenue-agency/services/tax/businesses/topics/payroll/benefits-allowances/automobile/automobile-motor-vehicle-allowances.html
- CRA: reasonable per-kilometre allowance rates: https://www.canada.ca/en/revenue-agency/services/tax/businesses/topics/payroll/benefits-allowances/automobile/automobile-motor-vehicle-allowances/reasonable-kilometre-allowance.html
- CRA: motor vehicle records (logbook): https://www.canada.ca/en/revenue-agency/services/tax/businesses/topics/sole-proprietorships-partnerships/business-expenses/motor-vehicle-expenses/motor-vehicle-records.html
- Office of the Privacy Commissioner of Canada: PIPEDA case summary 2006-351 (GPS in work vehicles): https://www.priv.gc.ca/en/opc-actions-and-decisions/investigations/investigations-into-businesses/2006/pipeda-2006-351
Related
Keep reading
- How do I turn emailed work orders into jobs automatically?
- How do facility maintenance companies dispatch in-house technicians first and fall back to vendors?
- Zoho Desk integration
- Dispatch agent
- What is the best field service software for a 5-10 person HVAC team?
- Cheaper ServiceTitan alternatives for small plumbing and HVAC companies, without payment processor lock-in