Map inputs and outputs before building an integration: Record the source event, destination operation and owner of each endpoint.; Map outputs separately: acceptance, destination request ID and completion are distinct.; Agree whether each field is required, conditional or optional; null differs from missing.
Image: Workflow Automation Guide

Data Mapping

Part of Designing reliable workflows between business applications

Mapping inputs and outputs before building an integration

Create an input-to-output contract for an integration, including field meaning, missing values, destination results and rejection paths.

Before building an integration, define the input that authorises one action and the output that confirms it, then map the fields needed between them. A small contract exposes missing data, unclear ownership and assumptions while the design can still change.

In this hypothetical example, an order system reports a paid order and a fulfilment system is asked to create a dispatch request. The field names are illustrative. A real mapping must use the selected systems’ documented operations and payloads.

Define one source-to-destination action

Record the source event, destination operation and owner of each endpoint. Specify whether the destination creates a record, updates one or accepts work for later processing.

The input contract should include a stable order reference, eligibility data and required destination values. The output contract should distinguish request acceptance from completion and identify the destination ID to retain. If processing is asynchronous, those are separate milestones.

Define a source-to-destination action contract

  1. Record the source event, destination operation and endpoint owner
  2. Specify whether the destination creates, updates or accepts work for later processing
  3. Define the input contractstable order reference, eligibility data and required destination values
  4. Define the output contractrequest acceptance, destination ID and later completion status
  5. If processing is asynchronous, treat acceptance and completion as separate milestones

Build a first-pass field map

Input or lookupMeaning to confirmOutbound useIf unavailable
order_idStable source order identityReference on dispatch requestStop; do not invent an ID.
payment_stateAuthoritative paid stateEligibility decisionLook up the source state or route for review.
delivery_methodService selected for this orderAgreed destination service codeRoute an unsupported value for correction.
delivery_addressAddress valid for this orderDestination address fieldsHold the request until required parts are available.

For each real row, add the source path, type, example, requiredness, transformation owner and destination field. Check whether the event contains a complete record or only changed fields; the latter may require a source lookup.

Map outputs separately: note the response that confirms acceptance, the destination request ID, any later status that confirms completion, and the lookup available after a timeout. A missing response must not be treated as proof that the destination did nothing.

First-pass field map attributes to capture

  • Source path
  • Data type
  • Example value
  • Requiredness
  • Transformation owner
  • Destination field
  • Whether the event contains a complete record or only changed fields

Define rejection rules

Place a safe sample input beside the expected outbound record. Check meaning as well as format: an internal order ID and a customer-facing number may look similar but serve different purposes. A date may represent a calendar day or a timestamp. Agree conversion rules with both system owners.

Mark fields as required, conditionally required or optional. In JSON, a missing property differs from one explicitly set to null; an empty string differs again. Preserve those distinctions unless the destination operation defines how to handle them. A schema can validate structure and types, while business rules decide whether a valid-looking value is appropriate.

For rejected input, specify whether to look up missing source data, hold it for correction or classify it as ineligible. Record the reason and owner. A default that passes validation can still send the wrong instruction.

JSON value states to preserve in rejection rules

  • Missing propertyProperty is absent; distinguish it from a property that is present with no value.
  • Null valueProperty is present but explicitly set to null; not the same as missing or empty.
  • Empty stringProperty is present with an empty string; a third distinct state to preserve unless the destination operation defines how to handle it.

Handling rejected input

  1. Look up missing source data
  2. Hold for correction
  3. Classify as ineligible
  4. Record the reason and owner

Review the handoff

Ask the source owner when each field becomes available and how it changes. Ask the destination owner which operation and response indicate success, whether a request can be found by source reference, and what duplicate submission would do. For an ordinary input, and for missing, changed or unsupported values, write the expected outbound payload or rejection decision.

The resulting contract can guide a connector configuration or code implementation without making either tool the authority for the data’s business meaning.

Handoff review questions

  • Ask the source owner when each field becomes available and how it changes
  • Ask the destination owner which operation and response indicate success
  • Confirm whether a request can be found by source reference
  • Confirm what duplicate submission would do
  • Write the expected outbound payload or rejection decision for ordinary, missing, changed and unsupported values
  • Keep the data's business meaning with the business owners, not the connector or code tool

More from Data Mapping