Voice and Texts Messages Using Twilio
CONTENTS
Sign up for Twilio Account
Set up Service Entries
Service Type
Service Disposition
Customize Twilio Interface
Phone Number
URL
Service
Messages
Skip
Customize Report: Voice Notification of Events
Schedule Reports to Run Automatically
Event Details
SIGN UP FOR TWILIO ACCOUNT
Go to www.twilio.com. Sign up to get an account and a phone number. Once you have the account information, send it to Bill and he will set up the Interface.
SET UP SERVICE ENTRIES
Menu | Tables | Generic validation table | Service
Service Type
Make sure you have a service type for Voice Messages and Text Messages.
Service Disposition
Make sure you have a service disposition for successful and failed.
CUSTOMIZE TWILIO INTERFACE
Menu | Tables | Generic validation table | Interfaces | Twilio voice/text interface
Phone Number
# phone number associated with your Twilio account twilioPhone=(260)297-9523
URL
# URL of Twilio on your Quest server twilioURL=https://quest.acjc.us/equest/twilio
Service
# Service type for voice messages. If not specified, voice calls won’t be made.
# phoneServiceType=????
phoneServiceType=CALL
# Service type for text messages. If not specified, text message won’t be sent.
# textServiceType=????
textServiceType=TEXT
# Service disposition for successful service
serviceDispositionSuccess=????
serviceDispositionSuccess=SENT
# Service disposition for failed service
serviceDispositionFail=????
serviceDispositionFail=FAIL
Messages
# Message text for voice messages. Specify @v/who/ where you want the name to go and @v/event/ where you want the event description to go (both lowercase).
msg=This message is for @v/who/. You have a @v/event/. Please be on time.
# Message text for text messages. Specify @v/who/ where you want the name to go and @v/event/ where you want the event description to go (both lowercase).
# textMsg=You have a @v/event/.
textMsg=This is an automated message from Madison County Juvenile Court. You have a(n) @v/event/. If you need more information call 731-423-6150.
# Court specific message (otherwise, defaults to msg=)
# msg.<court>=blah, blah, blah
# Court specific text message (otherwise, defaults to textMsg=)
# textMsg.<court>=blah, blah, blah
# Agency specific text message (otherwise, defaults to textMsg=)
# textMsg.<agency>=blah, blah, blah
Skip
# Skip including court name in event description for all courts or only specified courts (lowercase court)
# msg.court.skip=y
# msg.<court>.skip=y
# Skip including agency name in event description (non-court events) for all agencies or only specified agencies (lowercase agency)
# msg.agency.skip=y
# msg.<agency>.skip=y
CUSTOMIZE REPORT: VOICE NOTIFICATION OF EVENTS
You can have multiple Reports:

- What events do you want to send notice on?
- Who do you want to receive that notice?
- How do you want that notice to be sent?
Menu | Miscellaneous | Reporting | Reports | Edit Available Reports
Voice Notification of Events
# — Required settings — class=equest.app.reports.VoiceNotifyEvents jobQ=single
Set up who should receive a copy of this report:
report.notify.userid.1=ajones@madisoncountytn.gov
report.notify.userid.1.method=email
report.notify.userid.2=kt.gkmsi@gmail.com
report.notify.userid.2=method=email
Set up the event types you wish to send notifications for:
# If specified, limit to the following event types (uppercase)
# eventType.n=EVENTTYPE
eventType.1=ADJ
eventType.2=ADDS
eventType.3=CUST
eventType.4=DISP
eventType.5=EXFC
eventType.6=GUAR
eventType.7=74
eventType.8=MER
Set up the event attributes if desired:
# If specified, limit to the following event attributes (uppercase)
# eventAttribute.n=EVENTATTRIBUTE
You can limit this report to a specific court if desired:
# If specified, limit to the following courts (uppercase)
# court.n=COURT
court.1=TUES
court.2=WED
court.3=THU
# Include non-court events?
# nonCourtEvents=y/n
nonCourtEvents=y
You can limit this report to a specific event name. Useful if you have children and parents on the event name:
# Include all event names, regardless of if tied to a case or their role?
# allEventNames=y/n
allEventNames=y
# If including all event names, skip Quest users?
# skipQuestUsers=y/n
skipQuestUsers=y
You can limit to a specific Case Role:
# Only case names with the specified case role will be notified (uppercase)
# caseRole.n=ROLE
You can limit to specific Case Assignments, such as Attorney:
# Only case assignments with the specified role will be notified (uppercase)
# assignedRole.n=ROLE
assignedRole.1=PET
assignedRole.2=VIC
assignedRole.3=VCPT
assignedRole.4=WIT
You can send notice to specific relatives such as Mother or Father:
# Only relatives with the specified relationship type will be notified (uppercase)
# relativeType.n=RELATIVETYPE
relativeType.1=M
relativeType.2=F
You can send notice to specific devices:
# Phone number types, in priority sequence, to call (uppercase; we’ll call the first we find)
# phoneType.n=TYPE
phoneType.1=home
phoneType.2=cell
phoneType.3=work
# Text number types, in priority sequence, to send messages (uppercase; we’ll send to the first we find)
# textType.n=TYPE
textType.1=CELL
The report will be sent to the person who ran the report as well as anyone being notified in the report settings. It will inform you of every attempt made and if it was successful or failed.

SCHEDULE REPORTS TO RUN AUTOMATICALLY
Menu | Tables | Scheduled Jobs

Every day this report will look for events scheduled 3 days from now and send out notification on those events.
Your Run Date offset should be the number of days before the event. If you want it to go out the day before, this should be a 1.
EVENT DETAILS
After running the report, the event will be updated to show how the message was sent, void or text and if it was successfully sent or not.
