Your app should now be running on Heroku but you're not quite done yet. Take note of the URL where your heroku app is running, for example https://foo-bar-4242.herokuapp.com. You'll need to specify this in your heroku app SERVICE_URL config variable. You can do this in the Heroku control panel under Settings > Config Variables, or if you have the Heroku Toolbelt installed you can do it like so:

You should be all set. Open your Heroku app and start chatting with your new bot!

Bonus: Open the Smooch control panel and add more integrations. You can add new user channels like Twilio SMS, or you can add Slack or HipChat which will let you join in on the conversation along side your bot. Pretty neat!

Troubleshooting your bot

Is your bot misbehaving? Not working? Here are some steps you can follow to figure out what's going wrong.

Warning: command line instructions incoming. You may not be accustomed to using the command line but don't worry, it's much easier than you think.

Check your bot's logs on heroku

If there's a bug in your code, checking the heroku logs is the best way to figure out what's going wrong. Here's how:

Install the heroku toolbelt: https://toolbelt.heroku.com/ These are power tools that let you do a lot more than what Heroku dashboard alone allows.

Next, open your preferred terminal app. On OSX the default Terminal app will work fine here.

Log in to the heroku toolbelt with the following command:

heroku login

If the command heroku isn't found, try restarting your terminal app. Once logged in you should be able to list all of your heroku apps like so:

heroku apps

which should give you something like this:

$ heroku apps
=== My Apps
your-app

Now you can check the logs of your heroku app like so:

heroku logs -a your-app

This will give you a dump of your most recent app logs. They will look something like the following. Can you spot the error below?

Did you notice the SyntaxError part? It looks like there's a problem in my script.json. If I inspect that file in github I'll see that indeed, I have a stray comma at the end if the second to last line.

After I remove that comma and redeploy, everything will return to normal.

How do I deploy my fixes to Heroku?

Great question! Now that you've found your bug and fixed it, you want to redeploy your app. With Heroku you can trigger a deployment using git. Without going into detail, git is a code versioning system it's where github gets its name. Git is the software, github.com is a separate company that hosts git code repositories. If you're using a Mac you should already have git installed. Although git is a very complex tool, it's worth learning if you're eager, but for this guide's purposes we'll be using only the most basic concepts of git, pulling changes from a remote github repository, commiting changes, and then pushing those changes out to a remote repository.

To deploy using git you first have to download a copy of your heroku app's code, like so:

git clone https://github.com/your-github-username/your-app

Note that git will prompt you to enter your github credentials.

This will create a new git copy of your code in a new folder. You can go into that folder like so:

cd your-app

Now you can use the heroku toolbelt to link this git copy up to your heroku app with the following command:

heroku git:remote -a your-app

Once that's done, you can now deploy to heroku directly from this directory. If you've made any fixes on github directly, be sure to sync them here like so:

git pull origin master
git push heroku master

You can also make changes to your local copy of the code. To do this, edit whatever file you wish in your preferred text editor, and then commit and push them up to github. You'll add a commit message, which is a short sentence decribing what you changed.