Skip to main content
A sync trigger determines when a sync runs for a given domain mapping. Every domain mapping has a trigger, and that trigger controls both the timing and, for some domains, the scope of each sync.

Trigger types

Scheduled

A scheduled trigger runs syncs on a fixed cadence - for example, every hour, once a day at a specific time, or at any interval you define. This is the most common trigger type. Schedules are expressed as cron expressions, giving full control over frequency and timing.

Webhook

A webhook trigger runs a sync in response to an inbound event from an external system. When the configured endpoint receives a request, Twine starts the sync immediately. This is used for near-real-time integrations where the source system can push notifications when data changes. Not all source systems support outbound webhooks. Check the integration page for a specific system to confirm whether webhook triggers are available.

Manual

A manual trigger means the sync does not run automatically. It can only be started on demand - either from the Twine backoffice or via the API. This is useful for one-off syncs, testing, or migrations where you want full control over when data moves.

Date range (Time Report domain)

For domain mappings in the Time Report domain, the trigger also controls the date range that each sync covers. Because time reports are discrete records rather than entities with full history, Twine needs to know which time window to fetch. The date range can be configured in two ways:
ModeDescription
FixedA specific start and end date. Twine will always fetch records within this exact window.
DynamicA rolling window relative to the sync time - for example, the last 30 days, or the current month. The actual dates are computed at runtime each time the sync runs.
Dynamic ranges are the typical choice for ongoing syncs, since they automatically stay current without manual updates.