GI Joe
GI Joe

Reputation: 3

Microsoft Bot Framework - node Js integration with Salesforce

Hi Im trying to connect Salesforce with microsoft bot framework for creating a skype Bot. I use Express node js and node-salesforce for connecting Salesforce.

I have written Salesforce functions in separate file(Salesforce js) and Bot Functions in a separate file(myBot js) which is the server file. The query function in Salesforce js getting called successfully but its not returning the result back to the calling function.Here is the code, please someone help

Mybot Js function

var intents = new builder.IntentDialog();
intents.matches(/^QueryAcc/i, [
   function (session) {
      Salesforce.QueryAcc();
   },
   function (session, results) {
      console.log('the response--'+results.response);
   }
]);

Salesforce Js Function

function QueryAcc(){
var records = [];
conn.query("SELECT Id, Name FROM Account limit 1", function(err, result) {
  if (err) { 
    return console.error(err); 
  }else{
    console.log("fetched : " + result.records);
   for (var i=0; i<result.records.length; i++) {
     var record = result.records[i];
   }
   console.log("First Name: " + result.records[0].Name);
   return record;
  }
});
}

Upvotes: 0

Views: 461

Answers (1)

austin
austin

Reputation: 1171

function QueryAcc(callback){

    conn.query("SELECT Id, Name FROM Account limit 1", function(err, result) {
        if (err) {
            console.error(err);
        }
        else{
            var records = [];
            console.log("fetched : " + result.records);
            for (var i=0; i<result.records.length; i++) {
                var record = result.records[i];
                records.push(record);
            }
            console.log("First Name: " + result.records[0].Name);
            callback(records);
        }
    });
}


var intents = new builder.IntentDialog();
intents.matches(/^QueryAcc/i, [
    function (session) {
        Salesforce.QueryAcc(function(results){
            console.log('the response--'+results.response);
        });
    }
]);

Upvotes: 1

Related Questions