Develop Salesforce apps with JavaScript,
whether it's running on server or web browser.

Download View on GitHub

Setup

$ npm install jsforce

Example

const jsforce = require('jsforce');

const conn = new jsforce.Connection();
await conn.login('username@domain.com', 'password')

const res = await conn.query('SELECT Id, Name FROM Account')
console.log(res)

Example

<!DOCTYPE html>
<html>
<head>
  <script src="/?originalUrl=https%3A%2F%2Fjsforce.github.io%2F%26quot%3Bhttps%3A%2F%2Fcdn.jsdelivr.net%2Fnpm%2Fjsforce%403.2.2%2Fdist%2Fjsforce.min.js%26quot%3B%26gt%3B%26lt%3B%2Fscript%26gt%3B%2520%2520%26lt%3Bscript%26gt%3B%2520%2520%2520%2520jsforce.browser.init(%257B%2520%2520%2520%2520%2520%2520clientId%3A%2520%26%2339%3B%5B%2520your%2520Salesforce%2520OAuth2%2520ClientID%2520is%2520here%2520%5D%26%2339%3B%2C%2520%2520%2520%2520%2520%2520redirectUri%3A%2520%26%2339%3B%5B%2520your%2520Salesforce%2520registered%2520redirect%2520URI%2520is%2520here%2520%5D%26%2339%3B%2520%2520%2520%2520%7D)%3B%2520%2520%2520%2520jsforce.browser.on(%26%2339%3Bconnect%26%2339%3B%2C%2520async%2520function(conn)%2520%7B%2520%2520%2520%2520%2520%2520const%2520res%2520%3D%2520await%2520conn.query(%26%2339%3BSELECT%2520Id%2C%2520Name%2520FROM%2520Account%26%2339%3B)%2520%2520%2520%2520%2520%2520console.log(res)%3B%2520%2520%2520%2520%7D)%3B%2520%2520%26lt%3B%2Fscript%26gt%3B%26lt%3B%2Fhead%26gt%3B%26lt%3Bbody%26gt%3B%2520%2520%26lt%3Bbutton%2520onclick%3D%26quot%3Bjavascript%3Ajsforce.browser.login()%3B%26quot%3B%26gt%3BLogin%26lt%3B%2Fbutton%26gt%3B%26lt%3B%2Fbody%26gt%3B%26lt%3B%2Fhtml%26gt%3B%253C%2Fcode">

Example

<apex:page docType="html-5.0" showHeader="false">
  <apex:includeScript value="{!URLFOR($Resource.JSforce)}" />
  <script>
    const conn = new jsforce.Connection({ accessToken: '{!$API.Session_Id}' });
    const res = await conn.query('SELECT Id, Name FROM Account');
    console.log(res);
  </script>
</apex:page>

Example

<!DOCTYPE html>
<html>
<head>
  <meta id="sf-canvas-signed-request" content="<%= verifiedSignedRequestJSON %>" />
  <script src="/?originalUrl=https%3A%2F%2Fjsforce.github.io%2F%26quot%3Bhttps%3A%2F%2Flogin.salesforce.com%2Fcanvas%2Fsdk%2Fjs%2F42.0%2Fcanvas-all.js%26quot%3B%26gt%3B%26lt%3B%2Fscript%26gt%3B%2520%2520%26lt%3Bscript%2520src%3D%26quot%3Bhttps%3A%2F%2Fcdn.jsdelivr.net%2Fnpm%2Fjsforce%403.2.2%2Fdist%2Fjsforce.min.js%26quot%3B%26gt%3B%26lt%3B%2Fscript%26gt%3B%2520%2520%26lt%3Bscript%26gt%3B%2520%2520%2520%2520let%2520sr%2520%3D%2520document.getElementById(%26%2339%3Bsf-canvas-signed-request%26%2339%3B).content%3B%2520%2520%2520%2520const%2520conn%2520%3D%2520new%2520jsforce.Connection(%7B%2520signedRequest%3A%2520sr%2520%7D)%3B%2520%2520%2520%2520const%2520res%2520%3D%2520await%2520conn.query(%26%2339%3BSELECT%2520Id%2C%2520Name%2520FROM%2520Account%26%2339%3B)%3B%2520%2520%2520%2520console.log(res)%3B%2520%2520%26lt%3B%2Fscript%26gt%3B%26lt%3B%2Fhead%26gt%3B%26lt%3Bbody%26gt%3B%26lt%3B%2Fbody%26gt%3B%26lt%3B%2Fhtml%26gt%3B%253C%2Fcode">

Setup

$ npm install -g jsforce

Example


$ jsforce
> .connect username@salesforce.example.org
Password: *******
Logged in as : username@salesforce.example.org
> query("SELECT Id, Name FROM Account LIMIT 1")
{ totalSize: 1,
  done: true,
  records: 
   [ { attributes: [Object],
       Id: '0015000000KBQ5GAAX',
       Name: 'GenePoint' } ] }
> .exit

$ jsforce -c username@salesforce.example.org -e "query('SELECT Id, Name FROM Account LIMIT 2')"
{"totalSize":2,"done":true,"records":[{"attributes":{"type":"Account","url":"/services/data/v29.0/sobjects/Account/001i0000009PyDrAAK"},"Id":"001i0000009PyDrAAK","Name":"GenePoint"},{"attributes":{"type":"Account","url":"/services/data/v29.0/sobjects/Account/001i0000009PyDsAAK"},"Id":"001i0000009PyDsAAK","Name":"United Oil & Gas, UK"}]}