Outbound Dialer CRM Integration

Discussion in 'Call Flow Designer' started by Philip Darnell, May 14, 2018.

Thread Status:
Not open for further replies.
  1. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,438
    Likes Received:
    114
    You need to create an inbound callflow, and there you can use a Menu component or User Input component to ask for some DTMF input. If you don't receive anything, that might be a signal that you don't have a real user on the other side of the call...
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. Philip Darnell

    Philip Darnell New Member

    Joined:
    Jan 26, 2017
    Messages:
    154
    Likes Received:
    10
    To do this would I need to set it up as another Voice App? or would I need the Make call function to go to another Voice App to process the user input?
     
  3. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,438
    Likes Received:
    114
    A CFD project can have 1 dialer and 1 callflow. You can create your project like that. Then you deploy a single app to a CFD queue, and you configure the dialer to make calls between the external number and the project queue extension. This way, the call to the external number will be connected to the CFD inbound callflow, which can ask for DTMF input.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. Philip Darnell

    Philip Darnell New Member

    Joined:
    Jan 26, 2017
    Messages:
    154
    Likes Received:
    10
    So on make call, I set 'Make call from' to the queue number of the CFD Project?

    I've setup a inbound call flow in the same project to just play a main menu, if option 1 and 2 are selected it sets the status to 2 (Represents contacted), if no input is detected it will increment the counter from 0 to 1 if it then tries again and no input is detected it will increment from 1 to 2. Before making each call it checks status<2, so maximum amount of attempts will never be more than 2.

    When I'm updating the database in the inbound callflow will I still be able to use the result I returned from the database access in the outbound dialer? I have set it up as below. Or do I need to get the number a different way:

    UPDATE NumbersToCall SET status= 2 WHERE number_to_call='{0}'

    Parameter: number_to_call getNextNumber.ScalarResult
     
  5. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,438
    Likes Received:
    114
    Actually, you need to set "Make call from" to the external number you're calling, and the Destination to the internal queue extension where you deployed the CFD project. This way, the call is made to the external number first, and only when it is answered it will connect the call to the CFD callflow. Also, this way you receive the external number in the callflow, which you will need in the next step.

    No, the callflow and the dialer are independent and don't share any data. You need to take the number from the session.ani variable, which contains the number of the external party. This variable will only contain the external number when 3CX makes the call to that external number first, and then to the internal queue. Otherwise you will see "MakeCall" as the call origin (session.ani).

    Kind regards.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. Philip Darnell

    Philip Darnell New Member

    Joined:
    Jan 26, 2017
    Messages:
    154
    Likes Received:
    10
    Is the attached correct for this? If the CDF has the extension "800"?


    How do I get the call origin from the session.ani? is it just the parameter, value I need to change from the attached (Capture1.)?
     

    Attached Files:

  7. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,438
    Likes Received:
    114
    Yes, that is correct.

    Exactly, you need to change the parameter value from "getNextNumber.ScalarResult" to "session.ani".

    Kind regards.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. Philip Darnell

    Philip Darnell New Member

    Joined:
    Jan 26, 2017
    Messages:
    154
    Likes Received:
    10
    All working so far.

    They have requested that the automated message is personalised, so it could include the balance or customer name. For example: 'This is a message from ... to confirm this is MR SMITH please press 1.'

    Is there anyway to insert any kind of text to speech in the message?
     
  9. Philip Darnell

    Philip Darnell New Member

    Joined:
    Jan 26, 2017
    Messages:
    154
    Likes Received:
    10
    I have found an article regarding the text to speech functionality
     
  10. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,438
    Likes Received:
    114
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. Philip Darnell

    Philip Darnell New Member

    Joined:
    Jan 26, 2017
    Messages:
    154
    Likes Received:
    10
    Hi

    I've got to the stage of testing now and have a few questions.

    The call is showing as 'No caller ID' for the recipent of the outbound call, how do I get this to show the office number?

    When the call is answered, it briefly plays the on hold music for a split second and then there is a 4-5 second delay before the prompt starts playing. Can this be reduced?
     
  12. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,438
    Likes Received:
    114
    This is controlled from your outbound rules, and SIP trunk configuration. Please note that the call is originated from "MakeCall", and not from an extension, so if you're using the OutboundCallerId from the extension, then you will get this behaviour.

    You might experience a small delay for the first call only, while the audio files are cached, but it should be smooth for subsequent calls. Also, please check if your audio files have any silence at the beginning.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. Philip Darnell

    Philip Darnell New Member

    Joined:
    Jan 26, 2017
    Messages:
    154
    Likes Received:
    10
    I haven't specified anywhere in the CFD an outboundCallerID, it is specified on the SIP Trunk for a caller ID but it just ignores this.

    My make call is as followed:

    Make call from: TRIM(getNextNumber.ScalarResult)

    To: "900"

    Where 900 is the extension of the CFD.

    There is no silence at the beginning of the audio file, but I'm only testing it on one number at the minute. Is there a reason I hear on hold music for a split second?
     
  14. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,438
    Likes Received:
    114
    RE Caller ID, you need to check the SIP Trunk settings. There is nothing you can do from the CFD app. The CFD app doesn't specify it, the information will be taken from the SIP Trunk configuration...

    RE silence and music on hold, when you use the MakeCall component, you request the call to 3CX. Then 3CX will make the call to the number returned by the database. When that call is connected, it is put on hold until the second call to extension 900 is made. This is what you hear. But usually this is so fast that you don't even hear it, as the CFD app picks up the call very fast. Please note that this might be a bit slower for the first call, as there is some loading that needs to be done (audio file caching, etc.). But subsequent calls should work fast.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. Philip Darnell

    Philip Darnell New Member

    Joined:
    Jan 26, 2017
    Messages:
    154
    Likes Received:
    10
    I have set the outbound caller ID on the SIP Trunk but it is still coming up as No Caller ID, any ideas?

    I will try a few different numbers to see about the delay.


    Is there a way of using the database access to return more than 1 field? For Example, I need to access 'Title' & 'Surname' fields, at the minute I've set 2 database access modules to get them, can this be done with one?
     
  16. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,438
    Likes Received:
    114
    That's a question to ask in the General forum...

    Yes, of course, you can return any number of fields and rows. You need to change the query type to "Query" and then you need to use the GET_TABLE_CELL_VALUE function to get each value.

    Here you have the Database Access component documentation:
    https://www.3cx.com/docs/manual/cfd-components/#h.2yz6u5lugiza

    Kind regards.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  17. Philip Darnell

    Philip Darnell New Member

    Joined:
    Jan 26, 2017
    Messages:
    154
    Likes Received:
    10
    I'm still having an issue with a 4-5 second delay before any audio is heard. Is there anyway I can diagnose this?
     
  18. Philip Darnell

    Philip Darnell New Member

    Joined:
    Jan 26, 2017
    Messages:
    154
    Likes Received:
    10
    Another feature I'd quite like the dialler to do, once it has transferred the call to the queue, can I get it so the Caller ID will show as their name instead of their phone number. So the agent can see that it is 'Mr Smith' for example
     
  19. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,438
    Likes Received:
    114
    To show the name, you need to create a CRM template:
    https://www.3cx.com/docs/crm-integration/

    Regarding the delay, you need to check the 3CXQueueManager.log file to understand where it is happening....
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  20. Philip Darnell

    Philip Darnell New Member

    Joined:
    Jan 26, 2017
    Messages:
    154
    Likes Received:
    10
    Could I possible private message you the logs from the Queue Manager, I have found the call but can't see anything that looks as to why there is such a long delay.
     
Thread Status:
Not open for further replies.