What is Commander?

copied

Commander is Nimbella's development platform for Slack. With Commander, you can create and manage custom Slack apps and commands without leaving the Slack environment.

What can I do with it?

copied

You can create Slack slash commands to accomplish just about any web operation you can think of in Slack, such as:

  • Retrieve and display your billing statements from companies like Amazon AWS, Google Cloud, or Microsoft Azure.
  • Report signups for your website or social media.
  • Display sales to date.
  • Manage your DNS hostnames or SSL certificates.

With Commander, you can schedule recurring tasks for your slash commands, such as the following:

  • Post a summary of your cloud bills to a Slack channel every morning.
  • Display the number of GitHub issues every morning and evening.
  • Check customer support response times every 30 minutes.

Commander also lets you initiate slash commands from webhooks, such as:

  • Something was uploaded to Dropbox.
  • A GitHub checkin occurs.
  • A system alert is triggered in a cloud monitoring service.

Commander has other powerful features that administrators can control by issuing Commander slash commands in Slack:

  • Assign user roles and create user groups for your app.
  • Create secret values for command parameters that neither users nor Slack has access to.
  • View logs.
  • Import and export command sets.

How does it work?

copied

Here’s a diagram of how Commander works in the Slack environment.

How does Commander work

Here’s how all these components fit together:

You create your custom Slack app on Slack API website and create one Slash Command, which will be used as a command prefix in Slack to identify your app to Commander. In the diagram, the custom app name is DevOps and the slash command is /devops.

By installing the Commander app in Slack, you can use Commander slash commands in the Slack UI to install your custom app into the Nimbella Cloud, create the commands for your app and edit their source code, and perform other administrative tasks, such as:

  • Manage user roles to administer the app, edit the command source code, and run the slash commands.
  • Create scheduled tasks that run commands without user input.
  • Create triggers that run commands when triggered by external webhooks.
  • Encrypt values for sensitive information used as command parameters so Slack and users never see it.

See the sections below for more information about Commander features that enhance custom Slack apps.

The above diagram shows an example of a Commander slash command an administrator would use to create a command for your custom app. The command prefix /nc identifies all slash commands that belong to the Commander app, and command_create creates a custom slash command called print with one parameter, <msg>. The output from the command /nc command_create print <msg> is a link to the Nimbella Cloud to edit the source code for this new command.

Users (or other commands like tasks and triggers) who have been granted permission to run the print command would enter a slash command such as /devops print “Hello World!”.

For a tutorial with detailed steps on how to create a custom app and custom commands, see the Quickstart Guide.

Why use it to build Slack apps?

copied

Slack doesn't provide an environment to develop Slack apps or a cloud that runs Slack apps. With Commander, your app runs on the Nimbella Cloud. There's nothing to install, no servers to manage, and no services you need to provision.

Commander builds extra capabilities into Slack app components:

  • Commands that include built-in security and logging.
  • Tasks that run your commands on a schedule or at a rate, such as once a day.
  • Triggers that enable other cloud services to call your Slack commands.

Commander includes advanced features such as:

  • User Roles that let you control which Slack users can run commands, edit source code or administer your Slack apps.
  • Groups that allow you to group users, making it easier to manage access rights.
  • Secrets so you can encrypt API keys and passwords and keep them out of your source code.
  • Command Sets allow you to load commands from external locations and export commands to share with others
  • Logs let you see the actions that users, tasks, and triggers have taken.

Apps can be created by app developers or even operations specialists.

How do I get it?

copied

You can start using Commander for free, with limitations. See the pricing page for information about terms and upgrades.

Here's what you can do with the free version of Commander:

  • Implement your custom commands as JavaScript source code, which is executed directly as serverless functions in the Nimbella Cloud.
  • Edit and debug the JavaScript serverless function code.
  • Set access roles for users or groups, such as which Slack users can run a command and which can edit code.
  • Manage secret values for passwords and API keys.
  • View logs for users, commands or apps.
  • Install prebuilt sets of commands, created by Nimbella or third parties, directly from Github or other web locations.

With a Pro upgrade, you can:

  • Create apps with custom runtimes.
  • Create tasks that run commands on a given schedule or at a given rate.
  • Create triggers that can be called from external webhooks.
  • Develop commands in languages other than JavaScript.

Commander is one example of our main platform, Nimbella. See what else Nimbella can do.