- Brand
- BuildPass
- Category
- Operations
- Primary Subcategory
- Pending
Integration details
Description
Bring your construction business into your AI conversations with BuildPass. Connect project management, site operations and finance so you can spend less time on admin and more time building. Ask questions across your projects, prepare reports, manage tasks and documents, create estimates and track budgets. Turn conversations into action with the context of your construction business behind every request. Sign in with your existing BuildPass account and authorize access.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Pending
- Secondary Subcategories
- None listed
- Brand
- BuildPass
- Access
- Account required
- First tracked
- 2026-11-09
- Tool count
- 289
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Not discoverable in ChatGPT yet
ChatGPT now suggests Plugins on its own when they match a user's request, but not every Plugin is being surfaced yet.We haven’t seen BuildPass suggested yet. Sign up and we’ll track it, and your Discoverability Score will appear here once ChatGPT starts surfacing it.
What discovery looks like

Get alerts for BuildPass
Get updates when BuildPass’s Discoverability Score or category rank changes.
Competitive lineup
289 tools agents can invoke
Append a comment to an RFI conversation without changing the formal question or other RFI fields. Non-draft comments trigger the RFI activity workflow for respondents and watchers; draft comments are stored without that workflow. Requires a message, at least one file, or both.
appendRFIComment
Append an update to an action/task activity thread. Preserves the description and other action fields and records an authored timestamped update. Appending also triggers notifications to the action's current assignees. Requires a message, at least one file, or both. Does not edit status, priority, due date, location, or assignees.
appendActionUpdate
Append an update to a defect activity thread using the same behavior as BuildPass "Send update". Preserves the description and other defect fields. Mentions can notify mentioned admin users, but this operation does not notify every assignee or send the defect itself. Requires a message, at least one file, or both.
appendDefectUpdate
Archive a schedule or a schedule item: The construction programme (Gantt): schedules and their items with dates, not money. The schedule of values is a separate family. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Pass operation and its input ({} when it takes none). Operations: - archiveScheduleRecord: Archives a schedule with all its items, or one item with everything under it. There is no restore. Choose kind: - schedule: Archive a schedule (cascades to its items) - item: Archive a schedule item (cascades to its subtree) Also found as: programme, program, Gantt, task, predecessor.
winpay_removeSchedules
Archive one recordType; attachments follow actions, defects, forms, notices, register items and diaries. formResponse is a submission; template is its reusable definition. Per-record outcomes; stop at first failure. Cascades: subcontractor (SWMS, insurance, SDS, documents, prequalifications, integrations), meetingType (active meetings), permit (reminders), template (resource links; company defaults cannot be archived). Only meetingType, notice, permit, register, registerItem, workflow can be restored; toolbox is deleted. Configured workflows may send email or SMS.
archiveRecords
Archive one Submittal by exact ID and cancel its approval flow. Only DRAFT or VOID Submittals can be archived; OPEN or CLOSED records must already be VOID. Archived records can be restored, but their cancelled approval flow is not reinstated.
archiveSubmittal
Archive one toolbox invite identified by toolboxId plus adminUserId or workerId.
archiveToolboxInvite
Changes bills: Supplier and subcontractor bills (accounts payable): the intake inbox, bill lines and tax, and approval and payment status. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - updateBill: Changes a bill's header; omitted fields are kept and null clears a field. Bills are created through intake or in BuildPass, not here. - archiveBill: Archives a bill and ends any approval in progress; refused while a pay application assessment holds it. restoreBill brings it back. - restoreBill: Restores an archived Bill to the state derived from its surviving axes. - linkBillPurchaseOrder: Links a bill to its purchase order, or confirms a link where suppliers differ. Needs bill edit and purchase order view. Choose mode: - link: Links the bill to a purchase order on its project, drawing down its committed cost; null clears. (purchaseOrderReference on updateBill is only a label.) - confirmCrossSupplier: Confirms the linked order although its supplier differs from the bill's vendor, clearing the mismatch flag. Refused if any of the three changed since you checked. - createBillLines: Adds up to 50 lines or tax lines to a bill. - updateBillLine: Changes one line or tax line on a bill. Choose kind: - line: Update bill line - taxLine: Update bill tax line - reorderBillLines: Reorder bill lines Also found as: supplier invoice, accounts payable, AP.
winpay_changeBills
Changes budgets: The project's cost budget, its lines and groups (a cost code may carry several lines), with budget imports, the cost-control report, and buyout (which budget lines are let and when). Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createBudget: Creates the project's draft budget; one per project. - createBudgetLines: Adds up to 50 lines to a draft budget. Several lines may share a cost code; give each a description to tell them apart. Each created line returns its ref (cost code plus a number, such as 03-200.2), which never changes. The budget has one Unallocated line at the top level (costCodeId null, no groupId); change it with updateBudgetLines. A line with no cost code inside a group is an ordinary line. If any row is refused, nothing is saved and the error names each one. - updateBudgetLines: Changes up to 50 lines on one draft budget; fields left out keep their value. Refused if a line has moved or been deleted. Baselined lines are fixed; money then moves by transfer, done in BuildPass. - recodeBudgetLine: Moves a draft budget line, with its amount, rate, note and ref, to another cost code. A cost code that already has lines gets one more. The spend on the line moves with it, except rows listed in leaveSpendIds and rows getBudget lineSpend says must stay; those keep the old cost code. - resetBudgetDraft: Deletes every line from a draft budget that has not been baselined, keeping the budget and its imports. Refused once transfers move money on any line, or while a buyout package from it is not cancelled. - createBudgetLinesFromScheduleOfValues: Takes projectId, not budgetId: creates a zero-amount line on the project's draft budget for each schedule of values line and cost code it maps to, grouped under broken-out lines; no amounts are copied. Only on an empty draft; refused when a schedule line has no cost code. - createBudgetGroups: Adds up to 50 groups to a draft budget to organise its lines. Groups may nest under a parent group. Put a line in a group with createBudgetLines groupId. getBudget view budget lists the groups. - updateBudgetGroups: Renames or moves up to 50 groups on a draft budget. A moved group takes its lines and subgroups with it, and cannot move inside itself. Move a line between groups with updateBudgetLines groupId. - updateBudgetFromEstimate: Takes projectId: applies the changes getBudget view estimateUpdatePreview listed, except the change ids in skip. Pass that preview's revision; a newer estimate or budget edit refuses it, so read the preview again. Lines the builder edited keep the builder's values, and lines added by hand are never touched. Refused once the budget is baselined. - updateBuyout: Plans letting for a project's cost codes: sets planned let dates, excludes or restores lines from letting, or records let coverage. Choose aspect: - plannedLetDate: Sets or clears one planned let date on the baselined budget lines for the given cost codes. All or nothing: every cost code needs a budget line, and the Unallocated allowance can't be scheduled. - lettingExcluded: Excludes a cost code's baselined budget line from letting (the Budget report is unaffected), or restores it. Refused when there is no budget line, or the line is already in procurement. - letCoverage: Records whether each cost code on a subcontract or purchase order is fully let. Ask the builder; there is no default. Needs a baselined budget and budget:edit. Also found as: budget, budget line, original budget, cost budget, cost control, schedule of values, budget group, budget section, estimate, reseed, sync budget, buyout, letting, let date, package, procurement.
winpay_changeBudgets
Changes companies and contacts: The organisation's directory: client, supplier and subcontractor companies with their trade types, the people at them, and workers who log labour. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createCompanies: Adds up to 50 companies (clients, suppliers, subcontractors). - updateCompany: Changes a company. Omitted fields are kept; null clears a field. - createContacts: Adds up to 50 contacts, each optionally at a company. - moveContacts: Moves every listed contact to one company, or with null removes them from their company. Returns each contact's previous company. - setPrimaryContact: Makes a contact their company's only primary contact, unsetting the previous one. The contact must already be at a company. - createWorkers: Adds up to 50 workers who log labour. - updateWorker: Update a worker Also found as: client, supplier, subcontractor, vendor, person, trade type.
winpay_changeCompaniesAndContacts
Changes cost codes: The cost breakdown every budget, bill and commitment is coded to: templates, project cost codes and their hierarchy, plus the organisation's cost types (labour, material, subcontract, equipment, other) that classify estimate lines. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Pass operation and its input ({} when it takes none). Operations: - updateCostCode: Changes one project cost code. Choose aspect: - visibility: Hides a project cost code and its subtree from budgets and pickers, or shows it again. - scopeOrigin: Marks a project cost code and its subtree as work the client instructed after the deal, or clears the mark. Cost-plus claims group costs by it. - moveCostCode: Moves a cost code under a new parent. Choose scope: - project: Moves a cost code and its subtree under a new parent, or to the top level. Codes and coded lines are unchanged; only roll-ups move. - template: Moves a template cost code and its subtree under a new parent, or to the top level. - createCostCodeTemplate: Creates one cost code template, blank or copied from a project's or preset's cost codes. Choose source: - blank: Create a cost code template - project: Create a template from an existing project's cost codes - preset: Create a template from a built-in preset - updateCostCodeTemplate: Update a cost code template - importProjectCostCodes: Imports a whole template or preset into a project; codes it already has are skipped. Adding a single cost code is not available here. Choose source: - template: Import project cost codes from a template - preset: Seed project cost codes directly from a baked-in preset - unlinkProjectCostCodeTemplate: Drops the link only; the project's cost codes stay. Also found as: cost breakdown.
winpay_changeCostCodes
Changes documents: Project and organisation documents and their folders, revisions and markups, including files attached to bills, claims and contracts. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createFolders: Creates up to 50 folders under existing folders or at the top level (not under one created in the same call). - updateFolder: Rename a folder - moveFolder: Move a folder within its scope - linkDocumentRevision: Makes the document a newer revision of predecessorDocumentId and updates dependent takeoff quantities. Refused for proposal and template revisions. Also found as: file, drawing, attachment.
winpay_changeDocuments
Changes estimate recipes: The organisation's estimate recipe library: reusable sections and lines, without rates, costs or markup, that are imported into estimates. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Pass operation and its input ({} when it takes none). Operations: - reorderEstimateRecipes: The recipe library: the listed recipes go first, the rest keep their order. Needs organisation-level estimate:edit. - createEstimateRecipe: Adds a recipe to the organisation library. It keeps library rate links, never prices or markup. Needs estimate:edit; a recipe holds at most 1000 sections, lines and rate sheet rows. Choose source: - sections: From one estimate's sections: pass estimateId or sectionIds. - empty: An empty recipe. - importEstimateRecipes: Adds recipes to an estimate as new sections and lines. Lines and rows linked to a live library rate take its current price; problem links, and cost codes, units and cost types the project lacks, are left off and listed. Preview with getEstimateRecipe view importPreview. Refused on an archived estimate. - createEstimateRecipePart: Adds a section to a recipe, a line to a recipe section, or a rate sheet row to a recipe line, at the end. Needs organisation-level estimate:edit. Choose kind: - section: A named section. - line: An unpriced line; RATE by default, and a LUMP_SUM line takes no quantity or unit. - rateSheetRow: Adds a breakdown row at the end of a recipe line. The first priced row takes over the line's own rate link. - updateEstimateRecipe: Changes a recipe, recipe section, recipe line or rate sheet row, including its library rate link; estimates already imported don't change. Needs organisation-level estimate:edit. Choose part: - recipe: Name or description. - section: Renames a section. - line: The fields given on a line; switching to LUMP_SUM clears quantity and unit. - rateSheetRow: Changes a recipe breakdown row. Changing its unit drops its rate link. Estimates already imported don't change. Also found as: recipe, recipe library, assembly, template section.
winpay_changeEstimateRecipes
Changes estimates: Priced build-ups of a job: an estimate holds sections, each section holds scope items (lines with quantity, rate, cost and markup), plus fee and discount rows. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createEstimates: Creates up to 50 estimates on one project. - updateEstimate: Changes an estimate's name, default markup or target margin. Refused on an archived estimate. - archiveEstimate: Archives an estimate, hiding it from the project's list; restoreEstimate brings it back with its lines and fees. - restoreEstimate: Restores a previously archived estimate. - createEstimateAdjustment: Adds a fee or discount row at the bottom of an estimate's stack. A percentage row's rate is in basis points (900 = 9%); a lump sum is integer cents. - updateEstimateAdjustment: Changes a fee or discount row's name, calculation, cost code, kind or presentation; fields left out keep their value. Percentage rates are in basis points (900 = 9%). - duplicateEstimate: Copies an estimate (archived or not) to a new active estimate on the same project, with its sections, priced lines, takeoff links, fees and discounts. Unlike a recipe, it keeps the money. RFQs, proposals and budgets are not copied. - createEstimateSections: Adds up to 50 sections to an estimate, in order. - updateEstimateSection: Changes a section's name, locations, or the cost code it passes down to lines that set none. - createRateSheetRows: Adds up to 50 rows to a scope item's rate sheet, in order. - startRateSheet: Adds a first priced row of 1 × the item's current rate or lump sum. Returns the first row if the sheet already exists. - updateRateSheetRow: Updates a row and re-derives the item's unit rate. Changing a library-priced row's rate or unit drops its library link. - applyRateSheetLibraryRate: Copies a library rate and unit onto a row, or a new row at the end. Later library edits don't change it. A rate's cost code number codes the row with the matching project cost code unless the user chose the row's code; `unmatchedCostCode` names a number the project lacks. - reorderEstimateParts: Puts a list in the given order, each item once. Scope items: reorderScopeItems. Choose kind: - sections: Reorders sections among their siblings. List every section once; each keeps its parent and takes its place among its siblings from where it falls in the list. To change a section's parent, move it. - adjustments: The fee and discount rows; rows on the estimate total stay last. - rateSheetRows: Reorders a scope item's rate sheet rows. List every row once. - createScopeItems: Adds up to 50 lines to one estimate section, in order. - updateScopeItems: Changes up to 50 lines, on any estimates; each row names its line and the fields to change, and the rest keep their value. - applyScopeItemRate: Copies a library rate's unit rate, unit (unless takeoff-linked), cost type and wastage onto a line. Later library edits don't change it. A rate's cost code number codes the line with the matching project cost code unless the user chose the line's code; `unmatchedCostCode` names a number the project lacks. Refused for an archived library, or on a takeoff-linked line when the units differ. - moveScopeItems: Moves lines, in their current order, to the end of a section of the same estimate. Moving into the options list offers them as proposed omissions; moving out returns them to ordinary scope. - reorderScopeItems: Puts a section's lines in the given order. - linkScopeItemTakeoff: Replaces a RATE line's takeoff measurement links; its quantity then follows them. Measurements must be on the same project in compatible units. - moveEstimateSection: Moves a section and everything in it inside parentSectionId (null: top level). Also found as: fee, discount, line item.
winpay_changeEstimates
Changes forecasts: Forecast final cost (EAC) and cost-to-complete items, the live WIP report, cash forecasts and the organisation's portfolio roll-up and overheads. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - updateEacLines: Sets the forecast final cost of up to 50 budget lines of one project as one number each (eacCents or toCompleteCents), replacing the line's current figure. Name each line by budgetLineRef (e.g. "03-200.2") or budgetLineId; a cost code with one budget line needs only costCodeId. Use createForecastItems instead for named items of cost still to come; each item adds its amount on top of the current figure, so don't do both for the same cost. Each line once; nothing is saved if any row is refused. - createForecastItems: Adds up to 50 named items of cost still to come to one project; each raises its budget line's forecast final cost by its amount, or by the difference when it names a budgetRow the line already has. Name the line by budgetLineRef or budgetLineId when its cost code has more than one budget line. - linkForecastItem: Links the quote or document behind a forecast item. Choose kind: - quote: Links the forecast item to the received quote it was priced from. Only items classified quote, and the quote must be on the same project. Omit quoteId to clear. The link never changes the forecast amount. - evidence: Attaches a document from the item's project library as supporting evidence. Idempotent. - createOverheadHandEntries: Adds up to 50 monthly overhead amounts entered by hand. - updateOverheadHandEntry: Changes an entry's code, description, amount, start or end month. Set an end month to stop it counting later while keeping earlier months; endPeriodKey null makes it open-ended. Can't move to an archived code. Needs organisation-wide company_overhead:view and budget:edit. - updateOverheadRecovery: Sets the forecast revenue and the approved overhead recovery rate for one financial year in one currency. Omit a field to keep it; null clears it. New estimates use the approved rate of the current financial year only, so a rate set for another year applies only while that year is current. Changing it never changes an existing estimate. Needs organisation-wide company_overhead:view and budget:edit. Also found as: EAC, estimate at completion, cost to complete, WIP, work in progress, cash flow, company result, overheads.
winpay_changeForecasts
Changes invoices: Invoices to the client (from claims, retention releases, standalone, and credit notes), their status and the payments received. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Pass operation and its input ({} when it takes none). Operations: - archiveInvoice: Archives a draft invoice, withdrawing any pending review; an issued invoice can't be archived. Its claim, release or credited invoice is free for a new invoice, and restoreInvoice brings the draft back. - restoreInvoice: Returns an archived invoice to draft. Also found as: receivable, payment received, tax invoice.
winpay_changeInvoices
Changes labour: Labour entries logged against a project, labour imports, and each role's loaded cost and default charge-out rate. Workers are under Companies and Contacts. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createLabourEntries: Logs up to 50 labour entries on one project. Workers are listed and created under Companies and Contacts. - updateLabourEntry: Changes a labour entry and recalculates its cost. rateCents pins the rate; changing the worker or pay type re-prices it; an hours-only edit keeps it. - createLabourRates: Adds up to 50 role rates: loaded cost and optional charge-out. - updateLabourRate: Update a labour rate's rates (role is immutable) Also found as: labor, timesheet, hours, worker, charge-out rate.
winpay_changeLabour
Changes lien waivers: Lien waivers collected from subcontractors and suppliers against bills and payments (US). Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createLienWaivers: Creates up to 50 draft lien waivers on one US project. - updateLienWaiver: Corrects a draft waiver; omitted fields are kept. Refused once the waiver is requested or later (it must then be voided and raised again, in BuildPass). Also found as: lien release, conditional waiver, unconditional waiver.
winpay_changeLienWaivers
Changes month end: Accounting periods per project: the open period's close working, accruals, locked period snapshots, and opening balances for projects brought in part-way. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createManualAccruals: Adds up to 50 manual accruals, for work no bill or purchase order covers yet, to a project's open period. Also found as: period close, GL tie-out, general ledger, opening balance.
winpay_changeMonthEnd
Changes product feedback: Requests to the BuildPass team for something BuildPass cannot do today, sent as the person who asked. Help with their own records is a support request, not product feedback. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Pass operation and its input ({} when it takes none). Operations: - createProductFeedback: Files a product request with the BuildPass team as the signed-in person: something they want BuildPass to do that it cannot do today, such as restoring a discarded bill or adding an approval step. Not for help with their own records; that is a support request. Write the note in their words: what they wanted to do, on which record if any, and why. The title is a short summary. Also found as: feature request, product request, suggestion, missing.
winpay_changeProductFeedback
Changes progress claims: Progress claims to the client (US: pay applications to the owner): drafts, pricing (lump sum or cost plus) and the client's payment response. A subcontractor's claim on you is under Subcontracts. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createClaims: Creates up to 50 draft claims to the client, each on a main contract. Each claim gets one line per schedule of values line, at most 2,000 lines per save, so send claims on large schedules a few at a time. - updateClaim: Changes a draft claim. Choose aspect: - period: Changes a draft claim's period, or sets one claim date instead. A submitted claim's period can't change; revising it into a new draft is done by a person in BuildPass. A cost-plus claim always needs a period: it includes every unclaimed bill approved by the period end. - paymentTerms: Sets a draft claim's days of credit, how they are counted, or its own due date. Each field may be sent alone; null resets it to the default. The due date is frozen at submit. - disclosure: Overrides how much a draft claim discloses. Omitted fields are kept; null resets to the contract or organisation setting. periodEvidence on a lump-sum claim attaches or detaches the period's approved supplier invoices. - amendmentPresentation: Shows one finalised main contract amendment on the draft claim as one line or as its variations. Billing stays on the variation lines. - name: Sets the draft claim's name, shown beside its number on the claim and invoice line. - variationPresentation: Claims one approved variation on the draft claim as one line (default) or broken into its lines. Amounts already entered stay. - createStageClaim: Raises a draft claim dated the day a stage was reached, claiming the rest of that schedule line in full. Takes the stage's name unless name is given. Refused for cost plus, a stage already claimed in full, or a stage already on an open claim. - createClaimLines: Adds up to 50 rows to a draft claim. kind sovLine: lines against schedule of values lines; otherCost: hand-entered costs on a cost-plus claim. - updateClaimLines: Sets up to 50 lines on draft claims; each row names its line and a patch. Claim this period by amount (claimedNetCents) or percent (percentCompleteThisPeriodBp, basis points: 5000 = 50%), or state the total to date (claimedToDateNetCents or percentCompleteToDateBp), not both in one row. A total below the certified previous amount reduces this claim; above the scheduled value is refused. - updateClaimOtherCost: Changes an other cost on a draft cost-plus claim. Only fields sent change. Also found as: owner pay application, payment claim, payment schedule, billing, reimbursable.
winpay_changeProgressClaims
Changes projects: A job: client, site, contract type, stage, dates and its default rate library. Most other records hang off a project. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createProjects: Creates up to 50 projects. - updateProject: Changes a project. Choose aspect: - fields: Changes project fields, including the head contract sum (see expectedContractSumCents). Omitted fields are kept; null clears a field that accepts null. - defaultRateLibrary: Sets or clears (null) the project's default rate library. - updateProjectLocations: Adds locations one at a time or from a pattern (8 buildings, 3 floors each, 4 units a floor), duplicates a location with everything beneath it, renames one or changes its kind, or moves it. Choose action: - add: Adds one location at the end of its parent's children. Names are unique among siblings. - addPattern: Adds many locations in one step, top level first: each level repeats under every location of the level above. Name templates use {n} for the location's own number, {building}, {floor} or {unit} for an ancestor's number, and {n:3} to pad with zeros. Up to 2,000 locations a step. - duplicate: Copies the location and all locations beneath it, placed right after it. Optionally replaces text in every copied name beneath it. - change: Renames a location or changes its kind. Sections and lines keep pointing at it. - move: Moves a location, with everything beneath it, under a new parent or to a new place among its siblings. - archiveProject: Archives a project; its records stay and restoreProject brings it back. - restoreProject: Restores an archived project. If another job took its number meanwhile, it gets a new one. Also found as: job, site, location, building, floor, unit, area.
winpay_changeProjects
Changes proposals: Your priced offer to the client (AU: tender), derived from an estimate, with its working lines, sections and issued snapshots. A price a supplier sends you is a quote under Quotes. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createProposal: Creates the project's draft proposal; refused if the project already has one. Add lines afterwards by deriving from an estimate. - deriveProposal: Overwrites every working line, including manual edits, with the estimate's scope items rolled up by grain at sell price. - updateProposal: Changes the proposal. Choose aspect: - header: Changes the proposal title, validity window and disclosed margin. Prose sections are updateProposalSection. - detailLevel: Sets how much breakdown the client sees: totalOnly (no lines), summary (grain lines, the default), unpricedItems (plus each line's items, unpriced), itemized (plus item sell prices) or fullScope (plus each item's scope text). Display only: hidden amounts stay in the total, and cost and markup are never shown. Frozen at issue. - template: Picks the organisation proposal document template that wraps the issued PDF, or null for the BuildPass standard layout. Frozen at issue. - createProposalLines: Adds up to 50 working lines to a proposal. - updateProposalLine: Changes a working line's description, amount, kind, cost codes or order. - createProposalSections: Adds up to 50 sections to a proposal: source custom for a new section, source saved to copy a saved one. - updateProposalSection: Changes a proposal section: a custom section by its sectionId, or a standard section by its role. Choose target: - section: Changes a custom section's heading, body, placement or order. startOnNewPage also works on well-known sections. - role: Sets a well-known section (coverLetter, inclusions, exclusions) from markdown-lite: blank line = paragraph, '- ' = bullet, **bold**, '| a | b |' lines = table ('| --- |' as the second line makes a header row). Also found as: tender, quote to client, offer.
winpay_changeProposals
Changes purchase orders: Purchase orders to suppliers: drafts and their lines, what has been billed against each, and what remains committed. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createPurchaseOrders: Creates up to 50 draft purchase orders on one project, each to one supplier with at least one line (200 lines in total at most). Nothing is saved if any order is refused. - derivePurchaseOrder: Raises a draft purchase order from a bill or an accepted quote. Choose source: - bill: Creates a DRAFT purchase order from a bill, which supplies the project, supplier and lines. If the budget is baselined, ask the builder whether each cost code is fully let and record it with changeBudgets updateBuyout aspect letCoverage. - quote: Creates a DRAFT purchase order from a received quote, with its project, supplier, scope and ex-tax lines (add-on lines left off). A quote backs one purchase order or one subcontract, never both; repeating returns the existing order. - updatePurchaseOrder: Edits the header of a DRAFT purchase order; fields left out keep their value. Needs purchase_order:edit. - createPurchaseOrderLines: Adds up to 50 lines to a draft purchase order. - updatePurchaseOrderLines: Changes up to 50 purchase order lines; each row names its line and the fields to change, and the rest keep their value. Also found as: purchase order, PO, order, supplier order, committed cost, commitment.
winpay_changePurchaseOrders
Changes quotes: Quotes suppliers and subcontractors sent back, their lines and tax basis, the leveled comparison, and award mapping of quote lines onto estimate scope. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createQuote: Records a price a supplier sent you outside BuildPass against an RFQ; it lands RECEIVED and marks the recipient as responded. Reviewing, awarding and converting it are done by a person in BuildPass. Needs budget:view. Refused when the RFQ is cancelled, the supplier is archived, the total or tax is negative, or the source document is outside the organisation. Line amounts may be negative. - updateQuote: Corrects terms captured during review; fields left out keep their value. - createQuoteLines: Adds up to 50 lines to a quote. - updateQuoteLines: Changes up to 50 quote lines; each row names its line and the fields to change, and the rest keep their value. - setQuoteLinesTaxBasis: Sets whether quote line amounts include tax. Choose target: - lines: Sets one tax basis on the listed lines, keeping each line's own rate. - needsReview: Sets one tax basis on every line with no basis yet, keeping each line's own rate. - updateAwardMapping: Changes how an RFQ's quotes map onto estimate scope items; each action survives mapping re-runs and clears any prior confirmation. Choose action: - itemCoverage: Sets coverage, covering quotes and covered amount for one estimate scope item. GAP lists no quotes. - itemsOutOfScope: Marks estimate scope items out of this RFQ's award scope (not counted as gaps), or clears the flag. - unmatchedLineDismissal: Dismisses a quote line the estimate has no match for, or restores it. - placeUnmatchedLine: Counts an unmatched quote line toward an existing estimate line instead of a new one. Refused for a deduction or a line the estimate already carries. - wholeQuote: Prices one estimate line at an awarded itemised quote's ex-tax total; lines only it covered become gaps and its unmatched lines are dismissed. Refused when the quote shares a line with another quote, or another quote prices the line. - chooseEstimate: For an RFQ raised without estimate scope, sets the project estimate its awarded quotes map onto and queues a mapping run. Refused when the RFQ came from an estimate, no quote is awarded, or the estimate is archived. Also found as: quote, bid, tender, leveling, award.
winpay_changeQuotes
Changes rates and takeoffs: Rate libraries and their unit rates that price estimate lines, measurement units, and takeoffs that measure quantities off drawings. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createRateLibraries: Creates up to 50 rate libraries. - updateRateLibrary: Update a rate library (name and/or subdivision defaults) - createRates: Adds up to 50 rates to one rate library. - updateRates: Changes up to 50 rates in active libraries; each row names its rate and the fields to change, and the rest keep their value. - createTakeoff: Creates the project's takeoff, or returns the one it has unchanged (one per project; name is ignored then, rename with updateTakeoff). - updateTakeoff: Rename a takeoff - createTakeoffItems: Adds up to 50 measurements to a takeoff. - updateTakeoffItem: Update a takeoff measurement item - reorderTakeoffItems: Puts a takeoff's measurements in the given order; list every one once. Also found as: unit rate, price book, quantity, scale.
winpay_changeRatesAndTakeoffs
Changes retention: Retention the client holds on claims (balances, ledger entries, releases) and releases of retention held from subcontractors. Retention held per subcontract is projected under Subcontracts. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createRetentionReleases: Raises up to 50 draft retention releases. side receivable: retention the client holds on a main contract; payable: retention held from a subcontractor. Also found as: retainage, retention release, practical completion, defects liability.
winpay_changeRetention
Changes rfqs: Requests for quote or tender sent to suppliers and subcontractors: versions, documents, recipients and reminders. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createRfqs: Creates up to 50 draft RFQs on one project as one batch; estimateId and ccEmails apply to all. Add documents with attachRfqDocument. Nothing is saved if any is refused. Recipients and issuing are done in BuildPass. Returns the batch ID and RFQ IDs in order. - updateRfq: Edits a DRAFT RFQ; once issued, changes need an addendum. - attachRfqDocument: Attaches a document to the draft version; repeating is harmless. Refused once issued (changes need an addendum). Visibility flags start off; set them with updateRfqDocument. - updateRfqDocument: Sets any of showMarkup, showShapeLabels and showMeasurements on a document of a draft RFQ; after issue, changes need an addendum. Off by default so subs price their own quantities. - updateRfqRecipient: Changes one recipient: bid intent, access or notified contacts. Choose aspect: - bidIntent: Records whether the company intends to bid, as the builder heard it (subs can also set it in the portal). Allowed once the RFQ is ISSUED or CLOSED. - access: Revokes or restores one recipient's link once the RFQ is issued; while revoked they can't open, download or respond and get no further emails. Sent emails aren't recalled. - notifiedContacts: Replaces the contacts notified for a recipient while the RFQ is DRAFT. Also found as: RFQ, request for quote, request for tender, tender package, bid, leveling.
winpay_changeRfqs
Changes schedule of values: The schedule of values (AU: claim schedule) that splits the contract value into lines progress claims bill against. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createScheduleOfValues: Creates the one draft schedule of values under a main contract; then add lines or seed it from an estimate. To correct a lump-sum contract sum before baseline, use changeProjects updateProject (aspect fields). - createScheduleOfValueLines: Adds up to 50 lines to a draft schedule of values, in order. If any row is refused, nothing is saved and the error names each refused row. - updateScheduleOfValueLines: Changes up to 50 lines; each row names its line and the fields to change, and the rest keep their value. itemNumber is the number a line shows, so renumber lines by sending each one its new number. After baseline only description and itemNumber change here; move value with moveScheduleOfValueLineValue. - setScheduleOfValueLineCostCodes: Sets the cost codes a line is linked to (its WIP split), also after baseline. Refused when the schedule is locked or archived, the main contract is closed, or the line has sub-items (map those instead). An empty list clears the links. - moveScheduleOfValueLineValue: After baseline, moves an amount between two lines of one schedule; the contract sum is unchanged. Check view valueMoves first. - reorderScheduleOfValueLines: Reorders the top-level lines, or the sub-items of parentLineId. List every line in that group once. - seedScheduleOfValues: Fills an empty draft schedule from an estimate: scope items roll up into lines, the contract sum is spread by sell value, and allowance, PC item and provisional sum lines join the allowance register. Check view estimateSeedPreview first. Also found as: SoV, SoV line, claim schedule, contract breakdown, renumber, cost code mapping, estimate handoff.
winpay_changeScheduleOfValues
Changes schedules: The construction programme (Gantt): schedules and their items with dates, not money. The schedule of values is a separate family. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createSchedules: Creates up to 50 empty schedules on one project; tasks cannot be added here. - duplicateSchedule: Copies a programme's tasks, dependencies and assignees into a new programme, shifting dates so the first item starts on startDate. Cost codes and scope links carry only within this project. The response counts what was left blank; getScheduleRecord kind copySummary lists it. - updateSchedule: Update a schedule - linkSchedulePredecessor: Add one item this item waits on - createScheduleItems: Adds up to 50 items to one schedule. A phase is top level; a task or milestone sits under a phase or task (parentId), so add phases first and their tasks in a second call. Refused while the programme is still being drafted from the estimate. - updateScheduleItems: Changes up to 50 schedule items; each row names its item and the fields to change, and the rest keep their value. predecessors replaces the item's whole list. A phase cannot become a task or milestone, nor the other way. - reorderScheduleItems: Sets each named item's sortOrder and, when parentId is given, moves it under that item (null moves it to the top level). Up to 50 items per call; items left out keep their place. Also found as: programme, program, Gantt, task, predecessor.
winpay_changeSchedules
Changes subcontracts: Subcontracts let to trades: scope sections and lines, agreements, contract documents, change orders, back-charges, and the subcontractor's claims (pay applications) against them. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createSubcontractLines: Adds up to 50 lines to a subcontract. - updateSubcontractLines: Changes up to 50 lines on DRAFT subcontracts; each row names its line and the fields to change, and the rest keep their value. An executed subcontract changes through change orders. - reorderSubcontractLines: Reorder draft subcontract lines - createSubcontractScopeSections: Adds up to 50 scope sections to a DRAFT subcontract: custom (source custom) or copied from the library (source saved). - updateSubcontractScopeSection: Updates a custom section on a DRAFT subcontract; fields left out keep their value. - attachSubcontractDocument: Attaches an existing project document to a subcontract, or as evidence on a pay application. Choose target: - subcontract: Links a project document to the subcontract as backup; repeating is harmless. Refused once the subcontract is CANCELLED or TERMINATED. - payApplicationEvidence: Retain a project document as assessment evidence - createSubcontractChangeOrders: Creates up to 50 draft change orders on one EXECUTED subcontract. These are changes with a subcontractor; a change with the client is a Variation. - updateSubcontractChangeOrder: Updates a DRAFT change order's header; fields left out keep their value. - createSubcontractChangeOrderLines: Adds up to 50 lines to a draft subcontract change order. - updateSubcontractChangeOrderLines: Changes up to 50 subcontract change order lines; each row names its line and the fields to change, and the rest keep their value. - createSubcontractorAgreements: Creates up to 50 subcontractor agreements. - updateSubcontractorAgreement: Update subcontractor agreement - updatePayApplication: Sets claim details on a subcontractor's DRAFT or SUBMITTED pay application (your claims to the client are Progress Claims). Fields left out keep their value; null clears. Needs pay_application:edit; changing paidBeforeBuildPass with a linked bill also needs bill:edit (refused once in accounting), and setting it true needs bill:pay. - createSubcontract: Creates a draft subcontract with a vendor on a project. Value, scope, lines and inclusions stay editable while it is a draft. `lines` are lump sums: when given, the value is their total and `valueCents` is ignored. Refused when a line has an empty description, a negative or fractional amount, or an archived or off-project cost code. Add rate lines and cost types afterwards with createSubcontractLines. If the budget is baselined, ask whether each cost code is fully let and record it with updateBuyout aspect letCoverage. Also found as: subcontract, subcontractor, trade contract, scope section, subcontract change order, back-charge, backcharge, pay application, subcontractor claim, subcontractor agreement.
winpay_changeSubcontracts
Changes variations: Variations (US: change orders) to the contract with the client, formal contract amendments, and change events that track possible changes before they are priced. A change with a subcontractor is a subcontract change order under Subcontracts. Approving, submitting, issuing, paying and sending a record happen in BuildPass, not here. Delete or void only through an operation that says so. Operations that take items save them all or none: if any row is refused, nothing is saved and the error lists each refused row. Pass operation and its input ({} when it takes none). Operations: - createVariations: Creates up to 50 draft variations (changes with the client) on one project, numbered in turn, with at most 500 lines across them. For a "change order", check which party it is with; a subcontractor's is createSubcontractChangeOrders. - updateVariation: Changes a draft variation's header. The number can change in any status. Title, description and notes can also change when submitted, or approved without a client signature; that marks the notice out of date, and an open signature request must be recalled first. - createVariationLines: Adds up to 50 cost or sell lines to a draft variation. - updateVariationLines: Changes up to 50 lines on draft variations; each row names its line and the fields to change, and the rest keep their value. - mirrorVariationLine: Creates the matching line on the other side: a sell line from a cost line, or the reverse. Choose direction: - toSell: Creates the linked sell line that prices a cost line to the client. - toCost: Creates the linked cost line behind a sell scope line. - createMainContractAmendments: Creates up to 50 formal contract amendments on one project, each grouping variations. - updateMainContractAmendment: Changes a draft amendment's reference, variations, or what its document shows for each variation. - setChangeEventStatus: Moves a change event to open, closed or void. Void is final and refused while a live change is raised from it; it needs variation:archive. - createAllowances: Adds up to 50 rows to the client contract's allowance register (allowances, PC items, provisional sums) on one project. The budget's Unallocated allowance is a budget line, not this. - updateAllowances: Changes up to 50 allowance register rows; each row names its allowance and the fields to change (wording, family, amount, whether it waits on a client choice, due date), and the rest keep their value. - updateAllowanceOption: Edits a candidate option offered to the client for an allowance. Also found as: change order, change event, contract amendment, allowance, selection, provisional sum, prime cost.
winpay_changeVariations
Complete or submit an existing canonical form response as-is, matching Core UI completion. May notify linked-action assignees and run configured workflows or integration syncs. Does not fill answers or edit the reusable template. Omitted completedAt uses server completion time. Returns the completed-response report destination; validation, permission, and lifecycle failures remain errors.
completeFormResponse
Send the final approved package for one Submittal to its distribution list, closing it first if still open. Requires a final approval decision. Emails real recipients once and cannot be recalled. Already distributed records are returned unchanged. The to and cc arrays replace all recipients for this send. Always emails; to close without distributing, set the Submittal status to CLOSED instead.
completeSubmittal
Create up to 50 RFIs per call from files, pasted tables, or prose. A one-item items array creates one RFI. Non-atomic: successful rows persist when others fail, with row-level failures. Row values override top-level defaults. Omitted status defaults to DRAFT. OPEN rows receive numbers according to project numbering settings and notify respondents and watchers.
createRFIs
Create SDS documents, one per item. Per-item outcomes; the first failure stops the rest. projectIds sets the initial linked projects.
createSds
Create up to 50 project actions/tasks per call, including imports from files or pasted content. A one-item items array creates one action. Non-atomic: successful rows persist when others fail, with row-level failures returned. Top-level fields are defaults; row values override them. Initial assignees may be notified. type and priorityType require exact project-configured labels; assignees require canonical IDs.
createActions
Create standalone address-book contacts without a Company record. company is an optional free-text label, not a Company ID. projectIds scopes directory entries to projects; omit for global contacts. An existing email reuses its directory entry; supplied company and projectIds replace those values, and an archived entry is restored. Does not add RFI participants or send notifications. Returned entity IDs are contact IDs for RFI participants. Per-item outcomes; the first failure stops the rest.
createAddressBookContacts
Add certifications to workers' profiles for the builder, one per item. BuildPass recommends workers upload their own from their phone: it stays in their wallet across builders, they get expiry reminders, and it is reviewed. One added here is Builder Generated: hidden from the worker, marked reviewed by the user, and skips the automatic check. Suits a user asking to add one for a worker, especially one without their own login. Requiring a certification on the project prompts a worker with their own profile to add it at their next sign-on. Per-item outcomes; the first failure stops the rest.
createCertifications
Create up to 50 subcontractors/companies/vendors in the current builder per call, including imports from files or pasted vendor lists, CSVs, spreadsheets, PDFs, or tables. A one-item items array creates one company. Non-atomic: successful rows persist when others fail; returns created counts and row-level failures. Each row requires companyEmail.
createSubcontractors
Create subcontractor contacts, one per item. Per-item outcomes; the first failure stops the rest. Omitted optional fields stay blank; projectIds initially links a contact to those projects. isPrimaryContact true clears the previous primary contact.
createContacts
Create Site Diary records with default embedded response shells, one per item. kind daily (default) creates a daily diary; supplementary creates a sub-log with its supplementary templateId, attaching to or creating the parent daily diary for that date. The first failure stops remaining items. Does not fill response answers. Creating a main diary also schedules client-portal sharing when enabled for the project. Configured daily-log workflows may send email or SMS and enabled integrations may sync the log.
createSiteDiaries
Create reporting dashboards, one per item, each with a title and optional description, initial project scope, and access rules. Per-item outcomes; the first failure stops the rest. Omitted optional fields stay unset. Widget configuration happens in the UI, not through this tool.
createDashboards
Create document, drawing, or gallery-photo folders, one per item, at the root or inside a folder in the same scope. Per-item outcomes; the first failure stops the rest. A child needs the returned ID of its parent, so nested structures take one call per level. Use subcontractor_documents for the UI Other Documents area. visibleToWorkers shares a document or drawing folder and its contents with workers; omit it for gallery_photos.
createDocumentFolders
Create document records from files, one per item. The first failure stops remaining items. documentScope PROJECT requires projectId; COMPANY omits projectId. Omitted linked IDs stay unset.
createDocuments
Create emergency alerts, one per item. Per-item outcomes; the first failure stops the rest. workerIds and visitorIds define the initial recipients to notify; omitting them sends no emergency messages.
createEmergencies
Create response shells from saved reusable templates, one per item, for inspections, checklists, or form submissions. The first failure stops remaining items. Omitted completedAt leaves the response in progress; completed responses may run completion, intake, and integration workflows. Does not fill answers. Returns a suggested Open navigation action for each row.
createFormResponses
Add uploaded images to project galleries, one per item. Requires completed upload keys and their matching projectId, fileName, contentType, and fileSize after the image bytes have been PUT to the upload URL. Returns attachment IDs with per-item outcomes; the first failure stops remaining items. Images only; does not create document records or attach files to other records.
createGalleryPhotos
Create insurance documents, one per item. Per-item outcomes; the first failure stops the rest. Omitted optional fields stay unset.
createInsurance
Create one or more project locations (areas/rooms/zones/levels/units, up to 50 per call) used to organize and filter records by place, from plans, PDFs, spreadsheets, CSVs, prose, or pasted lists. Use a one-item items array for a single location. Split larger imports into 50-row calls. Non-atomic: successful rows persist when others fail, and results include row-level failures. Top-level parentId acts as the default parent; row parentId values override it. Nesting under a location created in the same call requires a second call using the returned ID.
createLocations
BuildPass ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve BuildPass's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.


