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
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
# Clone this repo
$ git clone git@github.com: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 🤖💙!
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
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!
- 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!
- 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
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 installedHEROKU_APP_NAME
used only on heroku, it should be the same value as your heroku app name
You can use docker-compose
, the docker-compose.yml
file is set up to build Walkie from the Dockerfile
in the project root.
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 enabledMONGODB_URI
a mongodb uriJWT_PUBLIC
You can generate a keypair using the instructions here: https://gist.github.com/ygotthilf/baa58da5c3dd1f69fae9JWT_SECRET
For local development keep these files in yourlocal.json
fileAPP_HOST
used only locally and for generating some redirection urls related to logging in with slackSLACK_CLIENT_ID
if this is not provided the sign in with slack button will not be shown in walkieSLACK_CLIENT_SECRET
SLACK_LOGIN_REDIRECT_URL
Please see this comment for clarification thanks to @alexagranov
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
Thank you to all of you who are and have been using and helping improve Walkie!
ISC