Sync Configuration
Once a data source is connected, Sync Configuration controls how and when data flows into AlchemOS Positive.
Accessing sync settings
Go to Settings → Integrations, click a connection, then open the Sync tab.
Sync frequency
| Mode | Description |
|---|---|
| Real-time | Data pushed by webhook as soon as available at source |
| Hourly | AlchemOS polls the source API every 60 minutes |
| Daily | Poll once per day at a configured time |
| Weekly | Poll on a specific day and time each week |
| Manual | Only syncs when you click Sync Now |
| Scheduled CSV | SFTP file picked up whenever a new file appears in the folder |
Set the sync mode from the Frequency dropdown. Not all modes are available for every connector type — SFTP and webhooks are always event-driven.
Data window
The data window defines which source records are fetched at each sync:
| Setting | Description |
|---|---|
| Lookback period | How far back each sync looks (e.g., last 7 days). Ensures late-arriving data is captured |
| Historical backfill | One-time initial sync of historical data. Set a start date; AlchemOS Positive fetches all records from that date |
| Cutoff date | Do not import records older than this date |
For the initial setup, run a Backfill sync to pull all historical data before switching to regular incremental syncs.
Conflict resolution
When an incoming record matches an existing entry (same subcategory, period_start, period_end, location):
| Policy | Behaviour |
|---|---|
| Skip (default) | Leave the existing entry unchanged |
| Update | Overwrite quantity and metadata; create revision record |
| Create duplicate | Allow multiple entries for same period (use cautiously) |
| Flag for review | Create the incoming record as a Draft with a conflict flag; human review required |
Unmapped data queue
If incoming data contains values that cannot be mapped to AlchemOS fields (e.g., an unrecognised location code or activity category), they are placed in the Unmapped Queue:
- Go to Settings → Integrations → Unmapped Queue
- Each item shows the source value and the field that could not be matched
- Options per item:
- Map to existing — select the matching AlchemOS value; adds a mapping rule
- Create new — create a new location, category or other record
- Ignore — permanently discard this value from future syncs
Resolved mappings are saved and applied to future syncs automatically.
Entry state on import
Choose what state imported entries are created in:
| State | When to use |
|---|---|
| Draft | Default; requires human review before approval |
| Submitted | Bypasses draft; ready for manager approval |
| Auto-approve | Approved immediately (high-trust data sources only; requires Admin permission) |
Error handling and retries
If a sync fails (network error, API rate limit, auth expiry):
- AlchemOS Positive retries 3 times with exponential back-off
- After 3 failures, the connection status changes to Auth Error or Sync Error
- An alert is sent to all Admins
View the full sync log for a connection at Settings → Integrations → → Sync Log:
| Column | Description |
|---|---|
| Run time | When the sync ran |
| Records fetched | Raw records retrieved from source |
| Entries created | New entries produced |
| Entries updated | Existing entries modified |
| Skipped | Records skipped (conflicts or filters) |
| Errors | Parse or validation errors |
| Status | Success / Partial / Failed |
Pausing sync
To temporarily stop data flow without deleting the connection:
- Open the connection → Sync tab
- Toggle Sync Active to off
- Save
Re-enable at any time. No data is lost during the paused period — when re-enabled you can trigger a manual backfill to pick up any missed records.