Genesys Cloud - Main

Β View Only

Sign Up

  • 1.  Requesting assistance with Architect Inbound Call Flow

    Posted 4 hours ago

    Hello Community,

    I am new here and VERY new to Genesys and Architect.  We completed implementation in April.  I took the Architect course but I found it to be very light, and I am not prepared to create anything more than a simple call flow.

    I am trying to create a flow that will work as follows -

    There are currently only 2 staff members and the manager.  During business hours (as defined in the Operating Schedule), there may not be any one available to take calls (because one person is on vacation and the other person is out sick).  So, when a call comes in, I want a check performed to see is any one is logged into the queue.  If no one is logged in (during business hours), I want the call to route to a message (which will tell the caller where to send information).

    I have worked on this for many hours, and I still cannot get it to work.  Can someone tell me how to do this?

    Below is the last version where I stopped... I felt defeated.  And, if it looks crazy, it's because this is my 5th version (after MANY hours).  HELPPP Please!


    #ArchitectandDesign

    ------------------------------
    Margo
    IT - Special Projects Assistant
    ------------------------------


  • 2.  RE: Requesting assistance with Architect Inbound Call Flow
    Best Answer

    Posted 2 hours ago

    Hi Margo,

    First of all, don't feel defeated! πŸ™‚ What you are trying to build is actually quite reasonable, and most of it can be done directly in Architect without creating anything overly complex.

    Since you mentioned that you are still new to Architect, I would start with the simplest approach and keep everything inside the flow.

    Your logic can basically be:

    Business open? β†’ Check the queue β†’ Someone can receive calls? β†’ Transfer to ACD
    Otherwise β†’ Play your informational message β†’ Disconnect

    Here is how I would build it step by step.

    1. Keep your Evaluate Schedule Group

    You are already starting in the right place.

    Use Evaluate Schedule Group to determine whether the office is currently open.

    So, for now, let's concentrate only on the Open branch.

    2. Create a variable to check the queue

    Under the Open branch, add an Update Data action.

    Create a variable of type Duration, for example:

    Task.QueueEWT
    

    For its value, switch to Expression mode.

    You can use Architect's built-in queue Estimated Wait Time function.

    For example:

    FindQueueEstimatedWaitTime("Your Queue Name", "call")
    

    Replace Your Queue Name with the actual name of your queue.

    Alternatively, if you already have the Queue object available in your flow, the equivalent approach is:

    GetQueueEstimatedWaitTime(YourQueue, "call")
    

    The important part here is that this is a native Architect function. You do not need to build a Data Action just to retrieve this information.

    3. Add a Decision immediately after it

    After Update Data, add a Decision action.

    Now we want to distinguish between a normal EWT result and the special negative result that can occur when the queue does not currently have agents On Queue.

    A simple expression to start with is:

    If(
        IsSet(Task.QueueEWT),
        Task.QueueEWT >= MakeDuration(0,0,0,0),
        false
    )
    

    Don't worry too much about how the expression looks.

    If the answer is Yes, continue to the queue.

    If the answer is No, use your alternative message.

    4. On the YES path, use Transfer to ACD

    On the Yes branch of the Decision, add:

    Transfer to ACD

    and select your queue.

    An important detail here: you do not necessarily want to check whether an agent is free at that exact second.

    For example, imagine both of your employees are On Queue but currently speaking with other callers.

    There may be:

    0 immediately available agents
    

    but there are still people working in the queue.

    In that situation, it normally makes sense to let the new caller enter the queue and wait for one of them to become available.

    5. On the NO path, play your message

    On the No branch, add a Play Audio action.

    You can use recorded audio or TTS with something like:

    "There are currently no staff members available to receive calls. Please send your information to [email/address/etc.] and our team will follow up."

    After the audio, add:

    Disconnect


    6. Your complete flow can stay very simple

    Conceptually, you should end up with something similar to this:

    Incoming Call
          |
          v
    Evaluate Schedule Group
          |
          +---- Closed ------> Play Message --> Disconnect
          |
          +---- Holiday -----> Play Message --> Disconnect
          |
          +---- Emergency ---> Emergency treatment
          |
          +---- Open
                  |
                  v
              Update Data
           Task.QueueEWT =
           FindQueueEstimatedWaitTime(
              "Your Queue Name",
              "call"
           )
                  |
                  v
               Decision
          "Usable Queue EWT?"
              /        \
            YES         NO
             |           |
             v           v
     Transfer to ACD   Play Audio
                         |
                         v
                      Disconnect
    

    So the good news is that you do not necessarily need to start with Data Actions or APIs for this. Architect already has native Estimated Wait Time functions that you can use before transferring the call.

    One small technical note: EWT is still an Estimated Wait Time calculation, not literally a counter that says "there are exactly X agents logged into this queue." Genesys has special EWT return values for conditions where a normal estimate cannot be produced.

    If your requirement eventually becomes very strict - for example:

    "I need the exact number of agents currently On Queue and their routing status"

    then that would be the point where I would consider a Genesys Cloud Data Action and the Queue Observation API.

    But for what you described, I would definitely start with the native Architect approach above. It is much simpler and will also help you become familiar with Update Data β†’ Decision β†’ Transfer to ACD, which is a pattern you will use many times in Architect.

    And honestly, your original idea was not far off at all - you were just missing the piece that lets Architect evaluate the queue before the transfer. πŸ™‚

    And you could do other things in the situation where nobody is avaliable, link send a message (SMS) or a whatsapp message.



    ------------------------------
    Fernando Sotto dos Santos
    Consultor de Atendimento Senior Grupo Casas Bahia
    ------------------------------



  • 3.  RE: Requesting assistance with Architect Inbound Call Flow

    Posted 2 hours ago

    Hello Fernando,

    Thank you so much for the guidance.  I followed your steps and the flow now works.

    I do have one more question for you... how do I get the message to play a second time?



    ------------------------------
    Margo
    IT - Special Projects Assistant
    ------------------------------



  • 4.  RE: Requesting assistance with Architect Inbound Call Flow

    Posted an hour ago
    Edited by Fernando Sotto dos Santos an hour ago

    Hi Margo,

    Great question - before I point you in the wrong direction, can I clarify what you mean by playing the message a second time? πŸ™‚

    Do you mean:

    A) You want the same message to play twice immediately, one after the other?

    or

    B) You mean that if the caller is still waiting on the line after some time, you want the message to play again - for example:

    Caller enters the queue
            |
            v
    Wait / Hold Music
            |
         60 seconds
            |
            v
    Play Message
            |
            v
    Wait / Hold Music
            |
         another period
            |
            v
    Play Message again
    

    If you mean B, then I would actually recommend handling that part in an In-Queue Call Flow rather than adding another Play Audio action to the inbound flow.

    The In-Queue Call Flow is specifically designed to control what the caller hears while waiting for an agent, including hold music, announcements, and repeating portions of the experience.

    Let me know which of the two you mean and I can show you the simplest way to build it step by step. πŸ™‚



    ------------------------------
    Fernando Sotto dos Santos
    Consultor de Atendimento Senior Grupo Casas Bahia
    ------------------------------



  • 5.  RE: Requesting assistance with Architect Inbound Call Flow

    Posted an hour ago

    Hi Fernando,

    I mean A - if the queue is closed, I want the same message to play twice. 

    While waiting for your response, I played around and put two Play Audio actions (one after the other) and the message does play twice.  However, I would like there to be a pause between the two.  How do I do that?

    Thanks, again.



    ------------------------------
    Margo
    IT - Special Projects Assistant
    ------------------------------



  • 6.  RE: Requesting assistance with Architect Inbound Call Flow

    Posted an hour ago

    Perfect - now I understand what you mean. πŸ™‚

    Since the two Play Audio actions are already working, you can simply add a short Blank Audio pause between them.

    You do not need to create or upload a silent WAV file. Architect can generate the silence for you.

    Your sequence can be:

    Play Audio – Message
            |
            v
    Play Audio – Blank Audio
            |
            v
    Play Audio – Message
            |
            v
    Disconnect
    

    For the middle Play Audio action:

    1. Add a new Play Audio between your two existing messages.

    2. Open the Audio Sequence.

    3. Select Add Other > Blank Audio.

    4. Choose how long you want the pause to be - for example, 2 or 3 seconds.

    Architect supports Blank Audio specifically for creating pauses in an audio sequence. You can also do the same thing with an expression, for example:

    ToAudioBlank(3000)
    

    which means 3,000 milliseconds = 3 seconds.

    So, for example:

    Message
       ↓
    3 seconds silence
       ↓
    Message again
       ↓
    Disconnect
    

    I would probably start with around 2–3 seconds and adjust it based on how it sounds to the caller.

    You could even simplify it further and build the whole thing inside a single Play Audio action:

    Your Message
    + Blank Audio (3 seconds)
    + Your Message
    

    using the Audio Sequence Builder.

    Since your current version with two Play Audio actions is already working, though, adding the Blank Audio between them is probably the easiest change. πŸ™‚



    ------------------------------
    Fernando Sotto dos Santos
    Consultor de Atendimento Senior Grupo Casas Bahia
    ------------------------------



  • 7.  RE: Requesting assistance with Architect Inbound Call Flow

    Posted 57 minutes ago

    Hi Fernando,

    I added the blank audio and it worked perfectly.

    Thank you soooo much.



    ------------------------------
    Margo
    IT - Special Projects Assistant
    ------------------------------