Scripts
The Scripts section is where all written content begins its life. Writers create scripts, build out scenes in a spreadsheet-style editor, submit for qual review, and track status through to approval. Every scripted video in Heliconflow starts here.
Create a script
Page intro text: Every new piece of scripted content starts here. You pick a client, choose a format, set up your starting rows, and the script is created in I/P (In Progress) status ready to write.
Features
New Script button + modal
Opens the script creation modal. Available to all logged-in users.
Client selector
Picks which client/project this script belongs to. The format options in the next field are filtered to what that client allows.
Format selector
Choose from Skit, TH (Talking Head), AI, Mockumentary, or Recipe — only formats allowed for the selected client are shown. Note: TH format is blocked for Cooking clients (Recipe clients must use the Cooking Video Card flow instead). Who can use it: All roles.
Starting row count
Sets how many blank scene rows the new script begins with. Range: 1–400.
Import from CSV
Pre-populates the new script's rows from an uploaded CSV whose column headers match the chosen format template. If headers don't match, you'll see "No valid rows found."
Download template
Downloads a blank CSV with the correct column headers for the chosen format — use this to prepare a bulk import.
Assign writer
Creates the script owned by a different writer instead of the creator. The script name uses the assigned writer's initials.
Script auto-naming
The system automatically builds the script name in this format: [ClientInitials]-[Title]-V[#]-[WriterInitials]. Recipe format scripts get -P1 appended to indicate Phase 1.
Script editor
Page intro text: The script editor is a spreadsheet-style table where you build out your scenes. It supports most of the interactions you'd expect from Google Sheets — cell editing, drag-to-reorder, copy/paste, colors, and more — plus Heliconflow-specific features like qual notes, version history, and the Clio AI assistant.
Toolbar
Back to Scripts / Back to Video Card
Leaves the editor, flushing any unsaved edits first. If you arrived from a Video Card, the back button returns you there.
Rename script
Edit the script name inline in the header. Available to: Admin, Power User, the script's own writer. Read-only title for everyone else.
Save status indicator
Shows the live save state: Saving… / Unsaved… / Saved [time] / retrying / too-large blocked / large-deletion blocked. On failure, offers Retry, Reload Latest, or Save Anyway.
Copy Link
Copies a direct URL to this script (/scripts?script=[id]) to your clipboard. Works for all roles — useful for sharing internally.
Share panel
Creates public read-only share links to this script. Each link can be copied and sent to anyone — no Heliconflow account required to view. Lists existing links with view counts. Deactivation available to Admin, Power User, or the link's creator.
Print PDF
Opens a print-ready browser window of the script table — markdown rendered, colors preserved, empty rows excluded. Use your browser's Save as PDF option to download.
Export Word
Downloads the script as a .doc Word file with a formatted table. Markdown is rendered, links included.
Export CSV
Downloads the script's scenes as a CSV file. Markdown formatting is stripped. Includes a Production Notes column if the script is Approved.
Find & Replace (Ctrl/Cmd+H)
Opens a modal to find and replace text across all script cells. Supports Replace (current match) and Replace All.
Font size −/+
Adjusts the editor text size from 8–24px. Your preference is saved per script.
Reset Columns
Restores all column widths to their defaults.
Bold / Italic / Underline (Ctrl+B / Ctrl+I / Ctrl+U)
Wraps the currently selected text in markdown bold, italic, or underline markers. Only active when a cell is focused.
Clio assistant drawer
Opens or closes the Clio AI assistant in a side drawer scoped to this script. Clio can search the asset library, answer questions about the app, and look up production data.
Copy Selection (cross-script clipboard)
Copies your currently selected cells or rows to a persistent cross-script clipboard (plus your system clipboard as TSV/HTML). This clipboard works across different scripts and browser tabs — you can copy rows from one script and paste them into a completely different one. Button appears only when a selection exists.
Paste Copied (cross-script clipboard)
Pastes the cross-script clipboard into this script. Cell block pastes as an overlay; row pastes insert new rows. If pasting rows across different script formats, a warning modal appears. Available to editable roles only; shown only when the app clipboard has content.
Scene table — cells
Cell single-click
Selects a cell (active border) without entering edit mode.
Cell edit entry
Enter edit mode by: double-clicking, pressing F2, pressing Shift+Enter (cursor at end), or typing a printable character (overwrites existing content).
Cell text edit + autosave
Type in any cell and your changes save automatically 2 seconds after you stop. The save uses an operation-based merge system so if two people are editing the same script simultaneously, their changes to different cells are combined — no overwriting. If two people edit the exact same cell, a conflict banner appears and your version is kept.
Cell autocomplete
As you type 2 or more characters in a cell, suggestions appear based on values already used in other rows of the same column. Accepts with Enter, Tab, or click. Available for scripts under 200 rows.
Escape to revert
Press Escape while editing a cell to restore its previous value.
Keyboard navigation
Use Arrow keys, Tab, Shift+Tab, and Enter to move between cells. Pressing Enter on the last row in the table adds a new row.
Multi-cell range selection
Click and drag across cells, or Shift+click, to select a rectangular block of cells.
Non-contiguous selection
Ctrl/Cmd+click individual cells to build a selection of scattered cells.
Cut / Copy / Paste (Ctrl+X / Ctrl+C / Ctrl+V)
Standard clipboard operations in TSV format. Paste fills cells starting from the focused cell.
Fill down (Ctrl+D)
Copies the value from the cell directly above into the currently focused cell.
Autofill drag
Drag the small handle at the bottom-right of a focused cell downward to fill subsequent rows with a detected pattern — numeric progressions (1, 2, 3…), "Scene N" sequences, or repeating cycles.
Move-drag cell content
Grab the top strip of a focused cell and drag to move its content to another cell or range.
Cell color
Apply a background highlight color to a cell, a selected range, or a non-contiguous selection. Also available via right-click menu.
Row color
Apply a background color to an entire row using the colored strip in the row gutter.
Insert cell link
Attach a labeled hyperlink to a cell — click the link icon, enter display text and URL, and save. Available in link-eligible columns.
Remove cell link
Click the × next to an attached link to remove it.
Auto-rendered URL links
If a cell contains a raw URL, it automatically renders as a clickable "↗ Open link" below the cell — visible even to read-only users.
Move row up/down (Shift+ArrowUp / Shift+ArrowDown)
Swaps the current row with its neighbor while editing a cell.
Per-scene Qual Notes column
A dedicated notes column for reviewers to leave feedback on individual scenes. Always visible and editable by Qual Reviewers, Admins, and Power Users. Visible to the script's own writer only when status is Needs Revision — editable by the writer in that state to respond.
Row operations
Gutter row select
Click the # gutter column to select a whole row. Shift+click for a range, Ctrl/Cmd+click for individual rows, or click-drag to select multiple.
Drag to reposition rows
With rows selected, drag them to a new position in the script. A floating chip shows "Moving N rows" while dragging.
Add scene row
Click "+ Add scene row" at the bottom of the table, or press Enter/Tab at the last row, to append a new empty row.
Import CSV (in editor)
Replaces all current rows with rows parsed from an uploaded CSV. If the script already has content, a confirmation is required.
Paste from spreadsheet
Replaces all rows with content pasted from Google Sheets or Excel. Preserves cell colors and links if the source uses HTML format; falls back to plain TSV.
# select-all
Click the "# " header cell in the top-left corner to select the entire script. A toolbar appears offering whole-script copy and paste with Google Sheets/Excel compatibility.
Move selected block up/down
With rows selected, use the "↑ Move Up" / "↓ Move Down" buttons to shift the block one position.
Delete selected rows
With rows selected, click "Delete N rows ×" and confirm. At least one row is always kept. One undo step.
Undo, concurrent editing, version history
Undo / Redo (Ctrl+Z / Ctrl+Shift+Z)
Steps backward or forward through body edits, up to 50 steps. Works when focus is outside a textarea (inside a textarea, the browser's native undo applies).
Concurrent editing
Multiple people can edit the same script at the same time. Changes are merged every 5 seconds in the background. If two people edit the exact same cell, a dismissible banner appears: "N cells also edited elsewhere — yours was saved."
Large-deletion guard
If a save would delete most of the content in a substantial script (stale-copy protection), the save is blocked and a backup version is created. You can choose to Reload Latest (get the server version) or Save Anyway (force your version, which is audited as a deliberate deletion).
View version history
Expand "▼ Version History" to see a list of saved body snapshots — autosave checkpoints, manual saves, paste events, status-stage saves, pre-restore backups, and pre-deletion backups. Each entry shows who saved it and when.
Restore a version
Click "Restore" on any version to revert the script body to that snapshot. Your current body is automatically saved as a "Before restore" backup first.
View activity log
Expand "▼ Activity Log" to see the script's full audit trail — created, submitted, approved, sent back, backburnered, restored, content edits, and deletions — in chronological order.
Status transitions and qual review
Script status reference
| Status | Meaning |
|---|---|
| I/P (In Progress) | Being written — the default state |
| Needs Review | Submitted — waiting for a qual reviewer |
| Needs Revision | Sent back — writer must address reviewer notes |
| Approved | Passed qual — production cards auto-created |
| Backburner | On hold — not in active review |
Transition features
Submit for Review
Moves the script to Needs Review. A body snapshot is saved.
Approve
Approves the script. Live and/or AI production cards are automatically created based on the client's production track. Skit scripts seed a Talent Assignment List with characters.
Send back for Revision
Returns the script to Needs Revision.
Back to I/P
Returns a Needs Revision or Backburner script to In Progress. No notification sent.
Backburner
Parks the script from any active status.
Approved-exit warning
Moving an Approved script to any other status permanently deletes its Live/AI video cards and any posting scheduler slots. A confirmation modal appears — you must confirm before the transition runs.
Delete script
If any associated video has been posted, the script is soft-archived (hidden but preserved). Otherwise, it is permanently deleted along with its video cards and scheduler slots.