Skip to content
English
  • There are no suggestions because the search field is empty.

Mason Tools - Reference Guide

Learn about the tools that enable Mason to work for you.

Tools are split into two groups:
  • Read tools look things up and never change your data. Mason uses them freely to gather context.
  • Write tools create, change, or delete records. Write tools will request your approval in Ressio before anything is saved, so you always review changes first.

Read tools

Mason has the following tools available to help you gather context, answer questions, and run reports.

Conversation & reasoning

Tool

What it does

askUser

Presents a short set of predefined choices and waits for you to pick one. Mason uses this to resolve ambiguity - like which of three similarly named projects you meant - before it writes anything.

askOpenEnded

Asks you an open-ended question and waits for a typed answer. Used when the needed input can't be reduced to a list of options, such as a description or a dollar figure.

calculator

Performs arithmetic and date math reliably. Handles things like markup rollups, unit conversions, and "how many working days between these two dates."

Account & company

Tool

What it does

listCompanies

Lists the Ressio companies where your account has an active membership. Used to pick the right company when you belong to more than one.

getUsers

Returns active users relevant to project setup and access - team members and field users by default, plus a specific project's customers and admins when a project is named - each with role, contact info, and shift/rate details. Used to resolve names to the right people for assignments, access, and prepared-by fields.

getCustomerAccounts

Searches your company's customer accounts by name. Used to attach the right existing customer to a new project instead of creating a duplicate.

getProjectTypes

Lists the active project types your company has configured. Used when setting up a new project.

Projects

Tool

What it does

listProjects

Lists the projects you have access to, with stage, customer, and key dates. The usual starting point for almost any request that names a project.

getProject

Returns full detail for one project — lifecycle stage, customer, address, cost structure, budget mode, team, and dates.

researchProjects

Answers questions that span multiple projects at once, aggregating across your portfolio rather than looking at a single job. Useful for questions like "which projects are behind schedule?"

searchKnowledgeBase

Searches Ressio's Knowledge Base documentation and help content. Mason uses this to answer "how do I do X in Ressio" questions accurately.

Estimating

Tool

What it does

getEstimate

Returns the project estimate with its full category and cost-item tree, calculated totals, and locked-estimate status. Required before any estimate write, since writes need the estimate ID.

getCostItems

Looks up specific cost items on a project by ID or text search across name, description, and internal notes. Used to find the exact row to edit or reference. Note each result is a full priced row (unit price, builder/customer cost, cost code/type, deep link), not just a name

analyzeEstimate

Compares an estimate's category structure against a project-type-aware checklist of standard phases and common gaps. Returns what's likely missing, at either rough-order-of-magnitude or bid-ready strictness.

searchSimilarEstimates

Finds comparable past projects from your own locked-estimate history by matching scope categories, filtered by contract value range and lookback period. Good for sanity-checking a new number against what you've actually built.

extractScopeFromDocument

Reads an uploaded document — plans, a scope narrative, an architect's spec, a competitor bid — and pulls out a structured list of scope items. Feeds buildEstimateFromScope.

listEstimateTemplates

Lists the template projects available to start a new estimate from. Used before createProject with a template or before applyEstimateTemplate.

getCostCatalog

Returns your company's reusable Cost Catalog items with stable IDs, pricing, reference details, and cost-group children. Paginated, and flags duplicate names so the right item gets picked.

getCostCodes

Returns active company cost codes by ID or name search. Pass a project ID when picking a code for time entries so results match the Time Clock picker.

Budget & change orders

Tool

What it does

getBudget

Returns the project budget — category rollups, individual rows, totals, and a direct link to the budget view in Ressio.

getApprovals

Returns the approval documents on a project, including selections, change orders, and purchase orders, with their current status. Answers "what's waiting on the customer?"

Selections

Tool

What it does

getSelection

Returns one selection in full: status, due date, any linked schedule task, the choice-group and choice tree, and cost details. Needed before editing choices or groups.

Schedule

Tool

What it does

getSchedule

Returns the complete project schedule — tasks, subtasks, dependencies, assignments, and calendar settings.

identifyScheduleConflicts

Scans across all company projects to find users and vendors who are double-booked in an overlapping window. Catches the resource collisions a single-project view hides.

getAssignments

Returns task assignments across every project in the company within an optional date range. Used for workload questions that aren't scoped to one job.

getWeather

Returns the forecast or historical weather for a project's address. Used for weather-dependent scheduling and for backfilling daily logs.

To-dos & checklists

Tool

What it does

getTodoLists

Returns a project's to-do lists, optionally filtered by ID or name search.

getTodoItems

Returns a project's to-do items filtered by status, assignee, ID, text search, or date range.

getChecklistItems

Returns the checklist items nested under a to-do item or a schedule task, with completion state.

getTodoAssignableUsers

Lists the people who can be assigned a to-do on a given project, with the reason each is eligible. Prevents Mason from assigning someone who lacks project access.

Time tracking

Tool

What it does

getTimeEntries

Lists time entries with worker, project, cost code, breaks, status, duration, and approval state. Filterable for timesheet review and payroll prep.

