On this page

The practical answer

Start with a supported export, connector or API and a read-only view of the minimum required fields. Define the authoritative system for each field and map stable record IDs. Use deterministic rules to synchronise approved data, while AI prepares explanations or suggestions in a separate review layer. Add writes only after reconciliation and recovery are proven.

An existing ERP or HRMS does not need to be rebuilt to support a useful AI workflow. The first question is which task needs information from it: preparing an exception summary, explaining a request or assembling a handover. Replacing core transaction logic is a different project.

Keeping the first connection read-only reduces the consequences of a mistaken interpretation. It also exposes missing identifiers, stale data and unclear ownership before those problems can modify financial or employee records.

An example workflow

A bounded integration path

  1. Name the task and field owners

  2. Confirm a supported read interface

  3. Map stable IDs and field meanings

  4. Build a reconciled read-only view

  5. Let AI draft from authorised records

  6. Review evidence before considering writes

Decision at a glance

Choose the lightest supported connection

Choose the lightest supported connection
Available interfaceSuitable first useLimit to verify
Scheduled exportPeriodic draft or reconciliation reportFreshness, completeness and file ownership
Supported connectorBounded read workflowRequired fields, permissions and failure reporting
Documented APIControlled record lookup or change trackingVersion, paging, quotas and supported entities
Only fragile screen interactionAssess a manual export firstWhether unattended access can be maintained

Scroll horizontally to see the full comparison.

Define authority at field level before connecting systems

Assign one authoritative source for each shared field. In a particular organisation, HRMS might own employee status and department while ERP owns supplier details and purchase-order status. These are choices to document, not universal product rules. State which system may propose a change and which owner authorises it.

List the decision the workflow supports and remove fields it does not need. An onboarding checklist may require employee ID, start date and department without salary or identity documents. Give the integration account the minimum read scope and test with a role that represents the intended operator. A broad administrator connection can make an otherwise narrow pilot too exposed.

Check supported interfaces and stable record identifiers

Inspect the installed system version, licensed integration features and documented interface before choosing a platform. A regular export can be sufficient when a daily report meets the task. Prefer a supported connector or API over editing core screens or database tables; compare the maintenance and upgrade implications before commissioning custom work.

Build a mapping between source-system ID and destination-system ID. Names, email addresses and row positions can change or collide. SCIM’s core schema defines stable, non-reassignable resource IDs for systems implementing that standard. Dataverse documents alternate keys for identifying rows with external business identifiers. These illustrate useful mechanisms; verify what your actual ERP and HRMS support.

Separate data synchronisation from AI interpretation

Copy authorised fields through explicit mappings: what counts as active, which time zone a timestamp uses and how department codes correspond. Version the mapping and reject unknown codes. AI should not decide that two similar names are the same employee or rewrite a source status because the wording sounds more convenient.

Place AI above that controlled view to draft an explanation, identify an apparent inconsistency or summarise a request. Show record IDs, source timestamps and supporting fields alongside its output. Mark suggestions as suggestions. A generated answer about a purchase order must not become the order’s recorded approval status.

Worked example: a read-only onboarding handover

Hypothetical example, not a client project: HRMS holds a new colleague’s confirmed start date and department, while ERP holds an equipment request keyed to employee ID. A read-only view joins those IDs and shows that the equipment request is still open. AI drafts “Equipment request remains open; confirm readiness before the start date” with links to both records.

If no matching employee ID exists, send the record to a mapping queue; do not match by a similar name. If ERP data is older than the agreed freshness window, label the status as unverified and refresh or ask the owner. The pilot neither changes the start date nor approves a purchase. The receiving colleague confirms the next action in the existing system.

Design reconciliation and recovery before adding writes

An integration must handle more than new records. Include updates, inactive records, deletion rules, paging, repeated events and expired access. Microsoft Graph’s delta documentation describes removals, replays and synchronization resets for supported resources. Do not assume your ERP provides the same mechanism; document its actual change and recovery behaviour.

Record the last completed checkpoint and source version. Compare the read-only view with a fresh source sample after an interruption. If partial reads or an expired change token leave completeness uncertain, rebuild the bounded view using the supported procedure and reconcile before resuming. A later write pilot also needs duplicate-safe operations, destination checks and a field-level reversal plan.

  • System owner and support contact for each connection.
  • Authoritative fields, ID mapping and code definitions.
  • Allowed access, excluded data and freshness window.
  • Checkpoint, reconciliation method and exception owner.
  • Pause control, manual handover and recovery procedure.

Judge the read-only pilot by usable, current handovers

Measure the current effort required to assemble the same handover. Mapping coverage = eligible source records with verified ID mappings divided by eligible source records. Freshness pass rate = checked records within the agreed age limit divided by records checked. Record material disagreements against the source, review time and unresolved exceptions separately from AI response speed.

Stop expansion when ownership conflicts persist, IDs cannot be verified, required access is too broad, freshness cannot meet the task or recovery produces unexplained differences. Compare configuration, export-based work and a small API adapter before proposing deep customisation. Keep any cost estimate in USD tied to scope, licences and maintenance, and approve writes as a separate stage.

Before you commit

An integration brief should specify

  • One task, minimum fields and an owner for each source.
  • Supported interface and verified stable ID mappings.
  • Read-only pilot with source evidence and freshness checks.
  • Reconciliation, recovery and a separate decision on writes.

Questions before you start

Do we need real-time synchronisation for the pilot?

Only if the task needs it. Define the acceptable age of each field first. A scheduled export may support a periodic handover; a decision that depends on current approval status needs a fresher supported lookup. Label stale data and block consequential use.

Can AI resolve conflicting ERP and HRMS records?

It can highlight a discrepancy and prepare a source-backed explanation. The field owner must decide which record is authoritative and correct it through the approved process. Do not use a model’s preference as a synchronisation rule.

What if there is no usable API?

Check supported exports, scheduled reports and available connectors before adding screen automation. A manual export may be the better first pilot. If maintaining access would require fragile changes to the core system, revisit the scope and upgrade options with its owner.

Sources and further reading

  1. IETF RFC 7643, section 3.1: stable identifiers in the SCIM core schema
  2. Microsoft Learn: Dataverse alternate keys for external record identifiers
  3. Microsoft Learn: Graph delta queries, removals, replays and synchronization resets

The next step

AI integration

If this is the right direction for your business, start with a clear scope, testing plan, and handover.

Explore this service Discuss your project