Documentation Index
Fetch the complete documentation index at: https://slatehq.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Track Content Update block writes an entry to Slate’s Content Updates ledger from a workflow run. Use it when a workflow ships content to a destination Slate does not natively detect — for example, a custom CMS, a static site generator, or a sheet-driven publishing flow — and you still want the update to appear in Update History and in reporting. For Webflow or WordPress publishing, the Webflow block already records updates automatically. Use this block when you need explicit, custom control over what gets logged.Configuration
Page URL
The canonical URL of the page being published, refreshed, or drafted. This field supports placeholders, so you can pass a URL produced by an earlier step:Update Type
Choose what kind of event to record.| Option | Meaning |
|---|---|
| Publish | A new page went live |
| Refresh | An existing page was updated |
| Draft | The page was saved but not yet live |
Metadata
Optional JSON object merged into the entry. Use it to record context that downstream blocks or reports may want to read. Example:workflow_id, step_id, block_type, and node_id. You do not need to set these.
Metadata must be a JSON object. Arrays and primitive values are rejected.
Output
The block returns acontent_update object you can reference in later steps:
| Field | Description |
|---|---|
content_update.event_id | Unique ID for the recorded event |
content_update.daily_update_id | ID of the daily rollup row, if applicable |
content_update.state | Current state of the entry |
content_update.deduped | true if the event matched an existing entry and was not duplicated |
content_update.url | The URL that was recorded |
content_update.update_type | publish or refresh |
content_update.is_draft | true if the entry is a draft |
content_update.occurred_at | The recorded event timestamp |
content_update.metadata | The metadata object, including reserved fields |
How it appears in Update History
Entries created by this block show up in the Pages > Update History tab with:- Source column:
Workflow, followed by the workflow’s name (for example,Workflow · Weekly Refresh). - Date of update column: the timestamp when the block ran, unless you pass a different value through metadata.
Examples
Log a refresh after rewriting a page
Run an LLM block to rewrite a page, push the new HTML to your CMS with a Call API block, then track the result.- LLM block — generate the new content.
- Call API block — POST the content to your CMS.
- Track Content Update block:
- Page URL:
{{step_1.output.url}} - Update Type: Refresh
- Metadata:
{ "rewrite_model": "claude-sonnet-4-6" }
- Page URL:
Record drafts from a sheet-driven workflow
When you queue pages in a Slate Sheet and a teammate reviews each draft before publishing, log the draft state from the workflow:- Loop block — iterate over sheet rows.
- Track Content Update block:
- Page URL:
{{loop.item.url}} - Update Type: Draft
- Metadata:
{ "reviewer": "{{loop.item.reviewer}}" }
- Page URL:
Branch on deduplication
If you re-run a workflow on the same URL on the same day, the block deduplicates instead of creating a second entry. Use thededuped flag to skip work in later steps:
Tips
- Use canonical URLs (no tracking parameters) so entries match across workflow runs and manual logs.
- Pass a value from an earlier step into Page URL rather than hardcoding it — this keeps the block reusable across pages.
- If your workflow publishes to multiple URLs, wrap the block in a Loop and pass each URL through.
What’s next
- Content Updates — view and manage entries in the ledger
- Webflow block — publish to Webflow with automatic update tracking
- Loop block — track multiple URLs in one run
- If/Else block — branch on the
dedupedflag