> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zylon.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Sync

> Configure the scheduled integration sync task

The sync task keeps integration-backed knowledge base content up to date by checking connected external sources and updating the synced content in Zylon when source content is added, changed, or removed.

Use this task when you want content from [SharePoint](/en/operator-manual/knowledge-base/sharepoint), [Confluence](/en/operator-manual/knowledge-base/confluence), [File System](/en/operator-manual/knowledge-base/file-system), [Claromentis](/en/operator-manual/knowledge-base/claromentis), or other supported integrations to stay fresh without manual resyncs.

## Default configuration

By default, scheduled integration sync is disabled. When enabled, the default schedule is daily at `01:00`. If `timezone` is not set, Zylon uses the server machine's default timezone.

```yaml theme={null}
integration:
  sync:
    enabled: false
    cron: "0 1 * * *"
```

## Configuration example

Edit `/etc/zylon/zylon-conf.yaml`, then apply the change with `sudo zylon-cli sync`.

```yaml theme={null}
integration:
  sync:
    enabled: true
    cron: "0 1 * * *"
    timezone: "Europe/Madrid"
```

`enabled` turns the scheduled sync on or off. `cron` defines when it runs, and `timezone` optionally defines which timezone is used to interpret that cron expression. If `timezone` is omitted, the server machine's default timezone is used.

<Tip>
  We suggest setting an [IANA timezone](#timezone-values) that matches your company's timezone.
</Tip>

## Accepted cron and timezone values

### Cron values

Cron schedules use a 5-part format:

```text theme={null}
minute hour day-of-month month day-of-week
```

Use values in these ranges:

| Field        | Accepted values |
| ------------ | --------------- |
| Minute       | `0-59` or `*`   |
| Hour         | `0-23` or `*`   |
| Day of month | `1-31` or `*`   |
| Month        | `1-12` or `*`   |
| Day of week  | `0-6` or `*`    |

Examples:

* `0 3 * * *` runs every day at 03:00
* `30 2 * * 1` runs every Monday at 02:30

### Timezone values

`integration.sync.timezone` is optional. If it is not set, the sync cron runs in the server machine's default timezone.

When you set `integration.sync.timezone`, use a valid IANA timezone identifier. Common examples include:

* `UTC`
* `Europe/Madrid`
* `America/New_York`
* `America/Los_Angeles`
* `Asia/Tokyo`
* `Pacific/Auckland`
* `Africa/Johannesburg`

For a practical list of IANA timezone identifiers, see [IANA Time Zones](https://datetime.app/iana-timezones).

## Execution and failure handling

A scheduled sync run checks active integration content and may call external APIs, download content, create or remove synced knowledge base content, trigger ingestion, and emit sync completion messages.

If one sync target fails, the error is logged and the task continues with other targets. The next scheduled run tries again.
