# Advanced Scheduling

UbiQuity offers two advanced scheduling options for Automated Mailouts: event-based scheduling and personalised email scheduling. Both extend the standard recurrence options to give you more precise control over when emails are sent.

***

### Event-based mailout scheduling

Event-based scheduling triggers an Automated Mailout when a specific event occurs within UbiQuity. Currently, this is limited to triggering based on a completed API import with a custom tag.

This removes the need to build external processes to anticipate when an import will happen and then trigger a send afterwards. Instead, you import your contacts via API with a custom tag, and when the import completes, UbiQuity automatically triggers any activated Automated Mailouts that are configured to look for that tag.

**Example use case:** You want to send emails to customers at a time when call centre volumes are low. Import contact data via API at a quiet time, and any matching event-based mailouts will trigger automatically once the import finishes.

> **Note:** Event-based mailout scheduling requires setup by the UbiQuity team. Contact UbiQuity if you are interested in this feature.

#### Importing with a custom tag

To trigger an event-based mailout, your API import must include a custom tag. When the import is complete and the tag is processed, UbiQuity evaluates all activated event-based mailouts and triggers any that match the tag. See the UbiQuity API documentation for details on importing contacts with a custom tag.

#### Configuring an event-based mailout

Event-based scheduling is configured on the **Recurrence** screen of an Automated Mailout:

1. On the Recurrence screen, toggle **Do you want to send regular emails when an event happens within UbiQuity?** to active
2. Enter the custom tag that will be present in the API import

> The custom tag is case-sensitive and must be an exact match, including spaces.

Once activated, the mailout will trigger automatically whenever a matching API import is completed.

***

### Personalised Email Scheduling

Personalised Email Scheduling lets you send emails to individual contacts at a specific date and time stored in their database or transactional record. This allows you to personalise not just the content of an email, but when it is delivered.

For example, if you know a group of VIP contacts are most likely to engage with emails first thing in the morning, you can store their preferred send time in a database field and use that to schedule their emails individually — Contact A at 9:00am, Contact B at 9:30am — all from a single mailout.

> **Note:** UbiQuity will make every effort to deliver emails as close as possible to the scheduled time, but exact delivery cannot be guaranteed due to external factors such as system load and throughput.

> **Note:** Personalised Email Scheduling requires setup by the UbiQuity team. Contact UbiQuity if you are interested in this feature.

#### Requirements

* Personalised Email Scheduling can only be used as part of an Automated Mailout
* Your contact or transactional database must include a **Date and Time** field containing the desired send time for each contact
* Contacts without a complete Date and Time value will not be scheduled to receive an email

#### Configuring Personalised Email Scheduling

On the **Recurrence** screen of an Automated Mailout, select **Send emails using a date and time field to determine scheduling**. This enables the Personalised Email Scheduling configuration.

#### The 24-hour window

Personalised Email Scheduling operates on a 24-hour window. Each day at the configured **Scheduling Start Time**, UbiQuity schedules all filtered contacts whose Date and Time field value falls within the next 24 hours. Those contacts are then ordered and sent at their individual scheduled times.

> If the Scheduling Start Time is changed to run again later the same day, there is a risk of duplicate messages being sent to the same contact.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ubiquity.co.nz/documentation/channels/email/advanced-scheduling.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
