There are a few ways the caller can be identified. Building a dialplan through a call flow builder allows an opportunity to do matching via the caller ID or by data entered by the user. Additional information may be consulted to assist with identification, such as the DID the client called in on. Other methods will require agent intervention.
Caller ID Match in Dialplan
A good IVR builder should allow you to match or branch on available data such as the caller ID. Not every call will present a valid caller ID due to technological, jurisdictional and privacy considerations. The number of calls that do come in with a valid caller ID make it a good, solid starting point for determining the identity of the caller. If you don't have duplicate phone numbers in your lists, and you can determine which list of contacts to match against based on the dialed DID, it should be a simple matter to match a contact based on the phone number and send that along as part of the call information. In cases where no match is found, or the caller ID was unidentifiable, you can branch to a section of dialplan that collects more information, or pass it to the agent as-is for matching on the agent side.
Getting an Identifier in the IVR
A match may not be possible based on caller ID. In that case, your IVR builder can be used to generate a bit of data collection. Using uploaded audio prompts, you can indicate which data you wish the caller to input, and use the dialplan functionality to read the supplied information. An account number might be requested, or even just the phone number that the client is calling in on if you're typically doing caller ID matching. Once the data has been collected, a match can be checked for again.
It should be noted that whether the caller ID is being used or other data collected in the dialplan builder, the matching can be done internally for locally-stored contacts, or via a web service when the data is held by a third party. The Q-Suite allows web service calls with any field that is available in the IVR at the time of the call to the service. This can include data entered in the IVR by the client.
Letting the Agent do the Search
If the call reaches the agent without the client having been identified, then the agent will have to do the work of identifying the lead. Ideally, the agent should have a client interaction script with search capabilities. Having the client on the other end should allow the agent to query certain fields to uniquely identify a client. Sometimes it will be necessary to add additional fields and try again, but the agent is in the best position to determine who is on the other end of the line. Even if the search returns multiple contacts, the agent should be able to determine the correct one with just a few questions.
If it turns out that the client is not currently in the system, the agent screen is where it makes the most sense to create the new contact. This does take additional time, but a properly worded script should allow the agent to collect the required information in the most efficient manner, allowing the agent to get on with the actual purpose of the call.
Once the agent is handling the call, it's important to make sure the contact information is up-to-date, especially for data that can change more frequently. By ensuring the currency of contact data, you can provide the best customer interaction possible.