Work order intake
How do I turn emailed work orders into jobs automatically?
Send every work order email to one intake address, have software read each message and its PDF into the job fields you route on (client, site, trade, priority, due date, NTE and the client's PO or work order number), and create the job automatically when the required fields are found. Use the client's PO or work order number as the unique key, so a second email or a phone call about the same work order updates the existing job instead of creating a new one. Anything missing a required field goes to a needs-info status with the original email attached, so a person fills only the gaps instead of retyping the whole work order.
- One intake address per company (or per client), never a person's own inbox.
- Decide the required fields first: without client, site, trade, priority and due date, a job cannot be routed.
- The client's PO or work order number is the dedupe key; the email's Message-ID catches exact repeats.
- Missing fields go to a needs-info status with the email and PDF attached, not to someone's memory.
- Keep the original email and attachment on the job, because the client's wording is the scope.
This is for companies that get work orders from many clients by email. If most of your work arrives through one client portal, integrate with that portal instead.
Facts checked as of November 2026. Sources at the end of the page.
Step by step
How it works, step by step
The same seven steps apply whether you use a parser plus an automation tool, an inbox built into your field service software, or an AI intake agent.
1. Give work orders one address
Create a shared mailbox such as workorders@yourcompany.com and ask clients to send work there. If clients already email individual staff, add a forwarding rule. Gmail can forward all new mail or only messages that match a filter, after the forwarding address is verified. Plus addressing lets one mailbox take tagged variations such as workorders+clientname@yourcompany.com; it is on by default in Exchange Online and supported in Google Workspace, so you can tell which client or branch a message came in on.
2. Decide the required fields before you automate
Write down what a job needs before anyone can dispatch it: client, site address, trade, priority, due date or SLA, the client's NTE (not-to-exceed amount) and the client's PO or work order number. Optional fields (on-site contact, access notes, asset or location in the building) are useful but should not block the job.
3. Extract the fields from the email and the attachment
Three ways to read them: fixed field codes in the email body ("Site: ..."), templates that learn one sender's layout, or AI extraction that reads any layout including PDFs. Big clients usually send the work order as a PDF from their own system, so a tool that only reads the email body will miss most of the data.
4. Match the client and site
Match the sender's address or domain to a client record, then match the address on the work order to one of that client's sites. Do not create a new client because a new store manager emailed; match on domain and site address first, and only create a new site when no match is found.
5. Check for an existing job before creating one
Look up the client's PO or work order number. If a job already has it, attach the new email to that job and update it (a revised NTE, a new due date, a cancellation). Every email also has a Message-ID header that is unique to that message, and replies carry In-Reply-To and References headers pointing at the original, so the same message forwarded twice, or a reply to the thread, never makes a second job.
6. Create the job, or park it in needs info
If every required field was found and matched, create the job in a new or ready-to-dispatch status. If any required field is missing, create it in a needs-info status with the email and PDF attached and the missing fields marked, so a coordinator fills two fields instead of typing twenty. Optionally reply to the client asking for the missing detail.
7. Keep the evidence and acknowledge
Store the original email and every attachment on the job. Send an acknowledgment to the requester with your job number and their PO number, so their follow-ups quote a number you can match in step 5.
Where it breaks
Why it goes wrong
These are the problems buyers described on our sales calls, from facility maintenance companies, electrical contractors and equipment service firms that get most of their work by email.
People become the parser
A commercial facility maintenance company with hundreds of open work orders had two staff whose whole job was reading dispatch emails and filling in the missing pieces before anything could be routed. Nothing was wrong with the emails; there was simply no step that read them.
The email, then the phone call, then two jobs
A commercial electrical contractor said a customer would email a job and then call about it, and the job ended up entered twice. Without a shared key (the customer's PO or work order number) checked at intake, two people create two jobs and two technicians may go.
The real work order is a PDF
A subcontractor-based facility maintenance coordinator described the pattern: a phone call or email first, then a formal work order by email with a PDF attached, which someone copies field by field. Tools that read only the email body skip the document that holds the scope and NTE.
Your job number does not match theirs
Clients chase and pay by their own PO or work order number. If the job only carries your internal number, every follow-up and every invoice needs someone to look the number up. Buyers asked whether the client's number could be the job ID.
Polling tools that skip or lag
DIY flows built on a mailbox trigger can be late or miss mail. Microsoft's Office 365 Outlook connector notes that triggers usually fire almost immediately but can take up to an hour, and that because triggers are based on the received time, moving emails between folders can make the trigger skip messages.
One template per sender
Template parsers learn one layout. When a client changes its work order form, the template silently stops matching and the jobs stop arriving. Zapier's Email Parser, for example, accepts only 15 templates, each one teaching it the pattern of one email layout.
The options
Ways to do it
| Approach | How the email becomes a job | Weak spot | Good for |
|---|---|---|---|
| Shared inbox read by a coordinator | A person reads each email and types the job into the FSM | Slow, retyped, duplicates when the client also calls | A handful of work orders a day |
| Parser plus automation (Zapier Email Parser, Parseur, Power Automate) | Mail is forwarded to a parser; fields are mapped into the FSM through Zapier or the FSM's API | Templates break when layouts change; dedupe and needs-info logic you build yourself | Teams with an ops person who likes building flows |
| Inbox built into the FSM (ServiceM8 Inbox) | Each account gets an inbox address; staff click Convert to Job, and attached PDF work orders are scanned to fill the job card | A person converts each message; scanning works best on popular property management templates | Small trade teams taking work from property managers |
| Enterprise FSM add-in (Dynamics 365 Field Service) | Microsoft's Outlook add-in created work orders from an open email | Deprecated: not supported after October 30, 2025 | Check what replaces it before you plan on it |
| AI intake in a configurable FSM (Fieldproxy) | An agent reads the email and PDF, matches client and site, checks the PO number for an existing job, then creates the job or parks it in needs info | Required fields and matching rules are agreed with you before go-live | Companies with many clients, many formats and 10+ field staff |
As of November 2026, from each vendor's own help pages (sources below). Check the current version before you rely on any one setting.
Worked example
A worked example: one morning of work order email
Say a facility maintenance company gets 40 work order emails before 10am from 12 clients. Made-up numbers to show where each email ends up.
| Emails | What arrived | What the intake did |
|---|---|---|
| 22 | Formal work order PDF with PO number, site, trade, priority and NTE | Job created in ready to dispatch, PO number on the job, PDF attached, acknowledgment sent |
| 7 | Plain email from a store manager, no PO number, no priority | Client matched by domain, site matched by address, job created in needs info with priority and PO marked missing |
| 5 | A second email about an existing PO (revised NTE, new due date) | Matched by PO number; the existing job was updated and the email attached, no new job |
| 3 | Replies in an existing thread ("tech can come after 2pm") | Matched by In-Reply-To header; added as a note on the job |
| 2 | Duplicate forward of a message already processed | Same Message-ID; ignored |
| 1 | Invoice query, not a work order | Not a work order, so left in the inbox for a person |
A coordinator works 7 needs-info jobs (a field or two each) and one stray email, instead of reading 40 emails and typing 22 jobs. If the same client then calls about PO 48812, the person taking the call searches the PO and finds the job already there.
Before you buy
What to check before you buy
Good signs
- It reads PDF and image attachments, not only the email body
- It creates the job without a click when all required fields are found
- You choose the required fields, and missing ones send the job to a needs-info status
- The client's PO or work order number is a searchable field and the dedupe key
- Follow-up emails and replies attach to the existing job instead of creating one
- The original email and attachments are stored on the job
- Sender domain and site address match to existing clients and sites
Red flags
- Every email must be converted by hand, one click per message
- One template per sender, maintained by you
- No duplicate check, so a forward or a call creates a second job
- AI fills fields with no way to see what it was unsure of
- Work order emails must go to a personal inbox or a user licence
- The feature is an add-in the vendor has deprecated
In Fieldproxy
Setting it up in Fieldproxy
Fieldproxy is set up around your process, so the fields, statuses and rules below are configured with you. Names are examples.
Intake address and email management
Work order emails go to a connected intake mailbox (e.g. workorders@). Email management (/solutions/email-management) keeps those emails beside the jobs they belong to.
The Document intelligence agent reads each one
The Document intelligence agent (/agents/document-intelligence-agent) turns incoming PDFs, POs and work orders into jobs and line items: client, site, trade, priority, due date, NTE and the client's PO number (e.g. stored as client_po).
Dedupe on the client's number
Before creating a job, intake checks client_po against open jobs for that client. A match updates the existing job and attaches the email; no match creates a new job. Phone and text requests use the same check, so a call about a PO that came by email finds the existing job.
Needs info, not guesswork
Jobs missing a required field land in a needs_info status with the email and PDF attached and the gaps marked. The Watcher agent (/agents/watcher-agent) flags any that sit there too long, and Autopilot (/agents/autopilot) can draft the reply asking the client for the missing detail, which a person approves before it sends.
Straight on to dispatch
Complete jobs move to ready to dispatch, where the Dispatch agent (/agents/dispatch-agent) assigns the right tech by distance and skills, or your vendor rules take over. Work order management (/solutions/work-order-jobs) holds the stages you use from intake to invoice.
Everyone in one system, one price
Coordinators, technicians and vendors all work in the same system. Fieldproxy is one price per company with unlimited users. See /pricing.
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.
Send us a week of work order emails
Forward a sample from each client, with attachments. We list the formats, the fields each one carries and what is always missing.We agree the required fields and rules
Required fields, client and site matching, the PO number as the dedupe key and what counts as needs info, set to how you route today.We connect the intake mailbox
Your shared mailbox or a forwarding rule points at intake. Your clients keep emailing the same way.Run it beside your coordinators for a week
Intake creates jobs while your team checks them. Once the jobs match what they would have typed, they stop typing and work only the needs-info list.
FAQ
Questions people ask
- Can field service software turn incoming emails into work orders automatically?
- Yes. Send them to one intake address, extract the fields from the email and its attachment, and create the job when every required field is found. Anything incomplete should go to a needs-info status rather than be guessed.
- Can the job use the client's own work order or PO number as the job ID?
- It should at least store it as a searchable field and use it to find duplicates. Whether it replaces your own job number is a choice; most teams keep both, because two clients can use the same number.
- What happens when the client emails and then calls about the same job?
- Whoever takes the call searches the client's PO or work order number first. If intake already created the job, they add the call notes to it. Without that shared key, the same work gets entered twice.
- Does the original email and PDF stay on the job?
- It should. The client's wording is the scope you will be held to, and you need the NTE and PO as they were sent when you invoice.
- Can AI read work orders in any format, or do I need a template per client?
- Template parsers need one template per layout; Zapier's Email Parser, for example, accepts only 15. AI extraction reads layouts it has not seen before, but you should still review anything it marks as uncertain.
- Can an agent assign the new work order to the right coordinator by client or location?
- Yes. Once client and site are matched, a rule sets the owner, for example by client account or by state. The job then shows up on that coordinator's list instead of a shared queue.
- Can I keep using Power Automate or Zapier instead?
- You can. Microsoft's Outlook connector supports shared mailboxes but notes its triggers can lag up to an hour and can skip mail moved between folders, so you also have to build the dedupe and needs-info steps yourself.
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.
- ServiceM8 Help Center: what is the ServiceM8 Inbox?: https://support.servicem8.com/hc/en-us/articles/360000471135-What-is-the-ServiceM8-Inbox
- ServiceM8 Help Center: how Work Order Scanning works: https://support.servicem8.com/help-center/servicem8-add-ons/servicem8-inbox/how-work-order-scanning-works.md
- ServiceM8 Help Center: how the inbox job card auto-fill feature works: https://support.servicem8.com/hc/en-us/articles/202583884-How-the-inbox-job-card-auto-fill-feature-works
- Zapier Help: set up your Email Parser account: https://help.zapier.com/hc/en-us/articles/8496306000269
- Parseur: how to automate work orders: https://parseur.com/use-case/automate-work-orders
- Microsoft Learn: Office 365 Outlook connector reference: https://learn.microsoft.com/en-us/connectors/office365/
- Microsoft Learn: Dynamics 365 Field Service feature deprecations: https://learn.microsoft.com/en-us/dynamics365/field-service/deprecations-field-service
- Microsoft Learn: plus addressing in Exchange Online: https://learn.microsoft.com/en-us/exchange/recipients-in-exchange-online/plus-addressing-in-exchange-online
- Google Workspace: Gmail tips (plus address variations): https://support.google.com/a/users/answer/9308648?hl=en
- Gmail Help: automatically forward Gmail messages: https://support.google.com/mail/answer/10957?hl=en
- RFC 5322: Internet Message Format (Message-ID, In-Reply-To, References): https://www.rfc-editor.org/rfc/rfc5322.html
Related
Keep reading
- How do facility maintenance companies dispatch in-house technicians first and fall back to vendors?
- How can subcontractors receive, update and close jobs without an app?
- Email management
- Integrations
- What is the best field service software for a 5-10 person HVAC team?
- ServiceTitan alternatives for small HVAC companies (under 50 techs)