Architecture & capabilities
Overview
The Job Intake Manager is built on four agentic skills that together carry an inbound job email from arrival to a created and released service request. It operates autonomously with an exception queue rather than a per-email approval step, running the same Parse, Resolve, Create, Attach workflow for every supported email pattern. This article covers the core skills, the full intake workflow, integration points, and how the system determines when to act autonomously versus when to escalate to a coordinator.
Agentic Skills
Email & Attachment Parsing
Parses the headers, plain-text body, RTF body and the text of every attachment on an inbound email, walking quoted headers where needed to identify the originating platform and the end client. This skill handles attachment variation directly, including PDFs with an empty message body, attachments declaring an incorrect or generic MIME type, and orders split across the body and multiple attachment types. It also performs the first deduplication pass, matching the email against a composite fingerprint of client reference, site and asset before parsing continues.
Customer, Asset & Service Resolution
Resolves the customer from the end client named inside the forwarded mail, the asset from the client-reference cross-reference narrowed by location and model, the location and address by deriving them from the resolved asset rather than string-matching free text, and the service from the asset-scoped catalog. This skill also resolves the service organization and delivery unit from the applicable selection rule, falling back to the client’s default organization when no rule matches. A no-match on customer or service blocks request creation. A no-match on asset downgrades and flags the request rather than blocking it.
SLA Extraction & Precedence
Extracts SLA commitments across the six encodings that appear in client email: absolute datetime, hours duration, a “before” deadline, a priority code with the duration embedded in the label, a defect code decoded in a secondary attachment, and cases where no SLA information is present at all. This skill applies a per-client mapping from priority and defect codes to duration and fulfilment event, parses each encoding form, and applies an explicit, configurable precedence rule when the email body and an attachment disagree. Extracted datetimes are converted into the operating time zone of the resolved service organization, after the resolution chain rather than at extraction, since organization is not yet known when the email is first parsed.
Request Creation & Exception Handling
Builds and posts the service request, setting automatic release only when every mandatory value has resolved deterministically and nothing has been flagged. It stores the returned request identifier, attaches the source email and every file, and adds a further scope for every additional asset the email named, reusing the first scope’s service after revalidating it against the new asset. This skill also owns idempotency: a repeated request carrying an external identifier already in use is rejected by IFS Cloud, and the worker reads that rejection as confirmation the request already exists rather than as a failure to retry.
Intake Workflow
The following table outlines the full intake process from email arrival through to request creation.
Stage
What the System Does
Action / Output
Channel
Deduplication
Matches the email against a composite fingerprint of client reference, site and asset
Skips processing if unchanged, or proceeds if new
Parsing
Reads headers, body and every attachment, identifies originating platform and end client
Candidate values extracted for customer, asset, service, SLA and reference
Resolution
Resolves customer, asset, location, service and service organization from the extracted values
Confirmed or flagged matches, with candidate sets and scores recorded
IFS Cloud
SLA Extraction
Parses the SLA encoding present, applies precedence rule if body and attachment disagree
Duration or absolute deadline resolved and converted to the organization’s time zone
IFS Cloud
Confidence Gate
Evaluates whether every mandatory value resolved deterministically with nothing flagged
Sets automatic release true or false
IFS Cloud
Request Creation
Posts the request, attaches source materials, adds a scope for each further asset named
Request created, released or held, notification sent
IFS Cloud / Teams
Exception paths: When no customer match, no service match, or a credit block is found, the worker holds and escalates without creating a request, since creating a request on the wrong customer costs more than not creating one. When multiple asset or location candidates exist, the worker takes the highest-scoring candidate, creates the request, and flags it for override. When a request-creation call fails, it queues for a bounded retry and then escalates, with every retry carrying the same external identifier so a retry cannot produce a duplicate.
Integration Points
IFS Cloud: The primary integration. Read-mostly, writing in three places only: request creation, the chosen attachment route, and the add-scope sequence for a second or later asset. Adding a scope is the only case in which the worker touches a request that already exists, and it only ever adds: it never edits or removes an existing scope. No identifier is ever composed by the worker, every identifier it sends came from a prior API response.
Microsoft Teams: Exception alerts and the review digest. A blocking exception raises an alert to the intake coordinator with the email, what failed, and the candidates considered. Non-blocking flags and overrides ride a batched digest on a configurable cadence, grouped by client.
Loops data store: System of record for messages, attachments, extractions, candidate sets, decisions, payloads, results and the full audit trail.
Human-in-the-Loop Design
The Job Intake Manager is designed so that clean, confidently-resolved jobs create and release automatically, and coordinator judgment is reserved for genuine exceptions.
The system creates and releases automatically when:
Every mandatory value, customer, asset, location, service and SLA, resolved deterministically
No candidate ambiguity was flagged during resolution
The SLA extraction succeeded without a body-versus-attachment conflict, or the conflict was resolved by the configured precedence rule without triggering the confidence gate
Coordinator review is required when:
No customer match, no service match, or a credit block is found, blocking creation entirely
Multiple asset or location candidates exist, or the address cannot be derived from the asset
Body and attachment disagree on the SLA in a way that fails the confidence gate
The email is portal-gated, with the job detail behind an authenticated link rather than in the message
When escalating, the system surfaces the reason, the candidates considered, the scores, and the extracted values, so an override is a single decision rather than a re-read of the original email.
Feedback and Continuous Improvement
Coordinators correct the customer, site, asset or service on an exception. That correction is applied to the request and offered as a new entry in the client’s alias or cross-reference table, so the same email pattern resolves itself automatically the next time it arrives.
No-match and false-match rates are tracked per client and per field to calibrate matching thresholds. A high override rate on a single client points at that client’s mapping tables rather than at the underlying model. Every exception, recommendation, decision and outcome is logged with full traceability, providing the evidence base for ongoing accuracy review and threshold tuning.
Last updated
Was this helpful?