FieldproxyAI-native field service software

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.
Fieldproxy

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

ApproachWhat you getWeak spotGood 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 appNo live location, map, route or km log; mileage goes into a separate expense toolTechnicians who stay in one building
Zapier between Freshservice and a field or mileage appTriggers: New Ticket, Updated Ticket, New User, Update User. Actions: Add Notes to a Ticket, Create Ticket, Create Requester, Request Ticket ApprovalZapier lists no action to change a ticket's status, so closing the ticket needs the API or a personLow volume, one-way hand-off
A field service app from the Freshworks MarketplaceSome FSM vendors list apps there; Zuper's listing, for example, supports Freshdesk and Freshdesk OmniCheck 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, 2023Teams that want an off-the-shelf connector
Separate FSM with a two-way sync you build on the APIWorkflow Automator webhook creates the job; API v2 writes notes, time and status backYou own the code, retries and rate limitsTeams 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 ticketThe trip log and sync rules are agreed with you before go-live; there is no packaged Freshservice connector to installMulti-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.

StepWhat happensNumbers
Tickets in FreshserviceAll requests, from all 40 locations600 tickets
Rule sends some to the fieldCategory is hardware or facilities and 'Site visit needed' is ticked90 field jobs
Grouped by nearby jobsJobs at neighbouring stores done on the same trip90 jobs on 62 trips
Written backEach ticket gets the tech, notes, photos and Resolved status90 tickets updated, no copy and paste
Km logged for one techTrip records with date, sites, ticket and km; confirmed weekly1,100 business km this month; 4,600 earlier this year
Reimbursed at the 2026 CRA rateFirst 5,000 business km in the year at $0.73, the rest at $0.67400 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.

See it built on your workflow

Tell us how your jobs run today. We build a demo on your stages, forms and pricing before the call.