How to Deploy your Alexa Skill and Google Action to Heroku
Heroku is one of the easiest ways to host your Jovo webhook so that both Alexa and Google Assistant can reach it. This guide walks through deploying a Jovo v2/v3 Node.js project to Heroku and configuring the correct endpoint URL in the Amazon Developer Console and Actions on Google.
Prerequisites
- A Jovo project created with
jovo new - Heroku account (free tier works)
- Heroku CLI installed:
npm install -g heroku - Git initialized in your project folder
Updating package.json
Heroku needs a start script and a engines field to know which Node version to use.
{
"scripts": {
"start": "node index.js",
"build": "tsc"
},
"engines": {
"node": "18.x"
}
}
Deploy to Heroku
# Login and create app
heroku login
heroku create my-jovo-skill
# Push code
git add .
git commit -m "deploy to heroku"
git push heroku main
# Get your webhook URL
heroku info -s | grep web_url
Your webhook URL will be something like https://my-jovo-skill.herokuapp.com/webhook.
Configuring Alexa & Google
Paste the Heroku URL as the endpoint in the Amazon Developer Console (under Endpoint → HTTPS) and in Actions on Google (under Fulfillment → Webhook). Both platforms require HTTPS — Heroku provides this automatically.
Tip: Use heroku logs --tail to stream live request logs while testing in the Alexa simulator or Actions on Google test console.
Keeping the Dyno Awake
Free Heroku dynos sleep after 30 minutes of inactivity, causing cold-start delays. For production skills, upgrade to a Hobby dyno ($7/mo) or use a service like UptimeRobot to ping your URL every 25 minutes.