"I'm new here" 🐣
tl;dr: SpeedyBot helps you efficiently design, deploy, and secure rich conversation systems-- especially in enterprises and large teams with complex requirements
Follow the quick setup below to go from zero to a SpeedyBot running on your local machine (which you can later seamlessly deploy to any infrastructure you want if needed)
Step I: Grab Your Access Token
You'll need a WebEx account to build bots— if you don't have one one, sign up for a new account here: https://signup.webex.com/sign-up
Once you have an account, create a new bot and copy its access token from here: https://developer.webex.com/my-apps/new/bot
The flow to get a token will look roughly like this:
Validate Token
Once you've got your token, pop it into the box below to validate it & review your bot's details
Is this safe??
Your bot token is a highly sensitive credential and should be protected with encryption and proper secrets management.
SpeedyBot does NOT log/persist or do anything (except what you tell it to do) with your bot token.
REMEMBER: If your agent's access token is ever compromised/exposed, you can always invalidate it + get a new one by tapping "Regenerate Access Token" under your agent's settings page
Step II: Send a Test Message with Your Access Token
Let's test out your bot access token by sending a SpeedyCard to you as a direct message (tap the 🎲 to shuffle through some examples as inspiration or write your own)
When you're ready, tap the Send Message tab and use the email you signed up with as the destination and hit Send-- in about a second you should receive a new message from your bot
Step III: Setup your SpeedyBot Listener
You may have noticed that if you tried to submit any data back from a card-- nothing happens
In fact, any user interaction with your bot right now— be it a message, SpeedyCard submission, or file upload, results in icy radio silence
That's because there's nobody "home" to answer the request-- SpeedyBot can "listen" for messages (or card data submissions or files) so anytime someone interacts with your bot it will respond back automatically per your instructions
Run your bot from your computer
- Keeping things simple to start you'll run the bot from your machine (ie when your computer is off, your bot is "off") but later if you need to, you can deploy it to virtually any standard server or scalable serverless cloud infrastructure you want
Copy the commands below to get up and running
npx -y speedybot@^2.0.0 setup --project default --boot --install
bunx speedybot@^2.0.0 setup --bun --project default --boot --install
git clone --depth 1 https://github.com/valgaze/speedybot
cd speedybot
cd examples/speedybot-starter
npm i
npm run bot:setup __ACCESS__TOKEN__HERE__
npm run dev
Getting errors?
If you see an error like npm: command not found
you probably need to install node or a compatible runtime onto your system.
There are many ways to do this, but two easy ways:
If you use Windows, see the Windows Quickstart
Option 1 Download + install Node from the official site: https://nodejs.org/en/download
or
Option 2 Download with Volta in the terminal
curl https://get.volta.sh | bash
volta install node
However you set up your system, make sure to run node -v
in your terminal to verify node is correctly installed and you can get up and running with npx speedybot setup --project default
:
Note: If you really want to speedy things up try it with Bun and install with curl -fsSL https://bun.sh/install | bash
Now send a message to your bot and you'll see a welcome screen with buttons and cards:
You can now customize this bot however you want by editing the file settings/bot.ts
You can turn off your bot by holding down CTRL-C on your keyboard or exiting the terminal. To turn your bot back "on", open your terminal to your project directory and enter npm run dev
Whether you're just starting out on your conversation design journey or a seasoned pro, SpeedyBot has you covered for crafting bots that can do it all-- securely integrate w/ LLMs + content management systems, process file-uploads, segment content based on user data + behavior, let users upload documents and then 'chat' with them using an LLM and a R.A.G. pattern, create + manage SpeedyCards, ask for a user's location in a privacy-respecting way, and much more.
When you're ready to deploy it to a server, serverless function or virtually any infrastructure/device, check out the examples