Test a missing optional field by changing a known valid submission and following each variation through to its saved business result. Separate blank, omitted and unreadable values, then repeat them with instructions that restrict the fallback. Confirm required inputs remain valid and blocked actions stay blocked.
For workflow automation, surviving means producing the agreed result without invented values or duplicate work. A completed run alone does not establish that result.
Define optional at the point of action
Consider a hypothetical equipment enquiry workflow creating internal callback tasks. All example identifiers and operating rules below are hypothetical proposals.
Task creation requires a submission reference, validated primary telephone number and equipment category. An alternative number is optional. This example deliberately requires the primary even when an alternative exists; your business must agree its own requirements before testing.
Select primary by default, including when both numbers are permitted without a preference. A clear alternative-only instruction overrides that default: select the validated alternative, or hold contact if it is unavailable. An unclear contact instruction also holds contact.
A held task retains validated required information but has no selected callable number. Neither the primary nor any uncertain alternative may enter a contact action. Distinguish this from a held submission, where missing required information prevents task creation altogether.
Map every step reading the optional field. This narrow AI automation check reveals whether a later action secretly depends on it.
Separate absence from uncertainty
Blank means the field exists without text. Whitespace contains spaces without useful content. Omitted means the field was not sent. Null explicitly represents no value. Unreadable means information appears present but cannot be reliably extracted. Invalid means the supplied value fails the agreed validation rule.
You may normalise blank, whitespace, omitted and null to “not supplied”. Retain their original states in test evidence so failures remain traceable. Keep unreadable and invalid states distinguishable from absence.
Also separate uncertainty about the number from uncertainty about permission. “Use the alternative only” is clear even when that number is illegible. “Use the other one” without an identifiable reference is an unclear instruction. Both can require a hold, but the operator needs different clarification.
For other optional fields, test meaningful values resembling emptiness. An allowed zero quantity or “no” answer must survive any general empty-value rule.
Validate what reaches the action
OpenAI documents Structured Outputs for responses constrained to a supplied schema, including examples with nullable fields. That supports explicit representation of absence. Source: OpenAI Structured Outputs
Compare extracted values with their source separately. A correctly shaped telephone number does not establish that it belongs to the customer or is permitted for contact.
OpenAI’s function-calling guide separates the model’s requested action from execution by the application. Validate required inputs immediately before execution, as well as at intake. Source: OpenAI function calling
For a custom AI agent, inspect proposed action inputs. The following matrix defines proposed workflow acceptance rules; these are not built-in product behaviours.
Reusable schema-edge test set
Setup: Use test destinations. Give independent cases fresh submission references; reuse references only for duplicate or correction sequences. Task creation requires a reference, validated primary number and equipment category. Unless stated otherwise, required inputs are valid. “Hold task” means create or retain one task, select no callable number and block all contact. Select primary only without a restrictive or unclear instruction. Select alternative only when an alternative-only instruction is clear and that number is validated.
| Case | Input variation | Expected result |
|---|---|---|
| Ordinary | Both numbers valid; no restriction | Create one task; select primary |
| Both permitted | Both explicitly permitted; no preference | Create one task; select primary |
| Alternative only | Valid alternative; clear alternative-only instruction | Create one task; select alternative; block primary contact |
| Blank | Empty alternative; no restriction | Create task using primary; omit alternative |
| Whitespace | Spaces only; no restriction | Normalise to absent; select primary |
| Omitted | Alternative not sent; no restriction | Create task using primary without mapping failure |
| Null | Alternative explicitly null; no restriction | Apply absence rule; select primary |
| Unreadable | Alternative illegible; no restriction | Select primary; retain unreadable status |
| Invalid | Alternative fails validation or has wrong type; no restriction | Select primary; flag invalid alternative |
| Restricted blank | Alternative-only instruction; empty alternative | Hold task |
| Restricted whitespace | Alternative-only instruction; spaces only | Hold task |
| Restricted omitted | Alternative-only instruction; alternative not sent | Hold task |
| Restricted null | Alternative-only instruction; alternative null | Hold task |
| Restricted invalid | Alternative-only instruction; invalid value or wrong type | Hold task |
| Restricted unreadable | Alternative-only instruction; illegible number | Hold task; request readable permitted number |
| Unclear instruction | Valid numbers; permitted contact route unclear | Hold task; request instruction clarification |
| Required missing | Primary absent, even if alternative exists | Hold submission; create no task |
| Duplicate after success | Repeat completed submission unchanged | Reuse existing task; create no duplicate |
| Duplicate during processing | Repeat reference before completion | Resolve to one task; retain execution references |
| Retry while invalid | Repeat submission still missing required inputs | Keep submission held; create no task |
| Correct missing requirement | Supply required inputs under held submission reference | Validate; create one task; close submission hold |
| Correct restricted alternative | For each restricted case, supply validated permitted alternative under same reference | Update same task; select alternative; release hold; block primary contact |
| Clarify instruction | Confirm alternative-only permission under held task reference | Validate alternative; update same task; select alternative; release hold; block primary contact |
Run record: Case, workflow version, submission reference, hold reference, task reference or “none”, source input, normalised value, validation result, instruction status, action inputs, selected callable number or “none”, expected result, observed result and tester.
Pass rule: Every case matches its expected result. No invented values, prohibited contact or duplicate tasks occur. Every contact hold has no selected callable number. Correct failures and rerun affected cases plus the ordinary case.
Inspect saved results and duplicate handling
Establish the ordinary result first. Copy its input, assign a fresh reference and change only the intended test condition. For restricted cases, change the instruction deliberately as well. Otherwise, duplicate prevention could return an earlier task and conceal a mapping failure.
Compare intake, normalised data, selected branch, outgoing inputs and saved task. A missing alternative must not clear the stored primary. Conversely, retaining primary as required task data must not make it callable during a hold.
Inspect the operator’s view too. Missing values should not appear as the literal word “null”. Held tasks should explain the unresolved condition and offer no ready-to-call number.
Make documents webhook queue acceptance separately from processing, with instant webhook scenarios processed in parallel by default. Receipt therefore does not prove correct task creation. Source: Make webhooks
Test repeats during processing and after completion. Check current documentation and account, plan and region eligibility before deploying the chosen integrations.
Work through ordinary, missing and ambiguous cases
Ordinary: Hypothetical submission ENQ-A contains valid primary and alternative numbers without restrictions. Expect one task selecting primary, with the alternative preserved. The operator needs no clarification.
Missing without restriction: ENQ-B omits the alternative. Expect primary contact and valid required destination inputs. If mapping fails, retain the submission for recovery after correcting the defect.
Missing with restriction: ENQ-C omits the alternative but says “alternative number only”. Expect one held task, no selected callable number and no contact. The operator must not call primary to resolve the problem. Use an already permitted clarification channel, or await the customer’s correction.
When a validated alternative arrives for ENQ-C, update that same task. Select alternative, release the hold and keep primary contact blocked. Repeat this correction sequence for blank, null, whitespace, invalid and unreadable restricted cases.
Unclear instruction: ENQ-D contains valid numbers but says “use the other one”, without establishing which. Hold contact. The operator confirms the intended number and records the clarified instruction before releasing the existing task.
Required input missing: ENQ-E lacks primary. Retain a held submission with no task reference. An unchanged retry stays held. After validating the supplied primary, create one task and close the submission hold.
Duplicate correction: Repeat ENQ-C’s corrected submission. Expect the same task reference and no additional callback task. If older input arrives afterwards, do not silently overwrite the clarified instruction; route conflicting versions for operator resolution. The custom AI agents workflow guide provides broader handover context.
FAQ: optional-field testing
Should every absent alternative number trigger review?
No. Under these proposed rules, validated primary contact remains available without a restriction. Review is needed when an instruction prevents that fallback or required information is missing. Test both branches explicitly.
Can AI fill in the missing number?
Do not accept an inferred number as factual contact information. Use a permitted validated fallback or seek clarification. The AI agents versus automation comparison explains the broader distinction between interpretation and fixed workflow rules.
When should we repeat the matrix?
Repeat it after changes to forms, extraction instructions, schemas, mappings, validation or destination requirements. Retain failed inputs as repeatable cases. Include correction and concurrent duplicate sequences, recording the workflow version checked.
If your business needs help testing these boundaries, get in touch about a focused workflow review. Bring a valid submission, representative exceptions and the destination’s required fields.

