Warning: We no longer develop features for this version of SKY UX, and we recommend that you use the latest version instead. This site describes the AngularJS (1.x) implementation of the SKY UX framework. We still support this version, but it is in maintenance mode. For more information, see developer.blackbaud.com/skyux.


For Blackbaud Internal Use Only

The help service is not currently available for third-party custom applications.

The help service allows Angular components to open and close the help panel programmatically. When the widget opens, it interrogates the page to identify the current help topic and display relevant help content. The bbHelpConfig object controls settings for this service.


  • easyXDM (2.4.19 or higher) Used to make cross-domain requests to the help server.

bbHelp methods

  • init() — Adds a global help button to the top-right corner of the page. You should supply the appropriate bbHelpConfig options before you call init().
  • open() — Opens help using the specified help key. If init() has not been called yet, then the global add button is added to the page before the help topic opens.
  • close() — Closes the current help topic.

bbHelpConfig settings

For additional information about configuration options, see the BB Help configuration reference.

  • caseCentral(Optional.) Customizes the URL for the "Case Central" link in the Help Widget. To remove the link, set this to an empty string.
  • clientId(Optional.) Passes the client ID to the chat session.
  • communityUrl(Optional.) Specifies a URL for a "Community" link in the Help Widget to link to a Blackbaud Community website. For example, to link to the Raiser's Edge NXT Community, you specify https://community.blackbaud.com/products/raisersedgenxt.
  • customLocales(Optional.) Specifies an array of locales that the product has help content for in addition to the default help content locale. This array contain strings such as en-gb and fr.
  • getChatData(Optional.) Specifies a function that returns the chat key and website ID to use for the product based on the user's locale. For example:
     getChatData: function(userLocale) {
              if (locale === 'en-gb') {
                  return {
                      key: '3674699029499270000',
                      websiteId: ' 3506212574036402816'
              return {
                  key: ' 171147028994005462',
                  websiteId: '2766361919244160000'
  • getCurrentHelpKey — Specifies a function that returns the page's current help URL. When users navigate around your app and click the help panel, a call to this function can determine the appropriate help file to display. For example: function() { return 'myHelpFile.html'}.
  • helpBaseUrl(Optional.) Provides the base URL for your help files. By default, the base URL inserts the productId value into "https://www.blackbaud.com/files/support/helpfiles/{ProductId}/content/". This parameter allows you to override that default when help content exists at some other path.
  • knowledgebaseUrl(Optional.) Customizes the knowledgebase URL. To remove the link, set this to an empty string.
  • onHelpLoaded(Optional.) Specifies a function to be called after the help panel loads.
  • productId — Specifies a product identifier to help automatically build the default base URL for the product's help content.
  • url — Specifies the URL for the Help Widget that loads the help content.
  • userData(Optional.) Specifies an object that passes information about the current user to the chat session. For example: { emailAddress: '', firstName: '', lastName: ''}.



<div ng-controller="HelpTestController as helpCtrl">
    <button class="btn btn-default" ng-click="helpCtrl.open()">Open</button>
    <button class="btn btn-default" ng-click="helpCtrl.close()">Close</button>


/*global angular */
(function () {
    'use strict';

    function helpTestConfig(bbHelpConfig) {
        // Example:
        // bbHelpConfig.url = 'your url';

    helpTestConfig.$inject = ['bbHelpConfig'];

    function helpTestRun(bbHelp) {

    helpTestRun.$inject = ['bbHelp'];

    function HelpTestController(bbHelp) {
        var self = this;

        self.open = function () {

        self.close = function () {

    HelpTestController.$inject = ['bbHelp'];

        .controller('HelpTestController', HelpTestController);