Manage Contact Point Lookups
Purpose
Provides task-specific setup planning, routing, export, import, and validation guidance for Manage Contact Point Lookups under Trading Community Foundation.
Setup Task Skill Contract
- task_code:
HZ_MANAGE_CONTACT_POINT_LOOKUPS - task_name:
Manage Contact Point Lookups - parent_skill_id:
cx.customer-data-management.trading-community-foundation - pillar:
CX - offering:
Customer Data Management - functional_area:
Trading Community Foundation - functional_area_code:
ORA_HZ_CDM_FOUNDATION - available_flag:
Y - export_import_supported_flag:
Y - csv_export_import_supported_flag:
Y - source_catalog:
knowledge/setup-task-catalog/effective/setupTasksAll.json
Usage
Use this skill when planning, sequencing, exporting, importing, or validating setup data for Manage Contact Point Lookups under Trading Community Foundation.
Setup Task Metadata
- Task name:
Manage Contact Point Lookups - Task code:
HZ_MANAGE_CONTACT_POINT_LOOKUPS - Available:
Y - Export/import supported:
Y - CSV export/import supported:
Y - CSV export/import routing:
supported
CSV Export, Import, and Validation Workflow
CSVExportImportSupportedFlag is Y for this task.
- Export setup task data with
shared.setup-export.task-level-export. - Validate setup task data with
shared.validation.setup-data-validator. - Validate reference data with
shared.validation.reference-data-validator. - Route every import exclusively through
core.data-loader. - For an FSM ZIP, preserve the archive unchanged, require the exact case-sensitive member basename
ASM_SETUP_CSV_METADATA.xml, and require exactly one metadata task identity equal toHZ_MANAGE_CONTACT_POINT_LOOKUPS. - Let Core Data Loader prepare the final immutable upload artifact, then invoke its
data-loadTask Hook immediately before approval and upload. Require the Task Hook validation envelope to remain bound to that archive's SHA-256. - Require the user's separate explicit approval of the exact immutable preview. Any source, archive, environment, task identity, validation result, or approval change restarts the Core Data Loader and Task Hook lifecycle.
- Core Data Loader owns UCM upload, initiation payload construction, endpoint and FSM routing selection, accepted-request reporting, and later status diagnostics. This pillar skill must not select an adapter, endpoint, loader routing field, or retry policy.
Use this task metadata:
- Offering:
Customer Data Management - Functional area / Setup Object:
Trading Community Foundation - Setup task name:
Manage Contact Point Lookups - Setup task code:
HZ_MANAGE_CONTACT_POINT_LOOKUPS
Inputs
natural_language_requestfusion_environment_contextlookup_type_or_meaninglookup_code_and_named_changessetup_data_artifactproject_id
Outputs
lookup_resultsetup_data_resultdiagnosticsskill_run_recordtoken_usage_record
Implementation Notes
Use the parent functional-area skill cx.customer-data-management.trading-community-foundation for functional-area sequencing and scope decisions. Track token usage for any generated project artifact or skill-run record using the manifest policy.
Ownership and review
- Owner: CX Customer Data Management pillar team.
- Functional reviewer: CX Customer Data Management Pillar Lead or a Trading Community Foundation SME.
- Framework reviewer: FSCR A-Team/core reviewer.
- QA reviewer: required when lookup read, mutation, validation, export, or import behavior changes.
Reviewer guidance is in the body because the current manifest schema has owner_team but no reviewer field.
Task-specific lookup baseline
| Lookup type | Meaning or scope | Configuration level | Evidence and restriction |
|---|---|---|---|
PHONE_LINE_TYPE | Phone Line Type | User (U) | Fixed OOTB task member; Standard lookup. |
HZ_INSTANT_MESSENGER_TYPE | Social Network | User (U) | Fixed OOTB task member; Standard lookup. |
HZ_PAGER_TYPE | Pager Type | User (U) | Fixed OOTB task member; Standard lookup. |
HZ_PREFERRED_CONTACT_METHOD | Preferred Contact Method | User (U) | Fixed OOTB task member; Standard lookup. |
HZ_URL_TYPES | Web Address Type | User (U) | Fixed OOTB task member; Standard lookup. |
COMMUNICATION_TYPE | Contact Point Type | System (S) | Fixed OOTB task member; Standard lookup. |
CONTACT_POINT_PURPOSE | Contact Point Purpose | User (U) | Fixed OOTB task member; Standard lookup. |
CONTACT_POINT_PURPOSE_WEB | Contact Point Purpose Web | User (U) | Fixed OOTB task member; Standard lookup. |
EMAIL_FORMAT | E-Mail Format | User (U) | Fixed OOTB task member; Standard lookup. |
HZ_DOMAIN_ISP_LIST | E-Mail Domains | User (U) | Fixed OOTB task member; Standard lookup. |
HZ_DOMAIN_SUFFIX_LIST | E-Mail Domain Suffix | User (U) | Fixed OOTB task member; Standard lookup. |
This is a closed 11-type OOTB inventory established by the exact-task Fusion UI and reconfirmed by read-only GETs from the configured environment. The task does not provide an operation for adding a lookup type. All 11 types resolve through /fscmRestApi/resources/11.13.18.05/standardLookups/{LookupType} and currently contain only seeded-origin codes. A current GET must reconfirm category and configuration level before a live operation. Missing or changed evidence is catalog_or_metadata_mismatch; never add a type based on prefix, module, or meaning. See ora_reference_lookups.md.
Supported and unsupported operations
| Request | Support |
|---|---|
| List lookup types belonging to this task | Return the closed 11-type baseline and current read results; never add a task member. |
| Show codes and values or retrieve one exact code | Read-only, no approval, after exact task membership and lookup-category resolution. |
| Create a custom code | Conditional only for one of the ten User types after duplicate, reserved-prefix, configuration, and describe checks; unsupported for COMMUNICATION_TYPE. |
| Update a lookup type | Conditional at the intersection of configuration-level rules and current REST describe; identity, category, configuration, module, and REST-security fields remain protected. |
| Update a lookup code | Conditional at the intersection of configuration-level rules, seeded origin, and current REST describe. |
| Delete a code | Conditional only for a proven custom code in one of the ten User types; unsupported for COMMUNICATION_TYPE or any seeded-origin code. |
| Export task setup data | Supported through shared.setup-export.task-level-export because the exact catalog CSV flag is Y. |
| Validate and import task setup data | Supported through core.data-loader only after shared validation, Task Hook validation of the exact immutable archive, and separate explicit approval. |
| Change lookup type/code identity, configuration level, category, module, REST security, or seeded identity | Unsupported; refuse before preview. |
| Add or delete a lookup type | Unsupported; the task inventory is fixed. |
Never silently upsert. Reject a custom code beginning with ORA_. Treat CreatedBy == SEED_DATA_FROM_APPLICATION as seeded-origin evidence. LastUpdatedBy identifies only the most recent updater and must never convert a seeded code into a custom code.
Configuration-level and manual mutation contract
- System
COMMUNICATION_TYPE: no code creation/deletion, enabled-state, date, display-sequence, description, tag, or structural change. Permit onlyMeaningwhen current REST describe also marks it updatable. - The other ten types are User: permit REST-described
Meaning,Description,DisplaySequence,EnabledFlag,StartDateActive,EndDateActive, andTag. Permit custom-code creation/deletion only after seeded-origin checks. - Category is
standardLookupsfor all 11 confirmed members. If a current exact GET no longer resolves there, stop; do not fall through to another category. - Build every PATCH from only the named fields allowed by the exact configuration level and current REST describe. Never include
ModuleId,RestAccessSecured,CustomizationLevel,LookupType, orLookupCodein a PATCH.
Every manual mutation must:
- Resolve exactly one configured Fusion environment.
- GET the exact lookup type and exact code when applicable.
- Retrieve or use current cached describe metadata for the resolved resource family.
- Validate task membership, Standard category, configuration level,
CreatedByseeded origin, reserved prefix for creation, and current REST-described writable fields. - Show one exact redacted preview containing environment, method, endpoint, before/after values, payload, impact, and preview fingerprint.
- Require explicit approval bound to that environment, target, method, payload, and fingerprint.
- Send exactly one POST, PATCH, or DELETE through
core.fusion-api.apps-commonandcore.fusion-api.rest-api-client. - Never automatically retry a mutation and never enable upsert.
- Verify with a separate GET.
- Report verified success, unverified success, refusal, or classified failure distinctly.
Read-only listing and retrieval require no approval.
Task CSV export contract
Route export to shared.setup-export.task-level-export with exact TaskCode: HZ_MANAGE_CONTACT_POINT_LOOKUPS. The owning exporter must create one task CSV export, capture and monitor its ProcessId, download immutable FileContent only after success, retrieve ProcessLog after failure, and save the ZIP or diagnostic under the supplied project workspace. Do not implement export HTTP, polling, or ZIP processing here.
FSM ZIP validation and import contract
- Run
shared.validation.setup-data-validatorandshared.validation.reference-data-validatorfor task-local setup and reference checks. - Route the import only to
core.data-loader; this pillar skill supplies the exact task context and rules but never selects or invokes an import adapter or endpoint. - Detect an FSM ZIP only when a member has the exact case-sensitive basename
ASM_SETUP_CSV_METADATA.xml. - Reject missing, duplicate, unreadable, encrypted, unsafe-path, or ambiguous metadata.
- Parse metadata without rewriting the archive and require exactly one task identity equal to
HZ_MANAGE_CONTACT_POINT_LOOKUPS. - Preserve the archive bytes and SHA-256 through validation, Task Hook preview, approval, and execution.
- After Core Data Loader prepares the final immutable upload artifact, require its
data-loadTask Hook to evaluate this task's compiledora-resourcerules and issue the validation envelope bound to the exact archive SHA-256. - Require a later standalone explicit approval of that exact immutable preview. A changed source, archive, environment, task identity, rule result, or approval invalidates the envelope and restarts validation.
- Let Core Data Loader own UCM upload, FSM initiation routing and payload construction, accepted-request reporting, and any later status or ProcessLog retrieval. Do not reconstruct its envelope or locally choose an endpoint, adapter, routing field, or retry behavior.
- Submit only once under the current Core Data Loader contract. If Task Hook validation or approval is missing, stale, or mismatched, stop with
approval_blockerbefore any POST. - Treat a later Run Book or Journey
updateProgressfailure as a separate synchronization result. Do not change an accepted FSM import to failed, and never retry or resubmit the import because progress synchronization failed.
Natural prompts
Show the Contact Point Lookups in the configured environment.Show the values for <lookup meaning or exact lookup type>.Add lookup code <code> with meaning <meaning> to <lookup type>.Change the meaning of <code> in <lookup type>.Set the display sequence of <code> in <lookup type> to <number>.Disable <code> in <lookup type>.Delete custom lookup code <code> from <lookup type>.Export Manage Contact Point Lookups setup data.Validate and import this Manage Contact Point Lookups export.
Resolve an unambiguous request directly; do not ask the user to choose an internal operation name.
Error and diagnostic contract
| Failure class | Use |
|---|---|
input_validation | Missing environment, invalid code/date/flag, field disallowed by configuration or current REST describe, changed artifact, or unsafe ZIP. |
catalog_or_metadata_mismatch | Task membership, category, level, describe, exact TaskCode, CSV flag, or adapter contract cannot be proven. |
auth_expired_or_invalid | Cached authentication rejected; refresh once only under repository cache policy. |
authorization_or_privilege | Access remains denied or the task/resource privilege is missing. |
transport_or_environment | Environment, VPN, DNS, or connection failure. Retry only bounded reads. |
fusion_api_error | Fusion rejects the one approved request; report status and ECID when available. |
process_timeout | Export/import polling window expires; preserve TaskCode, ProcessId, last status, and next-check path. |
process_failed | Export/import completes with errors; preserve ProcessLog/status and partial results. |
artifact_persistence | A required ZIP, diagnostic, result, run record, or token log cannot be saved. |
approval_blocker | Preview is missing, stale, changed, or declined. |
Durable diagnostics include status, stage, failure class, message, recommended action, environment, redacted endpoint, artifact references, ProcessId/ECID, completed checks, and verified side effects. Never persist credentials, tokens, authorization headers, customer data, signed URLs, or sensitive payloads.
Synthetic behavior checks
| Scenario | Expected result |
|---|---|
| General task read | Return exactly the closed 11-type baseline and current read results; do not infer additions. |
| System field other than Meaning | Refuse before preview even if generic REST describe marks it updatable. |
| Configuration-and-describe-supported update | Exact GET, Standard category/level/seed/describe validation, one preview, approval, one PATCH, and separate GET verification. |
| Wrong-task FSM ZIP | Refuse before import because metadata does not equal HZ_MANAGE_CONTACT_POINT_LOOKUPS. |
| Task-local import route selection | Refuse before POST; Core Data Loader owns endpoint, adapter, routing-field, and retry selection. |
| Missing or stale Task Hook validation envelope | Fail closed with approval_blocker; do not upload, initiate, or reconstruct an envelope. |
| Valid exact-task FSM archive | Preserve bytes and hash, pass exact task context to Core Data Loader, complete Task Hook validation and separate approval, then let Core Data Loader execute once. |
Persistence
When project_id is supplied, persist artifacts under the manifest paths, append a run record under project/{project_id}/state/runs, and append token usage under the shared token log. Repository-only authoring does not create a project workspace. Fail closed when required authority, membership, category, metadata, privilege, adapter, approval, or safe destination evidence is absent.


