Escribal
Back to Docs

Markdown

Tables

This group builds and edits pipe tables in a Markdown document: create a new table, add or remove rows and columns, and set the alignment of a column. Insert Table appends a brand-new table at the end of the document; every other instruction works on the last table currently in the document.

Prerequisite: the workflow must already have a Markdown document created (with Create Markdown) or opened. Every instruction here works on that open document.

These concepts recur across the instructions in this group; they are explained here once.

  • Document: indicates which document in the workflow the instruction applies to. If left empty, the current document is used. If the document doesn’t exist (or is not a Markdown/text document), the instruction simply does nothing.

  • The “last table”: the editing instructions (Add Row, Add Column, Remove Row, Remove Column, Set Column Alignment) automatically find the last pipe table in the document and work on it. If the document has no table (or only a partial one without its header/separator lines), those instructions do nothing. Insert Table is the exception — it creates a new table, which then becomes the last table for the instructions that follow.

  • Rows and columns are numbered from 1. For rows, 1 is the first data row — the header row is never counted and never removed. For columns, 1 is the first (leftmost) column. An index outside the table’s range does nothing.

  • Pipe-separated fields: Headers and Cells take several values in one field separated by the | character (for example Name|Age|City). Each value becomes one cell.

  • Dynamic values @name: the text fields (Headers, Cells, Header, Default value, Alignment) accept a saved value: type @ followed by its name and the engine substitutes the value at run time. This does not apply to the numeric fields.

  • “From variable” fields: the numeric fields (Extra columns, Row number, Column number) each have a companion “from variable” field:

    • If you leave it empty, the value typed in the normal field is used.
    • If you fill it in with the name of a saved value, the engine ignores the normal field and reads the value from that variable.

    This is mainly for chaining instructions (for example, an earlier instruction saves a row count that Remove Row then reads as its index). If you only work with fixed values, you can ignore it.

  • Saving a result: none of the instructions in this group saves anything; they all change the document.

Add Column .md

Adds a new column to the last table, with a header name and an optional value placed in every data row.

When to use it: to widen an existing table with one more column.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Header The new column’s header text (accepts @name) New Column Yes
Default value Value written into every existing data row (accepts @name) (empty) No

Important behavior: if Header is empty, nothing happens (a column with no name could not be referred to afterwards). Otherwise the column is appended on the right: the header cell gets Header and each existing data row gets Default value. The new column starts with no explicit alignment (displays left). If the document has no table, nothing happens.


Add Row .md

Adds a data row to the last table, with pipe-separated cell values.

When to use it: to append a row of data under an existing table’s header.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Cells The row’s cell values, separated by | (accepts @name) (empty) Yes

Important behavior: if Cells is empty, nothing happens (no blank row is appended). Otherwise the values are matched to the table’s columns left to right: if you supply fewer values than there are columns, the remaining cells are left empty; if you supply more, the extra values are dropped. If the document has no table, nothing happens.


Format Cell Text .md

Formats the text of one cell of the last table: bold, italic, and strikethrough.

When to use it: to highlight a header or a total after filling the table with Set Table Cell. Markdown writes the character format around the text (**bold**, *italic*, ~~struck~~), so those three are all there is: color, typeface, and size do not exist in this format and are not offered — for those, use the DOCX, PPTX, or PDF version.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Row number Row of the cell — row 1 is the header, so 2 is the first data row 2 No
Column number Column of the cell (starts at 1) 1 No
Bold true turns it on, false turns it off, empty leaves it as it is (empty) No
Italic true turns it on, false turns it off, empty leaves it as it is (empty) No
Strikethrough true turns it on, false turns it off, empty leaves it as it is (empty) No
Row number (from variable) Reads the row position from a saved value (empty) No
Column number (from variable) Reads the column position from a saved value (empty) No

Important behavior: it acts on the last table in the document. The marks already in the cell are read first, so applying the same format twice does not double them and an attribute left empty really leaves the cell alone. An empty cell has nothing to format. A mark that is not wrapping the whole cell (*a* and *b*) is left alone as plain text. A row or column that doesn’t exist is not an error: the instruction does nothing.


