Skip to content

Getting Started

raspberry-lef edited this page Nov 23, 2020 · 19 revisions

The purpose of this page is to help you try out ActiveWorkflow as easily and quickly as possible. If you find something confusing, ambiguous or have any ideas for improvement please let us know!

Running ActiveWorkflow

Depending on what tools you are familiar with there are a few different ways to try out ActiveWorkflow:

Running on Heroku

An easy way to try out or to start using ActiveWorkflow is by deploying it to Heroku. If you are reading this document in a browser you can click the button bellow, fill in the environment variables for your seed user (admin), and deploy ActiveWorkflow to your Heroku account:

  • SEED_USERNAME
  • SEED_PASSWORD (which must be at least 8 characters long)
  • SEED_EMAIL

Deploy

Please note that while a free Heroku plan can be used to try out ActiveWorkflow, it wouldn't be sufficient for real use. The button above deploys ActiveWorkflow in a single-dyno mode that is good for demonstration or getting-started purposes (it is the only way to run ActiveWorkflow on Heroku's Free plan). For production use you should remove (or set to '0') a SINGLE_DYNO environment variable and in addition to the web dyno also start scheduler and worker dynos.

Running Locally With Docker

You can run ActiveWorkflow using docker locally. To do so you need to have Docker and docker-compose installed. If you are on a Mac see Install Docker Desktop on Mac. On Linux please use your package manager, or follow this docker installation guide. To install docker-compose please see Install Docker Compose.

To run ActiveWorkflow (with a PostgreSQL database in a separate container) issue the following command inside the project directory:

docker-compose up

This starts a ActiveWorkflow instance locally at http://localhost:3000 with the login credentials "admin" / "password".

You can stop containers by issuing:

docker-compose down

Running Locally Without Docker

To run ActiveWorkflow locally without Docker you would effectively follow very similar steps to running it locally for development. Thus, please see Development for more information.

Using ActiveWorkflow

Once you have ActiveWorkflow up and running you will want to create some agents and most probably to arrange them in one or more workflows. You can use ActiveWorkflow via its web interface and its REST API. This is illustrated in the example diagram below where a1-a6 are six agents and w1-w3 are three workflows these agents participate in.

ActiveWorkflow system overview diagram

Creating Agents

There are currently three ways to create agents, listed below in order of ease:

  1. You can create a new instance of a built-in agent and configure it via the web interface following the agent's configuration options and inline documentation. With 30+ built-in agents you have the ability to address many common business workflows.
  2. If the functionality you wish to achieve isn't directly possible with any of the built-in agents then you can use the (built-in) JavaScript agent which let's you write custom JavaScript code that can send and receive messages.
  3. Finally, if none of the above offers you the flexibility or the functionality you wish to achieve you can code and plug-in your own ActiveWorkflow agent. See How to Create Your Own Custom Agents (with the Remote Agent API) to learn how to do this.

Creating Workflows

To create a workflow you simply use the web interface (the "New Workflow" button) to enter a name, description, select an icon for your workflow, and then link to it the agents that participate in it. As we mention in The Basics of ActiveWorkflow agents can participate in multiple workflows, and exist independently of them. In that respect a workflow is more like a "tag" or a "label", rather than a "container".

In the near future you'll also be able to programmatically create workflows via the REST API.


Next: The Basics of ActiveWorkflow

Clone this wiki locally