Wondering what’s next for npm?Check out our public roadmap! »


    0.0.1 • Public • Published


    nforce-chatter is a Chatter REST API plugin for nforce.


    The Chatter API is #massive so the plugin is a work in progress. The following functionality has been implemented. Pull requests are welcome!

    • Get Chatter Activity Statistics for a User
    • Get My News Feed
    • Get a Record Feed
    • Get a Group Feed
    • Post a Feed Item
    • Like a Feed Item
    • Post a Comment

    The test/chatter.js mocha test has sample code.

    See the Chatter Developer's Guide for complete and official documentation.


    $ npm install nforce-chatter


    Require nforce and nforce-chatter in your app and create a client connection to a Salesforce Remote Access Application with the chatter plugin enabled.

    var nforce = require('nforce'),
      chatter = require('nforce-chatter')(nforce),
    var org = nforce.createConnection({
      clientId: 'SOME_OAUTH_CLIENT_ID',
      clientSecret: 'SOME_OAUTH_CLIENT_SECRET',
      redirectUri: 'http://localhost:3000/oauth/_callback',
      apiVersion: 'v32.0',  // optional, defaults to current salesforce API version
      environment: 'production',  // optional, salesforce 'sandbox' or 'production', production default
      mode: 'multi', // optional, 'single' or 'multi' user mode, multi default
      plugins: ['chatter']

    Now we just need to authenticate and get our salesforce OAuth credentials. Here is one way to do this in multi-user mode...

    // multi user mode
    var oauth;
    org.authenticate({ username: 'my_test@gmail.com', password: 'mypassword'}, function(err, resp){
      // store the oauth object for this user
      if(!err) oauth = resp;

    ...or in single-user mode...

    // single-user mode
    org.authenticate({ username: 'my_test@gmail.com', password: 'mypassword'}, function(err, resp){
      // the oauth object was stored in the connection object
      if(!err) console.log('Cached Token: ' + org.oauth.access_token)

    See the nforce readme for more detailed instruction on the awesome features of nforce.

    nforce-chatter API Basics


    The API of nforce-chatter follows typical node.js standards. Callbacks will always pass an optional error object, and a response object. The response object closely resembles the typical responses from the Salesforce REST API.

    callback(err, resp);

    Calling Functions

    API calls take two arguments:

    1. A JavaScript object containing the data for the function
    2. The callback
    org.chatter.recordFeed({id: '0037000000TWktt'}, function(err, resp) {
      if (!err) console.log(resp);
      if (err) console.log(err);

    If you are using multi-user mode, pass the connection info in the hash with the oauth property.

    org.chatter.recordFeed({id: '0037000000TWktt', oauth: oauth}, function(err, resp) {
      if (!err) console.log(resp);
      if (err) console.log(err);

    Running Tests

    The mocha tests currently run directly against a Saleforce org. I would like to switch them to use nock in the near future. To run the tests, first you'll need to rename test/config-example.js to test/config.js and enter your connection parameters. Then run the tests.

    $ npm test

    nforce-chatter Methods


    Returns Chatter statistics for a salesforce user.

    • id: Required. The id of the user to return statistics for.


    Returns the context user's news feed.


    Returns the feed for a specified record.

    • id: Required. The id of the record to return the feed for.


    Returns the feed for a specified group.

    • id: Required. The id of the group to return the feed for.


    Posts a new feeditem for a record.

    • id: Required. The ID of the parent this feed element is being posted to. This value can be the ID of a user, group, or record, or the string me to indicate the context user.
    • text: Required. The text of the post.


    Posts a new comment on a feeditem.

    • id: Required. The id of the feeditem to post the comment
    • text: Required. The text of the comment.


    Likes the specified feeditem.

    • id: Required. The id of the feeditem to like.


    • Rewrite tests using nock.
    • Hook up to travis-ci.org



    • v0.0.1: Initial release.


    npm i nforce-chatter

    DownloadsWeekly Downloads






    Last publish


    • avatar
    • avatar