getTimeEntry

Returns one time entry in full, including break detail and approval history.

Vendors & procurement

Tool

What it does

getVendors

Lists your company's vendors with active state, contact counts, and certificate-of-insurance and compliance status. Quick way to spot expiring COIs.

getVendor

Returns full detail for a single vendor — profile fields, contacts, documents, and compliance state.

getVendorContacts

Returns active vendors that have contacts linked to a Ressio account, so Mason knows who can actually receive portal communications.

listBills

Lists bill summaries with vendor, project, purchase order, total, payment status, and sync state.

getBill

Returns one bill in full, including vendor, project, linked purchase order, totals, payment state, and line-item detail.

Invoicing

Tool

What it does

getInvoices

Returns invoice summaries for a project - 25 at a time, paging through the rest - with totals, payment state, and status. Void invoices are excluded unless requested.

getInvoice

Returns one invoice in full — metadata, totals, payment state, sections, and line items.

getInvoiceableChanges

Lists approved, uninvoiced changes on a project with their customer price deltas, plus any blockers preventing invoicing. Run this before createInvoiceFromChanges.

getInvoiceableActuals

Lists invoiceable actuals on a Cost Plus project with remaining amounts and blockers. Run this before createInvoiceFromActuals.

getProgressInvoiceCandidates

Lists fixed-price progress billing candidates with prior billed and remaining amounts. Run this before createProgressInvoice.

getInvoiceSyncStatus

Reports an invoice's accounting sync status and whether it's eligible to sync, without triggering a sync.

Field documentation

Tool

What it does

getDailyLogs

Returns daily log entries for a project, filterable by ID, text search, or date range.

getDailyLogTemplate

Returns your company's configured daily log template so new logs follow the same structure your team already uses.

getMessages

Lists project messages newest-first with author, thread target, and visibility. Shows what's been said to the customer versus kept internal.

RFIs

Tool

What it does

listRfis

Lists RFI records for the company, optionally filtered by project and status.

getRfi

Returns one RFI with its roster of assignees and recipients, question, responses, and current state.

Files

Tool

What it does

listProjectFiles

Lists a project's files with metadata, processing state, stable IDs, and safe access links.

getProjectFile

Returns metadata and safe access details for a single project file.

Warranty

Tool

What it does

listWarrantyTasks

Lists warranty task summaries with project, status, priority, assignee, and dates.

getWarrantyTask

Returns full detail for a single warranty task.

Automations

Tool

What it does

listAutomations

Lists the automations your company owns plus the catalog automations available to enable.

getAutomation

Returns one automation definition — its trigger, instructions, and enabled state.

External research

Tool

What it does

webSearch

Searches the web for supplier product info, specifications, code requirements, or standard punchlist language. Used when the answer isn't in your Ressio data.


Write tools

Mason has the following tools available to help you create, change, or delete records. 

‼️Every tool in this section will ask for your review and approval before taking action. Nothing is saved until you approve it.

Projects

Tool

What it does

createProject

Creates a project from confirmed setup details. Name and stage are required; cost structure and budget mode are required from scratch or inherited from a template, and a duplicate customer name needs explicit confirmation.

Estimating

Tool

What it does

createEstimateCategory

Creates one top-level category in a project's Draft estimate. Refuses locked estimates.

createEstimateCostItem

Creates one cost item — manual or catalog-backed — under a top-level category in a Draft estimate. Catalog-owned values are applied automatically when a catalog item is used.

updateCostItem

Updates a cost item's name, description, notes, quantity, unit cost, cost code, cost type, or unit type. On locked estimates it only permits edits the current change-order state allows, and it refuses structural or lifecycle changes.

buildEstimateFromScope

Builds out an estimate's categories and cost items from an extracted or supplied scope list, matching against your Cost Catalog where possible. Typically paired with extractScopeFromDocument.

applyEstimateTemplate

Copies a template project's estimate structure into a target project's Draft estimate. Faster than rebuilding a standard scope by hand.

addEstimatePlaceholders

Adds placeholder rows to an estimate for scope that's known but not yet priced. Keeps identified gaps visible on the estimate instead of lost in notes.

lockEstimate

Locks a project's Draft estimate so future scope changes route through change orders. A one-way, high-consequence action that requires explicit confirmation.

Change orders

Tool

What it does

createChangeOrderDraft

Creates a change order draft from selected pending cost-item changes on a locked estimate. You review, edit, and release it separately.

updateChangeOrder

Updates a Draft change order's details — name, description, terms, due date, schedule impact, prepared-by, signature requirement — and adds or removes linked cost items.

Selections

Tool

What it does

createSelection

Converts an existing estimate cost item into a Draft selection with choice groups, choices, and cost details. The item keeps its name and position; no new estimate row is created.

updateSelection

Updates Draft selection metadata: name, description, instructions, due date, and linked schedule task.

createSelectionChoiceGroup

Creates a choice group under a Draft selection, optionally with up to five initial choices in the same write. Set min/max to define pick-one, optional add-on, or pick-all behavior.

updateSelectionChoiceGroup

Updates a Draft selection choice group's name and its min-required / max-allowed range.

