walkiebot
walkiebot copied to clipboard
walkiebot opensource
Walkiebot is the premier solution for prototyping conversational flows, and visualising what a message will look like in Slack - it features a WYSIWYG editor for creating and editing messages
Table of Content
- Quickstart
-
Export and import
- Exporting your data
- Importing your data
-
Production
- Heroku
- Docker
-
Configuration
- JWT tokens
- Screenshots
- Contributors
Some articles we wrote about Walkie:
- https://blog.founders.as/walkie-bloggie-postie-ff1938668605
- https://blog.founders.as/walkie-announcement-sign-in-with-slack-and-more-56427dad9059
- https://blog.founders.as/walkie-two-point-ooh-snap-5cef2bb8f274
Quickstart
# Clone this repo
$ git clone [email protected]:FoundersAS/walkiebot.git
# Install packagages
$ yarn
# Run Walkie! (For the first run docker will pull the mongodb image)
$ yarn dev
Now visit http://localhost:8005 for some 🤖💙!
Note:
Walkie uses mongodb as the database, it's the only outside requirement to run walkie in any environment.
In any setup explained here mongodb is included.
When developing locally with yarn dev
docker-compose is used to manage the mongodb, on heroku a free mlabs mongodb addon is provisioned automatically.
In case you want to use authentication you will need to set up a slack application, you can do that here: api.slack.com/apps - JWT is used for authorisation so you'll need to generate a keypair and add the keys as environment variables (more on that in Configuration), but here is a quick link with instructions
Export and import
If you are here as a previous walkie user and you are thinking: "How on earth will I get my data from app.walkiebot.co on to my own walkie instance?" This is the section for you!
Exporting your data
- On https://app.walkiebot.co/ - Click the 'export all walkie data' button in the sidebar.
- Click the 'Export my data' button and give it a second
- Now click the big green button. And a download will start.
- You now have your walkie data saved on your computer!
Importing your data
- So you have your
walkie-data.json
file somewhere - On your own Walkie instance, click the 'import from Walkie export'
- Click 'Choose file' and locate your
walkie-data.json
export - Click 'Upload'
- You should get a message saying that your bots were imported with a list of links
- You can also find all your bots in the bot list in the sidebar
Production
Heroku
These environment variables are required with heroku:
(the setup wizard will ask you to fill them out as well)
-
NPM_CONFIG_PRODUCTION
when deploying to heroku this should be false sodevDepencies
are installed -
HEROKU_APP_NAME
used only on heroku, it should be the same value as your heroku app name
Docker
You can use docker-compose
, the docker-compose.yml
file is set up to build Walkie from the Dockerfile
in the project root.
Configuration
If there are some of these variables you do not want to be checked into your repo, then put them in a file called local.json
:
{
"JWT_SECRET": "...",
"SLACK_CLIENT_SECRET": "..."
}
These are the available environment variables walkie uses:
-
NGROK_SUBDOMAIN
only required locally with slack login enabled -
MONGODB_URI
a mongodb uri -
JWT_PUBLIC
You can generate a keypair using the instructions here: https://gist.github.com/ygotthilf/baa58da5c3dd1f69fae9 -
JWT_SECRET
For local development keep these files in yourlocal.json
file -
APP_HOST
used only locally and for generating some redirection urls related to logging in with slack -
SLACK_CLIENT_ID
if this is not provided the sign in with slack button will not be shown in walkie -
SLACK_CLIENT_SECRET
-
SLACK_LOGIN_REDIRECT_URL
JWT tokens
Please see this comment for clarification thanks to @alexagranov
Screenshots

Add as many users as you like to your stories for maximum interaction (and possibly confusion!)

The sidebar visualises how your conversation is structured and allows you to create new messages in reaction to others

The message builder help you design Slack messages with a live preview

Export any message to a valid Slack message payload
Contributors
Thank you to all of you who are and have been using and helping improve Walkie!
License
ISC