Dismiss Notice
We would like to remind you that we’re updating our login process for all 3CX forums whereby you will be able to login with the same credentials you use for the Partner or Customer Portal. Click here to read more.

CTI Custom Information

Discussion in 'CRM / Helpdesk / App Integration' started by StuartN, May 5, 2011.

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

    Joined:
    May 4, 2011
    Messages:
    8
    Likes Received:
    0
    (I previously posted this in the "3CX Phone System - General" forum, but seeing as it has to do with VAD as well am I reposting it here.)

    I need to be able to collect information (e.g. customer account #) via an IVR (e.g. using VAD), store it in a db, and then be able to retrieve it when the call is transferred to an agent.
    Questions:
    1) Does each call have a unique identifier that I can store in a db (using the VAD database component) during the IVR flow?
    2) When the call is xferred to the agent, is that same unique identifier available that would allow me to retrieve the stored information and then use 3cx assistant to launch a URL with the retrieved parameters?
     
  2. VAD_Support

    VAD_Support Active Member

    Joined:
    Aug 6, 2009
    Messages:
    690
    Likes Received:
    0
    Hi,

    In regards to your questions:
    1) Yes, there is a unique call id, which is available as a session property. You can save it into a database and retrieve it later, no problem.
    2) When you transfer the call, the assistant does not have the call id, it only has the caller id (the phone number of the caller). So, something you can do is save in database the information and the caller id, and then launch the URL you want with the caller id. That would not allow to handle 2 calls simultaneously from the same caller id, but maybe that is not a problem...

    Regards,
     
  3. StuartN

    Joined:
    May 4, 2011
    Messages:
    8
    Likes Received:
    0
    If I was willing to write to TAPI, is there a way to get to the info stored in the db from the IVR?

    If there is no way that I can use it, then what good is the unique call ID?
     
  4. VAD_Support

    VAD_Support Active Member

    Joined:
    Aug 6, 2009
    Messages:
    690
    Likes Received:
    0
    From the VAD callflow (IVR), you can read from the database and write to the database, no problem with that.
    The problem I see is how to send that information to the agent when you transfer the call. When you transfer the call from the VAD callflow, you can not pass additional information, you just do a blind transfer. So, when the agent picks up the call, you don't have the call id, you only have the phone number of the caller.

    If you explain me in more detail what you want to achieve, then I will be able to give you my advice on how to do it with the VAD if possible.

    Regards,
     
  5. StuartN

    Joined:
    May 4, 2011
    Messages:
    8
    Likes Received:
    0
    I want to be able to pull up the customers account information when the call reaches the agent. Basically, I see the flow as follows:
    1) Using caller id (ani) do a data dip and see if I can locate the account.
    2) If I find the account, fine.
    3) If I don't find the account, ask the customer to enter the acct #.
    4) Verify that the acct # is correct.
    5) Save the account number - and somehow associate it with the call.
    6) Xfer the call to the agent. Simultaneously, pull up the account in our custom CRM using either the caller id, or the saved account number.

    Stuart
     
  6. VAD_Support

    VAD_Support Active Member

    Joined:
    Aug 6, 2009
    Messages:
    690
    Likes Received:
    0
    Well, I think you should use the call id, and not the caller id, because the caller id could arrive empty and that would be a problem.

    So, you can create a VAD callflow to store the call id and account # into a database. That's the easy part.

    Then, when the call is transfered to an agent, you will need to develo a custom CRM plug-in to lookup the contact in your CRM and pop it up. But in order to know who is the contact, the caller id is not enough. You will need the call id. And the call id is not passed to the CRM plug-in. So you will have the use the call control API into your CRM plug-in to get the call id binded to the extension of the agent that is using that computer. That is the hard part, because 3CX does not provide support on using those APIs. There are some examples, but you will have to lead with that yourself.

    The APIs mentioned are:
    http://www.3cx.com/blog/docs/call-control-api/
    http://www.3cx.com/crm-integration/

    Hope that helps.

    Regards,
     
  7. gharshaw

    Joined:
    Aug 25, 2014
    Messages:
    3
    Likes Received:
    0
    I know that this is a fairly old thread. I'm looking to do / have this same functionality and I am curious if this functionality has been added in in more current versions of the VAD or the Dynamics CRM plugin.
    Thank you
     
  8. VAD_Support

    VAD_Support Active Member

    Joined:
    Aug 6, 2009
    Messages:
    690
    Likes Received:
    0
    Hi there!

    The approach you need to use is the same, collect the customer information and save it into a database or something while executing the VAD IVR, then transfer the call to a queue, and when the agent gets the call you need to create a CRM plug-in, get the current call id using the 3CX Call Control API and find the customer information in the database.

    It's not so difficult, but you have to code some libraries...

    Kind regards.
     
Thread Status:
Not open for further replies.