Creating a routing switch

Discussion in 'Call Flow Designer' started by Maurice Lefevere, Jul 5, 2018.

  1. Maurice Lefevere

    Joined:
    Mar 20, 2018
    Messages:
    5
    Likes Received:
    0
    Hello,

    I'm trying to make a call routing switch in the call flow designer. But it's a bit confusing.

    What i'm trying to make is that the receptionist can call to an internal number and choose a variable.
    1 - during the day -> 3 options.
    2 - Tuesday afternoon -> 2 options
    3 - Emergancy -> Announcement that the receptionist is not available.

    Is it possible to store a variable by calling an internal number, so that the external caller follows the routing given by the variable?.

    Kind Regards.

    Maurice
     
  2. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,154
    Likes Received:
    87
    Hello @Maurice Lefevere,

    Absolutely, you can do this with the CFD. You can use the Get Global Property and Set Global Property components to save this configuration in 3CX. You would need to create 2 projects:
    1) In the first project you need an inbound callflow to receive calls from the receptionists, and let them configure the current behaviour. This callflow will ask the caller which behaviour needs to be active (1, 2 or 3), and save that to 3CX.

    2) In the second project you need another inbound callflow to receive inbound calls from external numbers. You will route all external calls to this CFD app. This way, the callflow reads the configuration and using a Create a Condition component, performs different things depending on the current behaviour set.

    Kind regards.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. Maurice Lefevere

    Joined:
    Mar 20, 2018
    Messages:
    5
    Likes Received:
    0
    Thank you for the answer.

    Is there any way you can give me something like a screenshow on how to build this?. I still can't get this figured out o_O.

    Kind Regards
     
  4. Maurice Lefevere

    Joined:
    Mar 20, 2018
    Messages:
    5
    Likes Received:
    0
    I've got the following:

    Receptionist calls to number 801.
    That callflow has a user imput with 2 possible keys.
    1: Normal --> Set Global Property Block --> Property Name: "STAND" / Property Value: "1"
    2: High Pressure --> Set Global Property Block --> Property Name: "STAND" / Property Value: "2"
    Timeout: Disconnect

    So how do i build the condition?. I now have:

    First block of the mainflow is the "Get Global Property" with value: "STAND"
    After that i put in a "Create a Condition" block with 2 "Conditional Branch Component" blocks.

    These blocks i gave the value:
    - EQUAL("STAND","1")
    - EQUAL("STAND","2")

    Now after i call i am immediately disconnected.
     
  5. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,154
    Likes Received:
    87
    The conditional branches should check the value returned by the "Get Global Property" component. So, for example, if your "Get Global Property" component name is "readStand", then your expression should be:
    EQUAL(readStand.PropertyValue,"1")
    EQUAL(readStand.PropertyValue,"2")

    You should learn how to use the CFD before starting a project like this. A good way to get started is working with the examples we provide:
    https://www.3cx.com/docs/call-flow-designer-examples/

    Kind regards.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. Maurice Lefevere

    Joined:
    Mar 20, 2018
    Messages:
    5
    Likes Received:
    0
    Hi Ernesto,

    If i put in the exact you said: EQUAL(readSTAND.PropertyValue,"1") i'm getting a compiling errors.
    Error compiling source code to .NET library: (144,94): error CS0103: The name 'readStand' does not exist in the current context

    If i put it like this: EQUAL("readSTAND".PropertyValue,"1") the function is lost.

    Kind Regards
     
  7. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,154
    Likes Received:
    87
    That's because the name of your "Get Global Property" component is not "readStand"... Rename your component and it will work.

    I strongly encourage you to study the tool before working on real projects. This is a very basic concept, and you don't seem to have this clear. You will not go far if you don't get to know the tool...
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...