Back-end Setup

Use this topic to configure the Genesys Cloud back end that GenEmails expects. It covers inbound email domains, Architect flow routing, SPAM lookup, the ManualAssignment hold pattern, the clear-and-release ACD behavior, queue naming, review and SPAM mappings, and a starter YAML template.

1. Working inbound flow

The simple working model is: an inbound email domain and address route into an Architect inbound email flow, the flow reads sender and route context, the flow checks the mapped SPAM data table, and then it either sends the email to the original queue parked under ManualAssignment or bypasses the normal queue and sends the email to the mapped SPAM queue.

StepExpected setupWhy GenEmails needs it
Inbound domain and routeCreate a Genesys email domain and configure the mailbox address or route under that domain.GenEmails mailbox and domain inspection depend on the real Genesys domain and route model.
Architect flowRoute the address into an inbound email flow.GenEmails supports addresses that resolve queue context through a flow before the queue is detected.
SPAM lookupCheck the sender email against the mapped SPAM data table.Lets the tenant pre-screen known spam before manual handling.
transferToAcdTransfer the clean email to the intended original queue.GenEmails can infer queue context from queue state or transfer-to-ACD metadata.
Required skillApply ManualAssignment so the email stays parked in the queue.Keeps the email visible in Current Emails for GenEmails triage instead of letting ACD immediately distribute it.
Release pathWhen GenEmails releases the email back to ACD, it clears ManualAssignment, resets the priority to 0, and preserves the current queue and language.Returns the email to normal ACD routing without changing the original queue or requiring a second routing skill.

2. Naming convention

ObjectExampleRule
Original QueueGENEMAILS_BILLINGThe real operational queue for active work.
Review QueueGENEMAILS_BILLING_REVIEWMust end with _REVIEW.
SPAM QueueGENEMAILS_BILLING_SPAMMust end with _SPAM.
SPAM Data TableGENEMAILS_BILLING_SPAMRecommended to mirror the queue name. GenEmails requires the table name to end with _SPAM.

With Strict Mapping enabled, the Original Queue division is the source of truth. The Review Queue, SPAM Queue, and SPAM table must belong to that same division.

3. Roles to assign

GenEmails roleUseTypical scope
APP_GEM_AGENTCurrent email operations with limited actions.View work, assign to self, move to SPAM where enabled, send to review where enabled.
APP_GEM_SUPERVISOROperational triage across Current Emails, Review Queue, and SPAM Queue.Usually allowed to write to the SPAM table.
APP_GEM_ADMINFull GenEmails administration.Mappings, settings, access control, backups, SPAM table write or delete, and all operational actions.

4. SPAM table schema

FieldUse
EmailAddressPrimary sender email used for lookup and insert.
SenderNameDisplay name or sender label captured by GenEmails.
DateAddedTimestamp written when the SPAM action or manual add occurs.
AddedBySigned-in GenEmails user full name that confirmed the sender as SPAM.

5. Tenant admin checklist

  • Create or validate the inbound email domain, then add the exact mailbox address used by the tenant.
  • Route that address to an inbound Architect flow that performs the SPAM lookup and transfers to the original queue.
  • Make sure the flow parks the email with ManualAssignment.
  • No second release skill is required. GenEmails clears ManualAssignment and lets the queue's normal routing resume.
  • Build the original queue, the matching _REVIEW queue, and the matching _SPAM queue.
  • Create a SPAM data table ending in _SPAM with the required fields.
  • Keep all mapped objects in the same division unless you intentionally disable Strict Mapping.
  • In GenEmails, map Original Queue to Review Queue, SPAM Queue, and SPAM Table.

6. Proposed Architect YAML template

Based on the current tenant flow provided. The operational queue and SPAM lookup objects were normalized to the GenEmails_Billing example used throughout this topic. Update division, language, error queue, and domain lookup table values for the target tenant before import. You can save this section as a .yaml file and import it into Genesys Architect as a starting template.

inboundEmail:
  name: GenEmails_Billing_Flow_Queue
  description: ""
  division: GenEmails_Billing
  startUpRef: "/inboundEmail/states/state[Initial State_10]"
  defaultLanguage: fr-ca
  supportedLanguages:
    en-us:
      defaultLanguageSkill:
        lit:
          name: Bilingual
    fr-ca:
      defaultLanguageSkill:
        lit:
          name: Bilingual
  settingsInboundEmailHandling:
    emailHandling:
      continue:
        none: true
  settingsErrorHandling:
    errorHandling:
      queue:
        targetQueue:
          lit:
            name: GenEmails_Billing
  states:
    - state:
        name: Initial State
        refId: Initial State_10
        actions:
          - dataTableLookup:
              name: Spam Lookup
              lookupValue:
                exp: Email.Message.from.id
              dataTable:
                GenEmails_Billing_SPAM:
                  foundOutputs:
                    Name:
                      noValue: true
                    AddedBy:
                      noValue: true
                    DateAdded:
                      noValue: true
                  failureOutputs:
                    errorType:
                      noValue: true
                    errorMessage:
                      noValue: true
              outputs:
                found:
                  actions:
                    - disconnect:
                        name: Disconnect
          - dataTableLookup:
              name: Data Table Lookup
              lookupValue:
                exp: EmailAddressDomainPart(Email.Message.from.id)
              dataTable:
                GenEmails_Billing_NoReply_Domain:
                  failureOutputs:
                    errorType:
                      noValue: true
                    errorMessage:
                      noValue: true
          - transferToAcd:
              name: Transfer to ACD
              targetQueue:
                lit:
                  name: GenEmails_Billing
              acdSkills:
                - acdSkill:
                    lit:
                      name: ManualAssignment
              priority:
                lit: -50
              preferredAgents:
                noValue: true
              languageSkill:
                lit:
                  name: Bilingual
              appendSkills:
                lit: true
              directAgent:
                noValue: true
              skillExpressionFilters:
                noValue: true