> For the complete documentation index, see [llms.txt](https://guide.cal.gov.sg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide.cal.gov.sg/creating-an-event/creating-a-recurring-event.md).

# Creating a recurring event

Set up a recurring schedule, from availability to confirmation email.

A recurring event repeats on a set schedule, like weekly clinic slots or standing office hours, rather than happening just once.

If you're setting up something like a:

* weekly clinic or counselling slot
* recurring facility booking
* standing walk-in session or office hours,

...or anything similar, this is the right track.

{% hint style="info" %}
If your event only happens once instead, like a one-time workshop or a briefing tied to a single, specific date, head to [Creating a one-off event](/creating-an-event/creating-a-one-off-event.md) instead.
{% endhint %}

<figure><img src="https://4190282872-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fr5klfvFh6PcP2MuvKahW%2Fuploads%2FMShGGnzPcCmobhXkkPLU%2Fcalsg%20recurring%20vs%20one%20time.png?alt=media&amp;token=e003faea-21ee-4f35-9b3b-d6ba5b9ab3bd" alt=""><figcaption></figcaption></figure>

## Steps

{% stepper %}
{% step %}

#### Add an event title

Give your event a clear title so attendees know what they're signing up for before they book.

<figure><img src="https://4190282872-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fr5klfvFh6PcP2MuvKahW%2Fuploads%2F61mpJSvBCYeV4XH0mbWQ%2FCleanShot%202026-07-21%20at%2017.43.33%402x.png?alt=media&amp;token=f59ff0b5-79dd-4755-8d2b-434643574dac" alt=""><figcaption></figcaption></figure>

{% endstep %}

{% step %}

#### Add a description

Provide any information attendees need before booking a slot, such as the purpose of the event and any other relevant details.&#x20;

<figure><img src="https://4190282872-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fr5klfvFh6PcP2MuvKahW%2Fuploads%2FCDd9MQaJJfFaJxxtNiIr%2FCleanShot%202026-07-21%20at%2017.46.02%402x.png?alt=media&amp;token=a233d8f8-48f7-458b-8c7b-978926dfc7fb" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Set booking limits

Click **Booking rules**.

Control how many people can book each slot, and how soon before the session people can still register.

<figure><img src="https://4190282872-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fr5klfvFh6PcP2MuvKahW%2Fuploads%2FdxQjw7vxV4YagjEnvR9w%2FCleanShot%202026-07-21%20at%2018.45.01%402x.png?alt=media&amp;token=e20a899b-ab9e-4ba6-86ec-f979e84395a2" alt=""><figcaption></figcaption></figure>

You can also control how far in advance booking opens by setting a fixed date range, so bookings are only accepted within a specific start and end date.

<figure><img src="https://4190282872-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fr5klfvFh6PcP2MuvKahW%2Fuploads%2FRSxFWi6dKvJUJKyMkxrE%2FCleanShot%202026-07-21%20at%2018.54.45%402x.png?alt=media&amp;token=9a64a7cc-2924-4ca8-83e7-cdc91f76cd93" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Set your availability

Click on the **Availability** tab on the far left to set the date, time, and slot duration for your session.

<figure><img src="https://4190282872-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fr5klfvFh6PcP2MuvKahW%2Fuploads%2FOYhO8sKXdsqqYs9gu1DD%2FCleanShot%202026-07-21%20at%2017.50.51%402x.png?alt=media&amp;token=282cc4c1-d6c5-4fae-b73f-654945e8a860" alt=""><figcaption></figcaption></figure>

Block out any windows where you're not available, so no slots are offered during those times.

<figure><img src="https://4190282872-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fr5klfvFh6PcP2MuvKahW%2Fuploads%2Fa9H9lLfoehWcez1SjP7i%2FCleanShot%202026-07-21%20at%2017.52.55%402x.png?alt=media&amp;token=104b6ac9-186a-46c8-9cd3-e77dbf158bc6" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Blocking a date doesn't cancel existing bookings.**

If attendees already booked a slot before you marked it unavailable, their booking stays active. You'll need to contact them directly to reschedule or cancel.
{% endhint %}
{% endstep %}

{% step %}

### Add screening questions

Customise the questions attendees answer at registration if you need more than just their name and contact details.

<figure><img src="https://4190282872-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fr5klfvFh6PcP2MuvKahW%2Fuploads%2FxGW1Ykla2vm5ZUpK2fE6%2FCleanShot%202026-07-22%20at%2016.32.50.gif?alt=media&amp;token=791292e6-2320-4a24-bf91-97f67d059e24" alt=""><figcaption></figcaption></figure>

{% endstep %}

{% step %}

### Customise the confirmation email

Click **Email confirmation**. Edit the subject line, sender name, and the message attendees see once they've booked.

<figure><img src="https://4190282872-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fr5klfvFh6PcP2MuvKahW%2Fuploads%2Fy7lGjd0lKYoyeWaIs2AB%2FCleanShot%202026-07-22%20at%2016.45.39%402x.png?alt=media&amp;token=080f45bd-5ade-4f6a-8a53-67ffffa1dea2" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
You can also choose to include a copy of the attendee's form responses in the email, and preview exactly what they'll receive before saving.
{% endhint %}
{% endstep %}

{% step %}

### Share your event link

Before sharing your event link to the public, please ensure your event is Open. (See: [Managing your event](/creating-an-event/managing-your-event.md#general) on how to Open/Close your event)

Click on the black 'Share' button on the top right corner of your event

<figure><img src="https://4190282872-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fr5klfvFh6PcP2MuvKahW%2Fuploads%2FgOPUDWKgftle2BEgez5s%2Fimage.png?alt=media&amp;token=63c9a708-8226-47cd-a846-75a342f21c21" alt=""><figcaption></figcaption></figure>

Click on the double square icon to copy the link to your event.&#x20;

Click on the black new tab icon to open the event in a new tab.

{% endstep %}
{% endstepper %}
