Skip to main content
The Operata Fetcher Service enforces these field-tier rules when it ingests Genesys Cloud Conversation data. The Fetcher Service runs in Operata’s managed infrastructure, polls the Genesys Cloud API on conversation end, and ships only the surviving payload to Operata. For the model behind the schema and the rollout procedure, see Concept: Privacy and redaction and Configure Genesys Cloud redaction.
This schema applies to the Genesys Cloud integration only. Amazon Connect CTR, Contact Flow Log, and Lex integrations have their own schemas.

Field tiers

Every field in a Genesys Cloud event or API response belongs to exactly one of six tiers. The four customer-configurable tiers (Allow, Deny, Encrypt, Transform) are mutually exclusive: any one field appears in at most one tier.

Processing order

The Fetcher Service processes every event in four passes, in order.
  1. Mandatory override. Check each field path against the mandatory list. If a mandatory field sits under a denied parent, retain the parent and prune all non-mandatory siblings. Mandatory always wins.
  2. Deny. Evaluate every remaining field path against the deny list. Mark matched fields for removal.
  3. Allow, Encrypt, Transform. Apply the customer-declared tiers to the remaining fields.
  4. Default nullify. Every field outside the previous three passes keeps its key; its value becomes null.

Path notation

All lists use dot notation against the JSON payload.
  • A top-level key such as conversation matches the entire object at that key.
  • A nested path such as conversation.participants.name matches only that specific subfield.
Rules apply at every depth consistently.

Parent-key behavior

When a deny entry targets a parent and no mandatory entry references any child of that parent, the Fetcher Service removes the entire parent key. The key is absent from the output — not an empty object. When a deny entry targets a parent and the mandatory, allow, encrypt, or transform list references one or more children of that parent, the Fetcher Service retains the parent containing only those referenced children. Every other child is removed regardless of whether it also appears in the deny list.

Data flow

Policy caching

The Fetcher Service fetches the active redaction config from the Operata Config API and caches it for 30 minutes. If the API is unreachable or returns an invalid policy, the service falls back to the last valid policy in Operata’s secure storage. If no valid policy exists in either location, the Fetcher Service marks the batch as failed until a valid config is available.

Mandatory keep-list

The Fetcher Service always preserves these fields. The list is hard-coded; the redaction API rejects any rule that targets a mandatory field with 400 Bad Request. EventBridge — conversation end event
API — GET /users/{id}
API — GET /conversations/{id}/details

Common configurations