Timetable and Event Schedule

Estimated reading: 4 minutes

Timetable and Event Schedule by MotoPress helps you publish class schedules, gym timetables, and event calendars. Connect it to Advanced Form Integration (AFI) and AFI can act every time an event is created or updated. You can log every schedule change in Google Sheets, notify your team through a webhook or Slack, or sync event details into a CRM.

What You’ll Need

  • The Timetable and Event Schedule plugin installed and active.
  • Advanced Form Integration, free or Pro. This trigger works fully in the free version.
  • An account on the receiving platform, such as Google Sheets or Slack.

How to Create the Integration

  1. Go to AFI > Add New in your WordPress dashboard.
  2. AFI fills in a default Integration Title. Rename it to something clear, like “Timetable Events to Google Sheets”.
  3. In the Trigger section, select Timetable and Event Schedule from the Form Provider dropdown. The Timetable plugin must be active or the option will not appear.

AFI Trigger section with Timetable and Event Schedule selected as Form Provider

  1. In the Form/Task Name dropdown, choose Event Created/Updated. This is the only event for this provider.

Form/Task Name dropdown showing the Event Created/Updated option

  1. Under Action, select your receiver platform and connect the account.
  2. Map the event fields to the receiver fields with the tag picker.

Field mapping showing Timetable event fields matched to receiver fields

  1. Click Save Integration. Publish or update an event to test it.

Available Events

  • Event Created/Updated: fires when a Timetable event is published or an already published event is saved again. Autosaves, revisions, and drafts are ignored.

Fields You Can Send

Field Description
event_id The ID of the event.
event_title The event title.
event_slug The event slug.
event_status The post status of the event.
event_permalink The public URL of the event.
event_excerpt The event excerpt.
event_content The full event description.
event_subtitle The event subtitle.
event_color The event background color.
event_hover_color The event hover color.
event_text_color The event text color.
event_hover_text_color The event hover text color.
event_custom_url A custom URL set for the event.
event_disable_url Whether the event link is disabled, yes or no.
event_categories Event category names, comma separated.
event_category_ids Event category IDs, comma separated.
event_tags Event tag names, comma separated.
event_tag_ids Event tag IDs, comma separated.
event_featured_image The featured image URL.
event_created_at When the event was created.
event_modified_at When the event was last modified.
author_id The ID of the event author.
author_name The display name of the author.
author_email The email address of the author.
timeslot_count How many timeslots the event has.
instructor_ids Instructor user IDs, comma separated.
instructor_names Instructor display names, comma separated.
first_start_time The earliest start time across all timeslots.
last_end_time The latest end time across all timeslots.
timeslots_json All timeslots as a JSON string.
timeslots_plain All timeslots as readable text lines.
columns_json The timetable columns as a JSON string.
columns_plain The timetable columns as readable text lines.
post_id The underlying post ID, same as the event ID.

Conditional Logic Example

You can add a condition on event_categories so the integration runs only for events in the Yoga category. Yoga class updates reach your studio spreadsheet while other events are skipped. Conditional logic requires AFI Pro.

Troubleshooting

Timetable and Event Schedule is not in the Form Provider list

Confirm the Timetable and Event Schedule plugin is active. AFI detects the plugin before showing the provider.

The integration is not firing

The trigger only runs for published events. Drafts, pending events, autosaves, and revisions are skipped. Publish the event, or click Update on a published event, then check AFI > Log for the trigger record and the receiver response.

Timeslot fields arrive empty

Timeslot data comes from the slots you add on the event edit screen. If an event has no timeslots, fields like timeslot_count, first_start_time, and timeslots_plain will be empty. Add at least one timeslot and update the event.

Related Docs