← Blog·Deployment Guide

How to Deploy your Alexa Skill and Google Action to Heroku

Jan König··Updated Jan 2024·9 min read

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.