createSelectionChoice

Creates a single choice under a Draft selection choice group, with up to ten cost details beneath it.

updateSelectionChoice

Updates a Draft selection choice's name, description, and cost details. Does not select or deselect choices, reorder them, or change selection status.

updateSelectionStatus

Moves a selection between Draft, Released, and Completed. Releasing is what makes it visible to the customer.

Schedule

Tool

What it does

createScheduleTasks

Creates one or more schedule tasks on a project, optionally with nested subtasks, dates, and assignments.

updateScheduleTasks

Updates one or more existing schedule tasks, including reparenting them under a different task.

deleteScheduleTasks

Deletes one or more schedule tasks from a project.

createScheduleTaskDependencies

Creates one or more dependencies between schedule tasks so downstream dates shift when predecessors move.

deleteScheduleTaskDependencies

Removes one or more dependencies between schedule tasks.

createScheduleFromTemplate

Builds a project schedule by copying the schedule tasks and dependencies from a template project.

To-dos & checklists

Tool

What it does

createTodoList

Creates one or more named to-do lists on a project.

createTodoItem

Creates one or more to-do items on a project, with assignee, due date, and list placement.

updateTodoItem

Updates one or more to-do items — name, description, assignee, due date, or completion status.

createChecklistItem

Creates one or more checklist items under a to-do item or a schedule task.

updateChecklistItem

Renames checklist items or toggles their completion state, one or many at a time.

Time tracking

Tool

What it does

clockInTimeEntry

Starts a running time entry for a worker on a project, optionally against a cost code.

clockOutTimeEntry

Stops a running time entry and finalizes its duration.

createTimeEntry

Creates one completed time entry after the fact, with optional cost code, description, and breaks. Used for backfilling missed clock-ins.

updateTimeEntry

Updates routine fields on one draft time entry using local wall-clock times.

updateTimeEntryBreaks

Replaces all breaks on one draft, completed time entry using local wall-clock break times.

updateTimeEntryApprovalStatus

Approves, reopens, or voids one time entry while preserving approval validation and break integrity. The payroll-facing action.

Vendors

Tool

What it does

createVendor

Creates a vendor. Name is required; email, phone, notes, and address are optional.

updateVendor

Updates a vendor's routine profile fields — name, email, phone, notes, and address.

createVendorContact

Adds a contact to a vendor with name, title, email, and phone.

updateVendorContact

Updates an existing vendor contact's details.

createVendorDocument

Creates a vendor document metadata record, such as a certificate of insurance or W-9, with type, expiration date, and reference number.

updateVendorDocument

Updates a vendor document's metadata — type, expiration date, reference number, and notes.

addVendorFile

Attaches an already-uploaded file to a vendor record as a contractor-internal vendor file.

sendMessageToVendors

Sends a message to one or more vendors on a project through the vendor portal. Used for coordination that should live on the project record rather than in email.

Bid requests & purchase orders

Tool

What it does

createBidRequest

Creates a bid request for a defined scope on a project, so multiple vendors can be invited to price the same work.

updateBidRequestDetails

Updates a bid request's details — name, scope description, instructions, and terms.

updateBidRequestDueDate

Changes the due date vendors have to submit their bids.

updateBidRequestVendors

Adds or removes the vendors invited to a bid request.

releaseBidRequest

Releases a bid request to its invited vendors, making it visible in the vendor portal and opening it for responses.

convertBidRequestToPurchaseOrder

Converts a chosen bid response into a purchase order, carrying the awarded scope and pricing across.

createPurchaseOrder

Creates a purchase order for a vendor on a project, tying committed cost to the budget.

releasePurchaseOrder

Releases a purchase order to the vendor for acknowledgment.

Invoicing

Tool

What it does

createProgressInvoice

Creates a draft progress invoice from selected fixed-price progress billing candidates.

createInvoiceFromChanges

Creates a draft invoice from selected approved, uninvoiced changes.

createInvoiceFromActuals

Creates a draft invoice from selected eligible actuals on a Cost Plus project.

createInvoiceByAmount

Creates a draft invoice from manually specified line item amounts, for billing that doesn't map to changes, actuals, or progress.

attachFileToBill

Attaches one already-uploaded file to a bill, moving an unattached company file onto the bill record.

Field documentation

Tool

What it does

createDailyLog

Creates a daily log entry for a specific date, following your company's daily log template.

sendMessage

Posts a message on a cost item in a project with a chosen visibility — Public, Private, Vendor, or Customer.

RFIs

Tool

What it does

createRfi

Creates a new RFI on a project in Draft state, with subject, question, assignees, and due date.

updateRfi

Updates a Draft RFI's editable fields — title, description, due date, subject, and roster.

deleteRfi

Soft-deletes a Draft RFI. Only Draft RFIs can be deleted.

Files

Tool

What it does

associateProjectFile

Links an existing company-level uploaded file to a project without copying it, so one file can serve multiple projects.

Automations

Tool

What it does

createAutomation

Creates and enables a company automation from its definition.

updateAutomation

Updates a company-owned automation's name, description, or instructions.