Bind a site collection, map typed fields, resolve stable entry identity, save a draft or published record, mirror images, and preserve concurrent versions.
Where: Flowgen -> Add -> Web & Apps -> Save a Page
Before you start
- A Website with a site identity and at least one collection.
- Permission to write site content.
Key ideas
- Bind the site and collection first: Connect Website and sync its collections. Select the collection by its readable schema; manual project and collection ids remain Advanced fallback controls, not the normal front door.
- Upsert avoids duplicates: An explicit Address/slug wins. Otherwise Made from/source URL becomes a stable fingerprint so rerunning the same ingestion updates the prior entry instead of appending another.
- Wires win over the form: Every unwired field can be typed on the card. A connected per-field socket wins, and a per-field value wins over the same key in All fields at once.
- Draft is the safety default: When it is saved defaults to Draft. A readable status_in value can select Draft/Preview or Published/Live; an unrecognized word is ignored with a visible warning rather than causing an accidental live write.
- Save a Page card: CmsUpsertNode uses the authored shared-card path. Create or update one typed CMS entry while preserving identity and versions.
- Properties sidebar: Card-owned collection controls; common properties shell
- Opened surfaces: Collection/field binding; entry result preview
Steps
- Connect Website to doc_in and sync collections from it; choose the target collection.
- Map Address, Made from, Search & sharing, All fields at once, and any generated typed field sockets. Fill unwired fields directly on the card when useful.
- Choose Draft or Published. For automation, connect a readable status word to status_in.
- Run once and inspect the returned path, entry JSON, image count, and actual draft/live state.
- Rerun with the same slug or source URL to update the same entry. If a conflict is reported, review and retry instead of assuming another person’s version was overwritten.
Static inputs
- Website / doc_in.
- Address / slug_in.
- Made from / source_url_in.
- Search & sharing / seo_in.
- All fields at once / fields_in.
- When it is saved / status_in.
Dynamic fields and precedence
- Each collection field becomes a typed cf_<fieldId>_in socket up to the card cap.
- fields_in accepts JSON keyed by field id or readable name.
- Specific cf_ socket > fields_in > manual form value.
- Overflow schema fields remain addressable through fields_in.
Write behavior
- Explicit slug > source URL fingerprint > prior resolved entry identity.
- Images referenced by the entry are mirrored into the site’s own storage.
- Writes use compare-and-swap entry versions.
- A prior version is archived.
- A concurrent conflict is reported and preserves the other person’s change.
Outputs
- The entry / json_out: serialized written record.
- Where it lives / text_out: /basePath/slug.
- The card also reports the number of mirrored images and the actual saved status.
Save a Page controls and presets
- Add path: Flowgen → Add → Website → Save a Page.
- Card: CmsUpsertNode.
- Properties: Card-owned collection controls; common properties shell.
- Controls: Website; Collection; Address; Made from; Search & sharing; Dynamic fields; Draft/Published.
- Opened surfaces: Collection/field binding; entry result preview.
Tips
- Use source_url_in for dependable daily imports when the source page has no trustworthy slug.
- Keep imported records Draft until review, then switch the same flow to Published.
- Use Items iteration for many entries; Save a Page intentionally has no rows_in ambiguity.
Limitations and important notes
- The node writes one entry per run.
- It does not render the page template or publish the whole site.
- The website/site identity and collection schema must be resolvable.
- A live/published status is an external content change.
Troubleshooting
The collection list is empty
Connect the Website document, make sure it has collections, then sync again. Use Advanced ids only when the readable binding cannot be recovered.
The run created a duplicate
Connect a stable slug or the original source URL on every run; those values define upsert identity.
A live wire did not publish the entry
Use one of the recognized words: live/published or preview/draft. Invalid text is intentionally ignored.