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:
- Structural engineer's revised GA drawings on a shared S3 folder
- Fabricator's updated workshop drawings on a project-specific HTTP endpoint
- Multi-page PDF updated in a cloud storage bucket (AWS S3, Backblaze B2, etc.)
- Drawing submitted via a webhook from BIM 360 or Procore
Supported sources
| Source type | How 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
- Open an existing job in the pipeline and navigate to the Auto-Revision tab.
- Click Add a watcher.
- Select the source type: S3 bucket or HTTP URL.
- Enter the watch URL. For S3, this is the full object URL or a pre-signed URL. For HTTP, the direct PDF endpoint.
- Enter the routing token — a unique string that identifies your watcher and prevents unauthorised triggers.
- Set the poll interval: every 5, 15, 30, or 60 minutes (or webhook mode for immediate triggers).
- 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
- FrameAI polls the URL (or receives a webhook) and detects the ETag has changed.
- A new child job is created under the parent job, tagged as a revision.
- The pipeline runs on the updated PDF automatically.
- When complete, the results appear in the job's revision tree — click any revision to compare with the previous version.
- 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:
- New or removed members
- Changed profiles, grades, or spans
- New or failed utilisation checks
- Updated connection data
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.