Help center

Take 10 minutes.
Get hours back every week.

Short walkthroughs that turn the platform into your operations team: automated pipelines, instant follow-ups, AI-handled admin. One video, one less thing to do manually.

Data

Standalone Spreadsheets

Create spreadsheets from templates, import data via CSV or PDF (with optional auto-merge for contiguous rows), attach them to opportunities, and let clients populate them directly via a form field.

A Standalone Spreadsheet is a free-standing, editable grid you create directly in TrustPager — not tied to a CRM export query. Think of it as a structured table you design once (as a template) and then populate many times: once per opportunity, once per client, once per project.

Standalone Spreadsheets differ from Workspace Spreadsheets in one key way: a Workspace Spreadsheet reads CRM data into a grid; a Standalone Spreadsheet is a grid you write data into — manually, via CSV import, by extracting from a PDF, or by having a client fill it in through a form.

What admins can do

  • Create and manage Standalone Spreadsheet templates (column structure, field types, sort order)
  • Create populated spreadsheets from a template
  • Import rows via the CSV import wizard
  • Import rows from a PDF via a document mapper
  • Configure merge rules so imports auto-collapse contiguous-period rows
  • Attach spreadsheets to opportunities
  • Add a Spreadsheet field to a form so clients can fill in the grid

What any team member can do

  • Open a spreadsheet attached to an opportunity and edit cells directly
  • Add and delete rows
  • View submissions where a client filled in the spreadsheet via a form

Creating a template

Templates define the column structure every new spreadsheet will inherit. Go to https://app.trustpager.com/operations/spreadsheets and click New Template. Give it a name, then add columns.

Column types

Each column has a label and a type. The available types are:

  • Text — a single line of free text. Use for names, references, short identifiers.
  • Long text — a multi-line text area. Use for notes, descriptions, or anything that needs more than a sentence.
  • Number — a numeric value. Supports Sum and Average totals.
  • Date — a date picker. Stores a date and renders in the grid as a calendar input. Works as a sort key for default sort.
  • Dropdown — a fixed list of options. Each option can have a colour label (slate, amber, blue, green, red, and more) so status values stand out at a glance.
  • User — a team member picker. Pulls the list of users in your workspace so you can assign rows to a specific person. Useful for task ownership, accountability, and filtering work by assignee.
  • Contact — a CRM contact picker. Each cell links the row to a contact in your workspace. Search by name, email, or phone number; the cell then shows the contact's name as a chip (or their email address if the contact has no name set). Use this type when rows correspond to real clients or leads — for example, linking each line of an imported commission statement to the client it belongs to.
  • Opportunity — links the row to a CRM opportunity. Search by opportunity name or reference; the cell shows the opportunity name as a chip.
  • Checkbox — a true/false toggle.

Example: Tasks template

A good worked example is a Tasks template — a task tracker you create once and reuse across every opportunity. Here is how to configure it:

ColumnTypeNotes
TitleTextThe task name
AssigneeUserPicks from your team
Due DateDateUsed as the primary sort key
StatusDropdownTodo (slate), In Progress (amber), Completed (green), Blocked (red)
PriorityDropdownLow, Medium, High
NotesLong textFree-form detail

Once you have added your columns, click Sort in the template toolbar to set a default sort order — for example, Due Date ascending as the primary key, then Priority descending as a tiebreaker. Any spreadsheet created from this template opens with rows already in that order, so you never have to re-sort by hand after adding data.

Save the template. It now appears as an option whenever you create a new spreadsheet or wire a Spreadsheet field in a form.

Templates are intentionally hard to delete by accident. From the templates list at https://app.trustpager.com/operations/spreadsheets, deleting a template asks you to type its exact name to confirm — the same safeguard you will see when deleting a CRM pipeline or a workspace. From inside a populated spreadsheet, the trash icon on the only remaining spreadsheet under a template clears its rows instead of deleting the template itself. Template deletion is reserved for the list page, where the intent is explicit.

Configuring a column

Every column header in the spreadsheet editor shows a Bolt icon on its right side, next to the type badge. Click it to open the Column settings panel in the sidebar — this replaces the default "Add columns" form for as long as you are in that column's settings.

The Column settings panel lets you:

  • Rename the column — edit the column name inline at the top of the panel.
  • Change the type — use the type picker to switch between Text, Number, Date, Dropdown, and so on.
  • Add a description — an optional note visible to team members filling in the grid.
  • Configure options (Dropdown columns only) — the Options list shows each dropdown value with a colour swatch next to it. Click a swatch to open the colour palette and assign one of 11 colours: slate, red, orange, amber, yellow, green, teal, blue, indigo, purple, or pink. The chosen colour renders as a chip directly in the grid cell, so status values stand out at a glance.
  • Set a totals aggregate — choose Sum, Average, Count, or No total for the column footer row.
  • Archive the column — the Archive button sits at the footer of the panel. Archiving removes the column from the active grid without permanently deleting its data.

