Wednesday, September 24, 2008

Using VIC: Managing Calls

"Out of the box" VIC CRM is geared toward the worker who spends most of his time in front of the computer and on the phone. When you create a new JournalEntry the default JournalEntry type is always "Phone Call". The rationale here is simple: when you receive a phone call you need to be able to start documenting it as soon as possible, with no delays at all. Other systems require you to gather some information about the contact before you get to the call record, but VIC does not.

Once you're in the JournalEntry you can add the contact information from your Index (or you can post "ad hoc" contact information), and you can change the type to any of the others supported by the Journal: Phone Call, Meeting, Conference, Product Demo, Service Call, Task, To-Do, or Trade Show. You can also edit the categories, assign it to a Project task, or update Contact information, as the info comes up and as you have time.

There are a number of different ways that we can initiate a Phone Call JournalEntry. The first is simply to click on "JournalEntry" on the "Create" tab of the navigator pane. This creates the blank JournalEntry and you add the name. If you're in any view that contains contact information you can click on the "Dial" action button. This gives you the Dial dialog, which will let you select the phone number and create the JournalEntry at the same time.

The document can also track the duration of the call. Just click "Now" next to the end time when marking it complete. The important thing here is that the body of the JournalEntry is immediately accessible.

Sometimes you want to follow up an email with a phone call (or meeting). In the email, pull down the Tools action menu, then select Convert to JournalEntry. This will create a JournalEntry which you can then schedule. This will include all of the contact information from the email, as well as the body of the email for reference.

Tech stuff:

I've been asked how to implement the dialer generally in Notes. To do it you would need Domino Designer. I have only tested this in Windows, though it should work on Linux under WINE if TAPI32.dll is provided. It relies on the Microsoft Telephony API, which is provided by any of a number of TAPI clients. What's difficult is finding a utility that does only TAPI phone dialing, and doesn't try to hand you Yet Another AddressBook as well. One that really fits the bill is Jacek Koslowski's Dial Engine Pro. It's unobtrusive and does exactly the job required. If you don't want to spend money then the there's the Windows Phone Dialer (dialer.exe) that's distributed with Windows XP. VIC will use the Windows dialer if nothing else is in place, so dialing always works on this platform.

If you're using Notes without other modifications, then the change would need to be made to the Addressbook. You would put the script into a script library (for instance, mine is in a library I called "CratchitTAPILibrary"), then you'd add an action button to the Contact form that would include the following LotusScript:
Use "CratchitTAPILibrary" ' or whatever you've called your script library
success=fDialNumber(doc.OfficePhoneNumber(0), doc.FullName(0))
If you have trouble following these instructions then I'd recommend a good basic book on programming in LotusScript. has a good selection. Another invaluable resource is the LotusScript to C API Programming Guide by Normunds Kalnberzins.

Here's the whole script. Yes, it is this easy:
Declare Function tapiRequestMakeCall Lib "TAPI32.DLL" (Byval DestAdress$, Byval AppName$, Byval CalledParty$, Byval Comment$) As Long

Function fDialNumber(cPhoneNumber As String,cCalledPartyName As String) As Integer
Dim nReturnCode As Long
Dim cApp As String ' What are we using to call?
Dim cComment As String ' whatever you want.

REM replace this stuff with values for your app.
cApp = "VIC CRM"
cComment = "Lift your handset now."

fDialNumber = tapiRequestMakeCall(cPhoneNumber,cApp,cCalledPartyName,cComment)
If fDialNumber <> 0 Then
' there's no point in making this robust,
' since the Microsoft phone dialer will give you
' detailed status on the screen.

Print "Call failed!"
End If
End Function


Post a Comment

<< Home