- Create a heroku account (if you don't have an account)- you will need to connect a credit card to your account
- Fill out environment variables in form --> instructions about that below
- Unless you change the
JOBS_SAME_PROCESS
environment variable, do not start any of the processes besidesweb
- The default setup is a free tier for processing and the database. See below for scaling and production requirements
-
Create an auth0 account
-
Click on
Clients
-
Click on
+Create Client
-
Create a name and click on click on
Single Page App
- click create -
If it asks for
What technology are you using?
- click ReactJS -
Click on
Settings
in the tabs -
You should see 3 variables at the top you need for your Heroku app.
- Domain name = AUTH0_DOMAIN
- Client ID = AUTH0_CLIENT_ID
- Client Secret = AUTH0_CLIENT_SECRET
-
These variables should be placed in your heroku environment variables form
-
Scroll to
Allowed Callback URLs
section and update it with (your heroku_app_url):https://<YOUR_HEROKU_APP_URL>/login-callback, http://<YOUR_HEROKU_APP_URL>/login-callback
-
Scroll to
Allowed Logout URLs
section and update it with (your heroku_app_url):-
https://<YOUR_HEROKU_APP_URL>/login-callback, http://<YOUR_HEROKU_APP_URL>/login-callback
-
https://<YOUR_HEROKU_APP_URL>/login-callback
= AUTH0_LOGIN_CALLBACK -
https://<YOUR_HEROKU_APP_URL>/logout-callback
= AUTH0_LOGOUT_CALLBACK
-
-
Scroll to
Allowed Origin (CORS)
add:http://*.herokuapp.com
,https://*.herokuapp.com
-
Scroll to bottom and click on
Advanced Settings
-
Click on
OAuth
- make sureOIDC Conformant
is turned off.
- Create twilio account
- Click on
Programmable SMS
on the side panel - Click on
Messaging Services
, and click the plus - Create a friendly name
- Under
Properties
- SERVICE SID = TWILIO_MESSAGE_SERVICE_SID
- Under
Inbound Settings
- Make sure
PROCESS INBOUND MESSAGES
is selected REQUEST URL
ishttps://<YOUR_HEROKU_APP_URL>/twilio
- Make sure
- Under Outbound Settings
STATUS CALLBACK URL
ishttps://<YOUR_HEROKU_APP_URL>/twilio-message-report
- TWILIO_STATUS_CALLBACK_URL =
https://<YOUR_HEROKU_APP_URL>/twilio-message-report
- Visit the dashboard
- Under
Account Summary
- TWILIO_API_KEY = ACCOUNT SID
- TWILIO_APPLICATION_SID = TWILIO_MESSAGE_SERVICE_SID
- TWILIO_AUTH_TOKEN = AUTH TOKEN
Visit here to configure messaging service features
The default deployment from the Heroku button is free, but has a processing and database limit of 10,000 messages total.
This may be sufficient for a single small campaign, but if you intend multiple/regular campaigns, we recommend upgrading
the database and possibly the web
'dyno' instance (to Hobby or Standard). At the time of this writing a 'hobby basic' level for the database is ~$9.00/month.
For production scale, the best time to upgrade the database is before you start using the app, because the easiest path erases all previous data. If you have existing data, please refer to Heroku docs on how to upgrade a database (it's complicated).
If you haven't used the app, after you've created the instance (filled out the variables, and 'deployed' it) follow these steps:
- Go to the 'Resources' tab for your app and scroll to the bottom
- Under 'Add-ons' to the right end of the "Heroku Postgres::Database" line, click the little up-down carrot
- Choose 'Remove' and follow the procedure for removal
- Then, in the 'Add-ons' search box (where it says 'Quickly add add-ons from Elements'), type "postgres"
- Choose the "Heroku Postgres" option and then choose the tier you desire (see Heroku Postgres tier documentation for details)
- At the very top of the page for your app, in the upper right click the 'More' button and choose 'Restart all dynos'