To return to the main sidebar, click ← Back to columns at the top of the Column settings panel.

The spreadsheet canvas sub-header

When you open a Standalone Spreadsheet at https://app.trustpager.com/operations/spreadsheets/standalone/<id>, the canvas sub-header (directly above the column headers) contains:

  • Left side — the linked-opportunity pill (if the spreadsheet is attached to an opportunity) and the row count (e.g. "Spreadsheet · 12 rows").
  • Right side — the Sort button and the Add row button. Add row uses TrustPager's gradient background to make it easy to spot.

Creating a populated spreadsheet from a template

From https://app.trustpager.com/operations/spreadsheets, click New Spreadsheet, choose a template, and give the spreadsheet a name. The grid opens with 12 visible rows — every cell is a real input you can type into straight away. Rows are not created until you start typing: entering data in row 5, for example, materialises rows 1 through 5 (with rows 1–4 left empty). Tabbing out of an empty cell without typing anything does not create a row. Data saves automatically as you go.

Column totals

Every column in the spreadsheet has a Σ TOTAL cell directly under its header. Click any cell to set a total for that column — a small picker offers four options:

  • No total — hide the total for this column (default)
  • Σ Sum — add all values in the column
  • Ø Average — average all values in the column
  • # Count — count non-empty rows

Pick one and the result computes live. Sum and Average are available on text and number columns only — they are disabled in the picker for boolean, date, dropdown, and reference column types. Count works on every column type except reference columns. Results are formatted in Australian locale with thousand separators and two decimal places — for example, 479,236.47.

To remove a total, click the cell again and pick No total.

Default sort order

Every template has an optional default sort that is applied whenever a spreadsheet based on that template opens. Set it from the Sort button in the template-edit toolbar at https://app.trustpager.com/operations/spreadsheets — pick up to three sort keys, each with a column and a direction (ascending or descending).

The Tasks template example above uses Due Date ascending as the primary key, then Priority descending as a tiebreaker — upcoming tasks surface at the top, and within the same due date, higher-priority work comes first.

If you are building automations or scripts that create templates programmatically, you can pass default_sort in the API body instead — see the API section below for the JSON shape.

Importing rows via CSV

From any open spreadsheet, click the Import button (to the left of the Columns tab) and choose Spreadsheet in the picker. A wizard opens — the same step-by-step flow used for pipeline imports:

  1. Upload your CSV (or XLSX / XLS) file.
  2. Map your file columns to spreadsheet columns.
  3. Preview the rows and confirm.

The wizard validates data before writing rows and handles encoding automatically.

Importing rows from a document (PDF)

If your data lives in a PDF — invoices, payment summaries, tax returns, anything structured — you can extract it directly into a spreadsheet without manual typing. From any open spreadsheet, click the Import button and choose Document in the picker. Pick one of your workspace document mappers, upload the PDF, and the extractor reads the file, shows you a preview of every row it found with a confidence score, and lets you skip individual rows before committing them to the spreadsheet.

Document mappers are template-aware: each mapper is configured to extract specific fields from a specific document type (for example, one mapper for ATO Payment Summaries, another for Centrelink statements). Mappers are currently set up per workspace by the FinalPiece team — reach out if you have a recurring document type you want extracted into a spreadsheet.

Merge contiguous rows automatically

Some workflows produce one row per period that really represents one continuous run — six years of payments from the same employer, twelve months of subscription charges from the same vendor, a year of weekly shift logs from the same site. A spreadsheet template can be configured with merge rules so imports collapse those into a single row, with the per-period values concatenated into a chosen column.

Merge rules need three things:

  • Group by — which columns identify the same thing (e.g. ABN + Payment Type)
  • Period columns — the start date and end date columns that define each row's range
  • Concatenated columns — which column(s) should accumulate values across the merged period, with a separator (e.g. join yearly amounts with a space, prefix the first value with "$ ")

When merge rules are set, importing the same row across multiple documents extends the matched row's period and appends the new value — same employer + same payment type + a new financial year contiguous with the existing range = one row, not two. Non-contiguous gaps stay as separate rows by design, so the extractor never has to guess about when one period ended and another began.

Merge rules are configured via the TrustPager API — see the JSON shape in the API section below.

Attaching a spreadsheet to an opportunity

Open an opportunity from https://app.trustpager.com/opportunities. In the opportunity detail panel, find the Spreadsheets section and click Attach Spreadsheet. Select an existing spreadsheet or create a new one from a template. Once attached, any team member can open and edit it directly from the opportunity.

Letting clients fill in a spreadsheet via a form

This is the killer use case for variable-row client data. Instead of asking a client to fill in a CSV and email it back, you embed a live spreadsheet grid directly inside a TrustPager form.

