Build your first automated service in Telerivet
What to prepare, what to decide, and how to confirm your first automated service is working
Most organizations that sign up for Telerivet have a clear outcome in mind: appointment reminders that go out without someone manually sending them, a registration flow that runs overnight, a confirmation message that fires the moment a contact replies. Getting from that outcome to a working service is simpler than it looks once you understand the shape of the process. This article walks through what to have in place before you start, the decisions you will make during the build, and how to confirm everything is working before you go live. The appointment reminder is used as the example scenario throughout because it is the most broadly recognizable use case across healthcare, education, logistics, and financial services, but the same logic applies to any service type.
For a primer on which service type fits your goal, see Getting Started with Automated Services. For a deeper breakdown of each service type, see Understanding Automated Services in Telerivet: Service Types, Triggers, and When to Use Each.
What to have in place before you start
Building a service takes under thirty minutes once these four things are ready. Without them, you will hit a wall partway through.
A connected route. The service needs a channel to send through. If you have not added a route yet, start with Understanding Routes in Telerivet before coming back here.
Your contacts imported. The service sends to contacts in your Telerivet project. For the appointment reminder scenario, contacts also need the appointment date stored as a contact field, since that is what the service uses to determine when to send. If contacts are not in yet, import them first and make sure the relevant date field is populated. See Importing Contacts Into Telerivet and Managing Contact Fields in Telerivet for setup steps.
Your message drafted. Write the message content before you open the service builder. Appointment reminders work best when they are specific: the contact's name, the date, the time, and a clear instruction if they need to reschedule. Telerivet lets you personalize messages using contact field values, so "Hi [first_name], your appointment is confirmed for [appointment_date] at [appointment_time]" becomes personal at scale without any manual work. See How to Personalize Messages in Telerivet for the full personalization syntax, and Simple Personalization Tactics That Make SMS Messages Feel More Human for practical guidance on what works.
A plan for replies. A reminder that goes out but has no handling for responses is an incomplete workflow. Decide before you build: do you want contacts to be able to confirm, cancel, or ask a question? If yes, that reply handling is part of the service and needs to be designed alongside the outbound message. If no, make sure the message itself sets that expectation clearly so contacts are not left waiting for a response that will not come.
The decisions you will make during the build
The User Guide covers the configuration clicks. This section covers the thinking behind them.
What triggers it? For an appointment reminder, the trigger is time-based: send a message a set number of hours or days before the appointment date stored in a contact field. You will define which field holds the date and how far in advance the message goes out. One day before is common for healthcare and hospitality. Two hours before works well for high-confirmation-rate scenarios like events or delivery windows. See How Message Scheduling Works in Telerivet for how time-based triggers are configured.
Who does it send to? You will specify a contact group or filter. For appointment reminders, this is typically a dynamic group that includes any contact with an upcoming appointment date within your defined window. As contacts are added or their dates change, the group updates automatically. See Understanding Contacts in Telerivet: Lists, Filters, Groups, and Segmentation for how dynamic groups and filters work.
What channel does it send on? The service sends through whichever route you assign. If you want WhatsApp with SMS fallback, configure that at the route level before building the service. The service itself just needs to know which route to use.
What happens when someone replies? If you want to capture responses, you will define what the service does with each reply. A simple confirmation flow might handle YES to confirm and NO to cancel, with each reply triggering a different action. Custom Actions handles this without code. Cloud Script handles it if the logic is more complex, such as updating a data table record or notifying an external system.
What does the service do after it sends? Consider the end state before you start. After a contact confirms, should the service update a contact field to record the confirmation? Add them to a confirmed group? Trigger a second message closer to the appointment date? These decisions are much easier to make before you build than to retrofit after the fact.
Before you activate
Test with a real number first. Use the Test Service button to trigger the service against a test contact and see exactly what goes out and when. Run through the confirmation flow, the cancellation flow, and any edge case (a contact who does not reply, a contact who sends an unexpected word). See Testing Your Poll and Introduction to Services in the User Guide for testing steps.
Check your service order. If you have more than one active service in the same project, Telerivet evaluates them from top to bottom and runs the first one that matches an incoming message. A catch-all auto-reply sitting above your reminder service will intercept replies before the reminder service can handle them. Review the order before activating. See Ordering Multiple Active Services in the User Guide.
Check your quiet hours settings. If your route has quiet hours configured, confirm your reminder timing does not conflict with them. A reminder scheduled for 7am that gets held until 9am by quiet hours is no longer an accurate reminder.
How to know it is working
Once the service is live, three things tell you it is behaving as expected.
The activity log in your project shows every service that ran, when it ran, and what actions it took. Check this after your first scheduled send to confirm the service triggered and the message went out.
Delivery reports on individual messages confirm whether the message reached the recipient's device. A service that triggers correctly but shows delivery failures points to a route or number issue, not a service configuration problem.
Reply tracking shows whether contacts are responding and how the service is handling those replies. If you built a confirmation flow, check that confirmed contacts are being marked correctly and that non-responders are not being incorrectly processed.
Frequently asked questions
Do I need to rebuild the service for each new batch of appointments? No. The service stays active and evaluates your contacts continuously against the trigger condition. As long as contacts have the correct appointment date populated in the relevant field and are in the target group, the service will send to them at the right time without any manual intervention. You only need to ensure new contacts are imported with the date field populated.
What if a contact replies with something the service does not recognize? If no reply keyword matches, the message is received and stored in Telerivet but no automated action runs. The best practice is to add a catch-all reply handler within the service that acknowledges unrecognized responses and directs the contact to a next step, such as a phone number to call or a prompt to resend their reply with the expected keyword.
Can I run the same service across SMS and WhatsApp at the same time? Yes, by assigning multiple routes to the service or by setting up route-level fallback. A contact who has a WhatsApp route connected will receive the reminder via WhatsApp. A contact on SMS only will receive it via SMS. The service logic stays the same; the route handles channel delivery. See Understanding Routes in Telerivet for how multi-route configuration works.
How do I add a follow-up message for contacts who do not reply? Non-responders can be handled in two ways. If you built the reminder as a Poll service, Telerivet has built-in non-responder tracking and reminder functionality. If you built it as a Custom Actions service, you can use a filter to identify contacts who have not replied within a set window and trigger a second send to that group. See Tracking and Reminding Non-Respondents in the User Guide.
What to build next
Once your first service is working, the natural next step is adding complexity: a follow-up message for contacts who did not reply, a cancellation flow for contacts who reply NO, or a second reminder closer to the appointment date. Each of these is either a separate service or an additional branch in your existing Custom Actions flow.
For how organizations across healthcare, logistics, and financial services have structured reminder and follow-up workflows, see How Clinics Automate Appointment Reminders with SMS, WhatsApp, Viber and Three simple journeys every organization should automate on the Telerivet blog.
Best practice tip
Build the simplest version first and confirm it works end to end before adding branches or conditions. A one-message reminder that sends reliably is more useful in week one than a five-step flow that has never been tested. Once the core send-and-confirm loop is working, you have a stable foundation. Complexity added to a working service is much easier to debug than complexity added to something that has never gone live.
Need help designing a more complex reminder or follow-up workflow? Talk to our Solution Engineers.