Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
Note
Data Call Examples
login Example:
1try{2 var result = sforce.connection.login("myname@myemail.com", "password");3 log("logged in with session id " + result.sessionId);4}catch(error){5 if(error.faultcode.indexOf("INVALID_LOGIN") != -1){6 log("check your username and passwd, invalid login");7}else{8 log(error);9}10}
query Example:
1result = sforce.connection.query("Select Name, Id from User");2 records = result.getArray("records");34 for(var i=0; i<records.length; i++){5 var record = records[i];6 log(record.Name + " -- " + record.Id);7}
queryMore Example:
1var result = sforce.connection.query("select name, id from account");23 var queryMore = true;4 while(queryMore){5 var records = result.getArray("records");6 var sb = new sforce.StringBuffer();78 for(var i = 0; i<records.length; i++){9 sb.append(records[i].Name).append(",");10}1112 log(records.length);13 log(sb.toString());1415 if(result.getBoolean("done")){16 queryMore = false;17}else{1819 result = sforce.connection.queryMore(result.queryLocator);20}21}
queryAll Example:
1var result = sforce.connection.queryAll("Select Name, Id from Account");2 var records = result.getArray("records");34 for(var i=0; i<records.length; i++){5 var record = records[i];6 log(record.Name + " -- " + record.Id);7}
Relationship Query Example—Child to Parent:
1var result = sforce.connection.query("SELECT c.Id, c.firstname, " +2 "c.lastname, c.leadsource, a.Id, a.name, a.industry, c.accountId " +3 "FROM Contact c, c.account a ORDER BY leadsource LIMIT 10");45 var it = new sforce.QueryResultIterator(result);67 while(it.hasNext()){8 var record = it.next();9 var accountName = record.Account ? record.Account.Name : null;1011 log(record.FirstName + " " + record.LastName +12 " in account " + accountName);13}
Relationship name formats differ depending on the direction of the relationship (parent-to-child or child-to-parent), and also depending on whether the objects are standard or custom objects. For more information, see Relationship Queries in the Salesforce SOQL and SOSL Reference Guide at www.salesforce.com/us/developer/docs/soql_sosl/index.htm.
Note
Relationship Query Example—Parent to Child:
1var result = sforce.connection.query("select a.Name, a.Industry, " +2 "(select c.LastName, c.LeadSource from a.Contacts c) " +3 "from account a order by industry limit 100");45 var ait = new sforce.QueryResultIterator(result);67 while(ait.hasNext()){8 var account = ait.next();910 var contacts = [];11 if(account.Contacts){12 var cit = new sforce.QueryResultIterator(account.Contacts);13 while(cit.hasNext()){14 var contact = cit.next();15 contacts.push(contact.LastName);16}17}1819 log(account.Name + ": " + contacts.join(","));20}
create Example:
1var account = new sforce.SObject("Account");2 account.Name = "my new account";3 var result = sforce.connection.create([account]);45 if(result[0].getBoolean("success")){6 log("new account created with id " + result[0].id);7}else{8 log("failed to create account " + result[0]);9}
Batch create Example:
1var accounts = [];23 for(var i=0; i<10; i++){4 var account = new sforce.SObject("Account");5 account.Name = "my new account " + i;6 accounts.push(account);7}89 var result = sforce.connection.create(accounts);1011 for(var i=0; i<result.length; i++){12 if(result[i].getBoolean("success")){13 log("new account created with id " + result[i].id);14}else{15 log("failed to create account " + result[i]);16}17}
delete Example:
1//create an example account2 var account = new sforce.SObject("Account");3 account.Name = "my new account";4 var result = sforce.connection.create([account]);56 if(result[0].getBoolean("success")){7 log("new account created with id " + result[0].id);8 account.Id = result[0].id;9}else{10 throw("failed to create account " + result[0]);11}1213 //now delete the example account14 var delResult = sforce.connection.deleteIds([account.Id]);15 if(delResult[0].getBoolean("success")){16 log("account with id " + result[0].id + " deleted");17}else{18 log("failed to delete account " + result[0]);19}
merge Example:
1//create two accounts2 var account1 = new sforce.SObject("Account");3 account1.Name = "myName";4 account1.Phone = "2837484894";56 var account2 = new sforce.SObject("Account");7 account2.Name = "anotherName";8 account2.Phone = "938475950";910 var result = sforce.connection.create([account1, account2]);11 if(result.length != 2)throw "create failed";1213 account1.id = result[0].id;14 account2.id = result[1].id;1516 //create merge request17 var request = new sforce.MergeRequest();18 request.masterRecord = account1;19 request.recordToMergeIds = account2.id;2021 //call merge22 result = sforce.connection.merge([request]);2324 if(result[0].getBoolean("success")){25 log("merge success " + result[0]);26}else{27 log("merge failed " + result[0]);28}
process Example:
1var request = new sforce.ProcessSubmitRequest();2request.objectId = "id of object that has a workflow rule on it"; // valid id3request.comments = "automated approval";45var request2 = new sforce.ProcessSubmitRequest();6request2.objectId = 'id of object that does NOT have a workflow rule on it' ; // valid id, not useful for workflow7request2.comments = "approval that will fail";89var processRes = sforce.connection.process([request, request2]);1011if(!processRes[0].getBoolean('success')){12 log("The first process request failed and it should not have");13}1415if(processRes[1].getBoolean('success')){16 log("The second process request succeeded and it should not have");17}1819log(processRes[0].errors);20log(processRes[1].errors);
update Example:
1//create an account2 var account = new sforce.SObject("Account");3 account.Name = "myName";4 account.Phone = "2837484894";5 result = sforce.connection.create([account]);67 //update that account8 account.id = result[0].id;9 account.Phone = "12398238";10 result = sforce.connection.update([account]);1112 if(result[0].getBoolean("success")){13 log("account with id " + result[0].id + " updated");14}else{15 log("failed to update account " + result[0]);16}
undelete Example:
1var account = new sforce.SObject("Account");2 account.Name = "account to delete";3 account.Phone = "2837484894";4 result = sforce.connection.create([account]);5 account.id = result[0].id;6 log("account created " + account);78 result = sforce.connection.deleteIds([account.id]);9 if(!result[0].getBoolean("success"))throw "delete failed";10 log("account deleted " + result);1112 result = sforce.connection.undelete([account.id]);13 if(!result[0].getBoolean("success"))throw "undelete failed";14 log("account undeleted " + result[0]);
upsert Example:
1var account = new sforce.SObject("Account");2account.Name = "TestingAjaxUpsert";3account.Phone = "2837484894";4// this will insert an account5var result = sforce.connection.upsert("Id", [account]);67account.Id = result[0].id;8account.Name = "TestingAjaxUpsert2";9// this will update the account10result = sforce.connection.upsert("Id", [account]);1112if(result[0].getBoolean("success") && result[0].id == account.Id){13log("upsert updated the account as expected");14}15else{16log("upsert failed!");17}
retrieve Example:
1var account = new sforce.SObject("Account");2 account.Name = "retrieve update test";3 account.Phone = "2837484894";4 var result = sforce.connection.create([account]);5 if(result[0].getBoolean("success") == false)throw "create failed";6 log("account created " + result[0]);78 result = sforce.connection.retrieve("Name,Phone", "Account", [result[0].id]);9 if(result[0] == null)throw "retrive failed";10 log("account retrieved: " + result[0]);1112 result[0].Phone = "111111111111";13 result = sforce.connection.update(result);14 if(result[0].getBoolean("success") == false)throw "update failed";15 log("account updated: " + result[0]);
search Example:
1var result = sforce.connection.search(2 "find {manoj} in Name fields RETURNING Account(name, id)");34 if(result){5 var records = result.getArray("searchRecords");67 for(var i=0; i<records.length; i++){8 var record = records[i].record;9 log(record.Id + " -- " + record.Name);10}11}
getDeleted Example:
1var start = new Date();2 var end = new Date();3 start.setDate(end.getDate() - 1);45 var result = sforce.connection.getDeleted("Account", start, end);67 var records = result.getArray("deletedRecords");89 log("following records are deleted:");1011 for(var i=0; i<records.length; i++){12 log(records[i].id);13}
getUpdated Example:
1var start = new Date();2 var end = new Date();3 start.setDate(end.getDate() - 1);45 var result = sforce.connection.getUpdated("Account", start, end);67 var records = result.getArray("ids");89 log("following records are updated:");10 for(var i=0; i<records.length; i++){11 log(records[i]);12}
convertLead Example:
1var account = new sforce.SObject("Account");2 account.Name = "convert lead sample";3 account.Phone = "2837484894";4 result = sforce.connection.create([account]);5 account.Id = result[0].id;67 var lead = new sforce.SObject("Lead");8 lead.Country = "US";9 lead.Description = "This is a description";10 lead.Email = "someone@somewhere.com";11 lead.FirstName = "first";12 lead.LastName = "last";13 lead.Company = account.Name;14 result = sforce.connection.create([lead]);15 lead.Id = result[0].id;1617 var convert = new sforce.LeadConvert();18 convert.accountId = account.Id;19 convert.leadId = lead.Id;20 convert.convertedStatus = "Qualified";2122 result = sforce.connection.convertLead([convert]);23 if(result[0].getBoolean("success")){24 log("lead converted " + result[0]);25}else{26 log("lead convert failed " + result[0]);27}
Describe Examples
describeSObject Account Example:
1var result = sforce.connection.describeSObject("Account");23 log(result.label + " : " + result.name + " : ");45 log("---------- fields ---------");6 for(var i=0; i<result.fields.length; i++){7 var field = result.fields[i];8 log(field.name + " : " + field.label + " : " + field.length + " : ");9}1011 log("---------- child relationships ---------");1213 for(var i=0; i<result.childRelationships.length; i++){14 var cr = result.childRelationships[i];15 log(cr.field + " : " + cr.childSObject);16}1718 log("---------- record type info ----------");19 for(var i=0; i<result.recordTypeInfos.length; i++){20 var rt = result.recordTypeInfos[i];21 log(rt.name);22}
1var result = sforce.connection.describeGlobal();23 var sobjects = result.getArray("sobjects");4 for(var i=0; i<sobjects.length; i++){5 log(sobjects[i].name);6}
describeLayout Example:
1var result = sforce.connection.describeLayout("Account");23 var layouts = result.getArray("layouts");45 for(var i=0; i<layouts.length; i++){6 var layout = layouts[0];7 detailLayoutSections(layout.detailLayoutSections);8}910 function detailLayoutSections(sections){11 for(var i=0; i<sections.length; i++){12 var section = sections[i];13 log(section.columns + ":" + section.heading + ":");14 layoutRows(section.getArray("layoutRows"));15}16}1718 function layoutRows(rows){19 for(var i=0; i<rows.length; i++){20 var row = rows[i];21 layoutItems(row.getArray("layoutItems"));22}23}2425 function layoutItems(items){26 for(var i=0; i<items.length; i++){27 var item = items[i];28 log(" " + item.label);29}30}
describeTabs Example:
1var result = sforce.connection.describeTabs();23 for(var i=0; i<result.length; i++){4 var tabSet = result[i];5 log(tabSet.label);6 displayTabs(tabSet.get("tabs"));7}89 function displayTabs(tabs){10 for(var i=0; i<tabs.length; i++){11 var tab = tabs[i];12 log(" " + tab.label + " " + tab.url);13}14}
Utility Examples
getServerTimestamp Example:
1var result = sforce.connection.getServerTimestamp();2 log(result.timestamp);
getUserInfo Example:
1var user = sforce.connection.getUserInfo();2 log("Hello " + user.userName);3 log("Your email id is " + user.userEmail);4 log("and you work for " + user.organizationName);
resetPassword and setPassword Example:
1var username = "myname@myemail.com";23 var result = sforce.connection.query(4 "SELECT ID from User WHERE User.username='" + username + "'");56 var records = result.getArray("records");7 if(records.length != 1)throw "unable to find user";8 var id = records[0].Id;910 sforce.connection.resetPassword(id);11 sforce.connection.setPassword(id, "123456");
sendEmail Example:
1// single mail request2var singleRequest = new sforce.SingleEmailMessage();3singleRequest.replyTo = "jsmith@acme.com";4singleRequest.subject = "sent through ajax test driver";56singleRequest.plainTextBody = "this test went through ajax";7singleRequest.toAddresses = ["noone@nowhere.com"];89// mass mail request - need to get email template ID1011var queryResponse = sforce.connection.query("select id from emailtemplate");12var templatedId = queryResponse.getArray("records")[0].Id;13var massRequest = new sforce.MassEmailMessage();14massRequest.targetObjectIds = [globalContact.id];15massRequest.replyTo = "jsmith@acme.com";16massRequest.subject = "sent through ajax test driver";17massRequest.templateId = templateId;1819var sendMailRes = sforce.connection.sendEmail([singleRequest, massRequest]);
The following sample shows best practice techniques by putting all processing in a function that does not execute until the HTML page is loaded.