Get Table Cell .md

Saves the content of one cell of the last table.

When to use it: to take a value out of a table and use it later in the workflow.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Row number Row to read, counting from 1. Row 1 is the header, so 2 is the first data row 2 No
Column number Column to read, counting from 1 1 No
Row number (from variable) Reads the row from a saved value (empty) No
Column number (from variable) Reads the column from a saved value (empty) No
Save text key Name to save the content under (empty) No

Important behavior: this instruction reads only. A row or column that does not exist saves nothing, so the value keeps whatever it had.


Insert Table .md

Creates a new pipe table with the given header names, plus optional extra columns, and appends it to the end of the document.

When to use it: to start a new table; follow it with Add Row to fill in data.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Headers Column header names, separated by | (accepts @name) Column 1|Column 2 No
Extra columns Number of additional, auto-named columns to add 0 No
Extra columns (from variable) Reads the extra-column count from a saved value (empty) No

Important behavior: each name in Headers becomes a column; any Extra columns are added after them and auto-named Column 3, Column 4, and so on. The table always has at least one column. It is created empty — just a header row and its separator, with no data rows yet. If Headers resolves to empty, nothing happens. The new table becomes the “last table” for the editing instructions.


Iterate Rows .md

Publishes the rows of the last table into a variable, so a For Each can walk them one by one.

When to use it: to read a table already written in the document and do something per row.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Save key Name of the variable that receives the rows. Empty = the instruction does nothing useful (empty) No
Save count key Name of the variable that receives how many rows there are (empty) No

A pipe table always has a header row — it is part of the format — so there is nothing to choose here: row 1 names the fields and the turns start at the first data row.

Important behavior: the turns are a copy taken when the instruction runs: what the loop walks does not change if the body edits the document. To leave a result back in the row, write it by position — the Index of the For Each feeds the “(from variable)” field of the writing instruction. In this format that instruction is Set Table Cell, whose Row number (from variable) takes the loop’s index; remember that row 1 is the header, so a data row is the index plus one.


Remove Column .md

Removes a column from the last table by its 1-based position.

When to use it: to drop a column you no longer need.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Column number Which column to remove (1 = first/leftmost) 1 No
Column number (from variable) Reads the column number from a saved value (empty) No

Important behavior: the whole column — its header and every data cell, plus its alignment — is removed. If the number is outside the table’s columns, or the document has no table, nothing happens.


Remove Row .md

Removes a row from the last table by its number.

When to use it: to delete one row of data.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Row number Which row to remove. Row 1 is the header, so 2 is the first data row 2 No
Row number (from variable) Reads the row number from a saved value (empty) No

Important behavior: rows are counted from 1, and row 1 is the header — a table without a header stops being a table, so asking to remove row 1 does nothing. If the number is outside the table, or the document has no table, nothing happens.


Set Column Alignment .md

Sets the text alignment of a column in the last table by its 1-based position.

When to use it: to left-, center- or right-align the values in a column.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Column number Which column to align (1 = first/leftmost) 1 No
Alignment left, center or right left No
Column number (from variable) Reads the column number from a saved value (empty) No

Important behavior: the alignment is shown in the table’s separator line (:--- for left, :---: for center, ---: for right). Any value other than left, center or right falls back to left. If the number is outside the table’s columns, or the document has no table, nothing happens.


Set Table Cell .md

Writes one cell of the last table in the document.

When to use it: to fill a table cell by cell, or to update a total after the rest of the workflow has run.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Row number Row to write, counting from 1. Row 1 is the header, so 2 is the first data row 2 No
Column number Column to write, counting from 1 1 No
Text New content of the cell. Supports @name (empty) No
Row number (from variable) Reads the row from a saved value (empty) No
Column number (from variable) Reads the column from a saved value (empty) No

Important behavior: an empty text empties the cell — the value is the content, so there is nothing to protect here. A row or column that does not exist does nothing. A | in the text is escaped so it cannot break the row, and a line break becomes a space: a Markdown table row is one line.


This documentation is the help of the application, and it comes underCreative Commons Attribution 4.0.