Here is how to set it up:

  1. Create a Standalone Spreadsheet template with the columns your client needs to fill in.
  2. Open the Form Builder at https://app.trustpager.com/operations/forms and add a Spreadsheet field to your form.
  3. In the field settings, choose the template you just created.
  4. Send the form to your client via the Send Form feature or a shared link.

When the client fills in the form, they see a live editable grid. They add rows, fill cells, and submit. On submission, TrustPager automatically creates a populated Standalone Spreadsheet from their input and links it to the opportunity. No CSV, no back-and-forth.

For more on the Spreadsheet field type and other form field options, see https://trustpager.com/help-center/build-send-forms.

For AI agents and developers

Standalone Spreadsheets are available via the TrustPager REST API. Authenticate with a key that has the appropriate scopes — see https://trustpager.com/help-center/api-access.

Required scopes: spreadsheets:read, spreadsheets:write, spreadsheets:delete

REST API endpoints:

  • GET /api/v1/spreadsheets/templates — list templates
  • POST /api/v1/spreadsheets/templates — create a template (accepts columns with type definitions, merge_rules, and default_sort)
  • GET /api/v1/spreadsheets/templates/:id — get a template
  • PATCH /api/v1/spreadsheets/templates/:id — update a template (incl. columns, merge_rules, default_sort)
  • DELETE /api/v1/spreadsheets/templates/:id — delete a template
  • POST /api/v1/spreadsheets — create a spreadsheet from a template
  • GET /api/v1/spreadsheets/:id — get a spreadsheet
  • GET /api/v1/spreadsheets/:id/rows — list rows in a spreadsheet
  • POST /api/v1/spreadsheets/:id/rows — add rows to a spreadsheet
  • PATCH /api/v1/spreadsheets/:id/rows/:row_id — update a row
  • DELETE /api/v1/spreadsheets/:id/rows/:row_id — delete a row
  • POST /api/v1/spreadsheets/:id/import_from_document — extract rows from a PDF using a document mapper and import them (runs merge rules + default sort if configured)

JSON shape — column type values (used in the columns array when creating or updating a template):

[
  { "label": "Title",       "type": "text" },
  { "label": "Assignee",    "type": "user_ref" },
  { "label": "Client",      "type": "contact_ref" },
  { "label": "Opportunity", "type": "opportunity_ref" },
  { "label": "Due Date",    "type": "date" },
  { "label": "Status",      "type": "dropdown",
    "options": [
      { "label": "Todo",        "color": "slate" },
      { "label": "In Progress", "color": "amber" },
      { "label": "Completed",   "color": "green" },
      { "label": "Blocked",     "color": "red" }
    ]
  },
  { "label": "Notes",       "type": "long_text" }
]

Supported type values: text, long_text, number, date, dropdown, user_ref, contact_ref, opportunity_ref, boolean.

  • user_ref — links to a workspace team member. Cell shows the user name.
  • contact_ref — links to a CRM contact. Search by name, email, or phone; cell shows the contact name as a chip (falls back to email if no name is set). Useful for associating imported rows with the client each row belongs to — for example, each line of a commission statement linked to the relevant contact.
  • opportunity_ref — links to a CRM opportunity. Cell shows the opportunity name as a chip.

For dropdown columns, each option takes a label (required) and an optional color string. Supported colours: slate, gray, zinc, red, orange, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose.

JSON shape — merge_rules (set on a template; controls auto-merge on import). Pass null to clear.

{
  "group_by": ["ABN", "Duties"],
  "period_start": "Start Date",
  "period_end": "End Date",
  "tolerance_days": 1,
  "concat_columns": {
    "Payments": {
      "separator": " ",
      "first_value_prefix": "$ ",
      "order_by": "End Date",
      "direction": "desc"
    }
  }
}

All column references are header strings (case-insensitive). tolerance_days defaults to 1, which collapses adjacent financial-year periods but keeps genuine gaps as separate rows.

JSON shape — default_sort (set on a template; applied after every import and when the spreadsheet first opens). Pass null to clear.

[
  { "column": "Due Date",  "direction": "asc" },
  { "column": "Priority",  "direction": "desc" }
]

Entries are applied in order — the second entry breaks ties on the first, and so on. The same sort can be configured interactively via the Sort button in the template-edit toolbar at https://app.trustpager.com/operations/spreadsheets.

The last piece

Two ways to
meet FinalPiece.

Talk to Evie right now, or book a real human for a deeper walkthrough. Whichever feels right.

01 · Talk to Evie

Pick up the phone.

Hear her in 10 seconds.

Evie
VOICEMeet Evie
  • RealHer voice passes for human.
  • SmartKnows your prices, hours, and trade.
  • PatientPolite, attentive, never has a bad day.
or
02 · Book a demo

Pencil us in.

60 minutes with a real human · Google Meet · Free.

June 2026
S
M
T
W
T
F
S
Loading…