📅

SMSTunnel for The Events Calendar

Event SMS Reminders

Requires The Events Calendar • Event Tickets for RSVPs and tickets • SMSTunnel Core Required

Coming to WordPress.org. Want it sooner? Write to us.

Description

SMSTunnel for The Events Calendar texts your attendees from your own phone and number: a confirmation when they RSVP or buy a ticket, a reminder before the event starts, and a note if the event changes or is cancelled.

Works with the free version of The Events Calendar. RSVP and ticket texts need the free Event Tickets plugin.

Features

  • Automatic Event Reminders - One reminder, 1 to 168 hours before the event starts (24 by default)
  • RSVP Notifications - A text when someone RSVPs (not for "Not going" answers)
  • Phone Number Field - A required field on the RSVP form
  • Ticket Purchase SMS - Confirmation for ticket buyers, to the number in their account or an attendee "Phone" field
  • Event Change Alerts - A text when an event's date, time or venue changes
  • Cancellation Notices - A text when a published event is moved to the Trash
  • Organizer Notification - A text to the organizer when someone registers
  • Per-Event Switches - Turn texts or reminders off for one event, or send its reminder now

Available Placeholders

{event_name} - Event name

{event_date} - Event date

{event_time} - Start time

{event_end_time} - End time

{event_location} - Venue name and address

{event_venue} - Venue name

{event_address} - Venue address

{event_url} - Event URL

{attendee_name} - Attendee name

{attendee_email} - Attendee email

{attendee_phone} - Attendee phone

{ticket_name} - Ticket/RSVP type name (in RSVP and ticket confirmations)

{site_name} - Website name

{site_url} - Website URL

Example Messages

Event Reminder (24 hours before)

"Reminder: {event_name} is tomorrow at {event_time}. Location: {event_venue}"

Organizer Notification

"New registration for {event_name}: {attendee_name}, {attendee_phone}"

RSVP Confirmation

"Thanks {attendee_name}! You're confirmed for {event_name} on {event_date}."

Event Update

"Update: {event_name} is now on {event_date} at {event_time}, {event_location}."

Settings

Everything is in Events → SMSTunnel SMS:

  • Enable SMS Notifications - The main switch
  • Notification Types - RSVP Confirmation, Ticket Purchase, Event Reminder, Event Update, Event Cancelled, Organizer Notification and Check-in Notification, each on or off
  • Send reminder [N] hours before event - 1 to 168 hours, 24 by default
  • Default organizer phone: - The number for organizer texts (each event can set its own)
  • Message Templates - One message per text type; the check-in text is fixed

Each event also has an SMS Notifications box: Enable SMS for this event, Enable reminder SMS, Organizer Phone: and Send Reminder Now. Reminders are checked every hour; each event's reminder goes out once, and again only if its start time changes or you click Send Reminder Now.

Works With

  • The Events Calendar (free)
  • Event Tickets (free): RSVPs and tickets sold with Tickets Commerce
  • Event Tickets Plus: WooCommerce tickets (the order's billing phone) and attendee "Phone" fields

Installation

  1. Install the SMSTunnel core plugin and link your phone: SMSTunnel → Quick Setup, then scan the QR code with the SMSTunnel app (Connections → Link with QR code)
  2. Install The Events Calendar, plus Event Tickets for RSVP and ticket texts
  3. Install this add-on. It's coming to WordPress.org; once it's there, go to Plugins → Add Plugin, search for SMSTunnel for The Events Calendar, then install and activate it
  4. Go to Events → SMSTunnel SMS to choose your texts

Requirements

  • WordPress 5.0 or higher
  • PHP 7.4 or higher
  • The Events Calendar
  • Event Tickets (free), for RSVP and ticket texts
  • SMSTunnel core plugin (installed and linked to your phone)
  • WP-Cron running (reminders and update texts use it)

Screenshots

Changelog

1.0.2

  • The phone number field appears on the RSVP form of current Event Tickets versions, including the new RSVPs in Event Tickets 5.30
  • Ticket confirmations for Tickets Commerce, sent once the order is completed
  • Update texts are sent when an event's date, time or venue changes
  • Saving an event no longer resets its reminder, and someone who books several places gets one text
  • "Not going" answers get no texts

1.0.1

  • Reminder fixes; phone numbers are checked and premium-rate numbers skipped

1.0.0

  • Initial release

Build it with an AI assistant

Copy this prompt into Claude, ChatGPT, Cursor or Copilot and replace the part in [brackets]. Don't paste your API key into the chat: the prompt doesn't need it.

Help me set up SMSTunnel texts for my events made with The Events Calendar in WordPress.

About SMSTunnel (https://smstunnel.io): my own apps and tools hand text messages (SMS) to my SMSTunnel account, and my own Android phone sends them from my own number, on my own SIM and plan. The phone runs the SMSTunnel app from Google Play (https://play.google.com/store/apps/details?id=io.smstunnel.app), signed in to my account.

What I want: [describe what should send a text, to whom, and when]

How it works:
- Plugins: SMSTunnel (core), the add-on "SMSTunnel for The Events Calendar" (coming to WordPress.org; once it is there: Plugins → Add Plugin, search its exact name) and The Events Calendar; RSVP and ticket texts also need Event Tickets.
- The SMSTunnel core plugin (https://wordpress.org/plugins/smstunnel/) links the site to my phone: SMSTunnel → Quick Setup, then I scan the QR code with the SMSTunnel app (Connections → Link with QR code) and approve on the phone. An API key works too: SMSTunnel → Settings → "Connect with API Key".
- Settings: Events → "SMSTunnel SMS". Switches: "Enable SMS Notifications", "RSVP Confirmation", "Ticket Purchase", "Event Reminder" (with "Send reminder [N] hours before event", 1 to 168, default 24), "Event Update", "Event Cancelled", "Organizer Notification" (with "Default organizer phone:"), "Check-in Notification" (fixed text). Each text type has its own message.
- Each event has an "SMS Notifications" box: "Enable SMS for this event", "Enable reminder SMS", "Organizer Phone:" and "Send Reminder Now".
- Placeholders: {event_name}, {event_date}, {event_time}, {event_end_time}, {event_location}, {event_venue}, {event_address}, {event_url}, {attendee_name}, {attendee_email}, {attendee_phone}, {ticket_name}, {site_name}, {site_url}.
- The add-on adds a required "Phone Number" field to the RSVP form. Ticket texts go to the number saved in the buyer's account or typed in an attendee "Phone" field (Event Tickets Plus). Reminders are checked every hour (WP-Cron), one per event. The cancellation text goes out when a published event is moved to the Trash.
- Numbers must start with + and the country code (spaces are fine). A local number with a leading 0 is skipped, one without + is read as if it began with a country code, and premium-rate numbers are always skipped. Each number gets its own text; texts are cut at 1600 characters. If my phone is offline, the texts wait and go out when it is back.
- For custom code, the core plugin has smstunnel_send_sms($phone, $message, $args = array()), with $args 'is_2fa' (sends through the sign-in code endpoint), 'order_id' and 'source'; it returns an array with 'success' and 'messageId', or 'error'. smstunnel_sanitize_recipient($phone) returns the number in international format, or '' when it is invalid or premium-rate.

Rules for your answer:
- Do not ask for my SMSTunnel password or API key and do not put a real key in your answer; I will not paste it in this chat.
- Phone numbers must be in international format (+ and the country code).
- Help me test it with my own number first.
- Only send texts people expect from me. No unsolicited texts.