Tutorial 4 / 5

Auto-Revision Watcher

Connect an S3 bucket or HTTP URL to FrameAI. When a drawing is updated, FrameAI detects the change via ETag and triggers a new pipeline run automatically.

When to use Auto-Revision

During the design and coordination phase, structural drawings change frequently. Each revision requires a full re-check. Auto-Revision eliminates manual re-uploads — FrameAI watches your drawing source and kicks off a new run every time the file changes.

Typical use cases:

Supported sources

Source typeHow it works
AWS S3 FrameAI polls a pre-signed or public S3 URL and checks the ETag header on each poll. Any ETag change triggers a new run.
HTTP/HTTPS URL FrameAI issues an HTTP HEAD or GET request to the URL and monitors the ETag or Last-Modified header. Change triggers a new run.
Webhook (HTTP POST) FrameAI provides a routing token URL. Any POST to that URL with the correct token triggers an immediate run — no polling required.

Setting up a watcher

  1. Open an existing job in the pipeline and navigate to the Auto-Revision tab.
  2. Click Add a watcher.
  3. Select the source type: S3 bucket or HTTP URL.
  4. Enter the watch URL. For S3, this is the full object URL or a pre-signed URL. For HTTP, the direct PDF endpoint.
  5. Enter the routing token — a unique string that identifies your watcher and prevents unauthorised triggers.
  6. Set the poll interval: every 5, 15, 30, or 60 minutes (or webhook mode for immediate triggers).
  7. Click Save. FrameAI stores the watcher against the job and begins polling immediately.

Routing token. The routing token is a unique identifier for your watcher. Do not share it publicly — anyone with the token can trigger a re-run. Store it securely and regenerate it if you suspect it has been exposed.

What happens when a change is detected

  1. FrameAI polls the URL (or receives a webhook) and detects the ETag has changed.
  2. A new child job is created under the parent job, tagged as a revision.
  3. The pipeline runs on the updated PDF automatically.
  4. When complete, the results appear in the job's revision tree — click any revision to compare with the previous version.
  5. An email notification is sent to the job owner and all organisation engineers with access.

Revision diff

Each revision is stored as a new child job with a diff against its parent. The diff view (/jobs/:id/diff/:previousId) shows exactly what changed:

Disabling and removing watchers

To pause a watcher, toggle the Enabled switch on the watcher card. To remove it entirely, click the remove button on the watcher card. Disabling a watcher stops polling but preserves the watch configuration for future re-enablement.

Poll interval note. The default poll interval is 5 minutes. FrameAI uses the job_watchers table to track last-seen ETag and last_polled_at. Polling stops if the Render service is suspended — it resumes automatically when the service is active again.