• Tresko
  • NEWBIE
  • 0 Points
  • Member since 2012

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 3
    Replies

Hi,

We're looking to build out own Salesforce CTI adapter that connects our Digium Switchvox PBX to Salesforce. Switchvox is asterisk based, but has its own API. - http://developers.digium.com/switchvox/wiki/index.php/Main_Page


We are looking to do a complete integration for inbound and outbound calls.

Record all calls in Activity history or new custom object for Phone calls (to track calls not associated with salesforce records), with a link to the call recording stored on FTP. - Most people parse the xml files with recordings.

Need Full integration between Switchvox and salesforce
- Switchvox can trigger a post to salesforce on all calls, or at any other event, such as on call answer, on incoming call, on outgoing call, etc...

- In salesforce, need to track call statistics in relation to campaigns - each campaign uses a unique 800#, which is a field in campaigns as external ref ID
- Show activity history and reporting on calls by campaign, tracked separately via separate 800#’s - 800#’s for campaign can be stored in lead records and campaign records

Even if call isn’t answered, call should be logged as incomplete or missed, then trigger workflow rules to ensure these calls are followed up.

For all calls, log a link in call log record to call recording (download link from FTP server)


When calls are not answered by the sales team, they are forwarded to our answering service. the answering service then sends an email with call details. We need to have these emails accepted by salesforce, match up with the call record, then assigned and followed up via workflow & Assignment rules.


Let me know, thank you...

  • October 24, 2012
  • Like
  • 0

So I'm trying to have the CallDisposition on the CTI Softphone to update the Lead status.

 

I think I'm pretty close, but I'm getting an 'Exec Anon Error' when Executing the Trigger is the Console: line 1, column 0: required (...)+ loop did not match anything at input 'trigger'

 

I'm very new to Apex - or any code for that matter, although I have tweaked different kinds of code, which is essentially what I'm trying to do here. I copied the code from here: http://boards.developerforce.com/t5/Apex-Code-Development/Task-Trigger-to-Update-Date-Time-field-on-Lead/td-p/279615

 

trigger ActivityFirstcontact on Task (after insert) {

List<Lead> updatedLeads= new List<Lead>();
 
    for(Task newTask:Trigger.new){
            if(string.valueOf(NewTask.WhoId).startsWith('00Q') && newTask.Subject != 'Lead Source Details')
            {
            Lead changedLead = [select id, First_Contact_Date_Time__c from lead where id=:NewTask.WhoId];
               if(changedLead.First_Contact_Date_Time__c == NULL){
                   changedLead.First_Contact_Date_Time__c=newTask.CreatedDate;
                   updatedLeads.add(changedLead);
           }}
   
              update updatedLeads;
              
   }
}

 

And came up with this:

 

trigger ActivityCall on Task (after insert) {

    List<Lead> updatedLeads= new List<Lead>();
 
    for(Task newTask:Trigger.new){
            if(string.valueOf(NewTask.WhoId).startsWith('00Q') && newTask.CallType != 'Incoming')
            {
            Lead changedLead = [select id, Status from lead where id=:NewTask.WhoId];
                   changedLead.Status=newTask.CallDisposition;
                   updatedLeads.add(changedLead);
           }}
   
              update updatedLeads;
}

 

It's definitely missing a few other things, because I want it to trigger from all incoming and outgoing calls. I may also just do one trigger for each disposition, as the dispositions don't always match up, but certain CallDispositions will move the lead to a different status/stage. - As long as I can get it to work for one scenario, I can build from there.

 

Thank you in advance for your help and potentially making me look like a hero!!!

 

 

 

  • September 30, 2012
  • Like
  • 0

So I'm trying to have the CallDisposition on the CTI Softphone to update the Lead status.

 

I think I'm pretty close, but I'm getting an 'Exec Anon Error' when Executing the Trigger is the Console: line 1, column 0: required (...)+ loop did not match anything at input 'trigger'

 

I'm very new to Apex - or any code for that matter, although I have tweaked different kinds of code, which is essentially what I'm trying to do here. I copied the code from here: http://boards.developerforce.com/t5/Apex-Code-Development/Task-Trigger-to-Update-Date-Time-field-on-Lead/td-p/279615

 

trigger ActivityFirstcontact on Task (after insert) {

List<Lead> updatedLeads= new List<Lead>();
 
    for(Task newTask:Trigger.new){
            if(string.valueOf(NewTask.WhoId).startsWith('00Q') && newTask.Subject != 'Lead Source Details')
            {
            Lead changedLead = [select id, First_Contact_Date_Time__c from lead where id=:NewTask.WhoId];
               if(changedLead.First_Contact_Date_Time__c == NULL){
                   changedLead.First_Contact_Date_Time__c=newTask.CreatedDate;
                   updatedLeads.add(changedLead);
           }}
   
              update updatedLeads;
              
   }
}

 

And came up with this:

 

trigger ActivityCall on Task (after insert) {

    List<Lead> updatedLeads= new List<Lead>();
 
    for(Task newTask:Trigger.new){
            if(string.valueOf(NewTask.WhoId).startsWith('00Q') && newTask.CallType != 'Incoming')
            {
            Lead changedLead = [select id, Status from lead where id=:NewTask.WhoId];
                   changedLead.Status=newTask.CallDisposition;
                   updatedLeads.add(changedLead);
           }}
   
              update updatedLeads;
}

 

It's definitely missing a few other things, because I want it to trigger from all incoming and outgoing calls. I may also just do one trigger for each disposition, as the dispositions don't always match up, but certain CallDispositions will move the lead to a different status/stage. - As long as I can get it to work for one scenario, I can build from there.

 

Thank you in advance for your help and potentially making me look like a hero!!!

 

 

 

  • September 30, 2012
  • Like
  • 0