accountActivityFeed
ChatGPTAlias of accountJournalFeed with the same arguments and rows. Not @deprecated yet: the tool catalog skips deprecated operations, and shipped ATC versions call this tool by name. TODO(flywheel-activity-alias-removal): remove after the deprecation window, in a follow-up PR.
activateFinanceRetainerAgreement
ChatGPTActivates a draft and creates its one recurring invoice executor, or resumes a paused one. Access: same billing invoice generate and company-write gates as creation. Errors: agreement not found, invalid lifecycle state or terms, stale concurrent update, or a missing resumable schedule.
activateFinanceSourceConnection
ChatGPTActivates authoritative posting from shadow mode after the operator repeats the displayed assertion exactly. Access: Finance setup editors who can post accounting entries. Errors: connection is missing, inaccessible, not in shadow mode, or the assertion does not match.
activateSequenceVersion
ChatGPTMakes a sequence version the live one: archives the previously active version and sets the sequence to active on this version. Access: workspace members with CRM access. Errors: version not found; archived versions cannot be activated.
addActionActualTime
ChatGPTAdd or edit time tracking item for action Access: Requires user access to the underlying action and related project Errors: Throws error if user does not have access to action or project.
addCampaignCrmColumn
ChatGPTAdds a CRM field (from getCampaignCrmColumnOptions) as a read-only campaign table column, filled from each row's person or account. A field that is already a column is returned unchanged. Access: caller must have CRM access to the campaign workspace. Errors: missing campaign or table, or a field the workspace does not have.
addCampaignDeckColumn
ChatGPTAdds a workspace-branded presentation column for the requested topic and audience. Decks use the brief, relevant readable columns on each recipient row and authorized uploaded documents, including documents in row attachment cells. Every rendered slide is reviewed and repaired before a private PDF and editable HTML are saved. Accepted PDFs accompany new email drafts. With generateExisting (default true), queues existing people; later people get a deck when their add fills AI columns. Each deck uses Buzz AI credits; a campaign makes at most 100. Access: caller must have CRM access to the campaign workspace. Errors: missing campaign, empty label or prompt, the campaign's presentation limit, exhausted Buzz AI credits, or rate limit.
addCampaignResearchColumn
ChatGPTAdds an AI research column to the campaign table. With researchExisting (default true) it queues research for every person already in the table; people added later are researched only when their add asks for it. Each person's research uses Buzz AI credits. Access: caller must have CRM access to the campaign workspace. Errors: missing campaign, empty label or prompt, exhausted Buzz AI credits, or rate limit.
addDashboardTab
ChatGPTAttach an existing dashboard as a project tab. Links the original dashboard and preserves its contents and sharing permissions. Access: Requires write access to the target project and read access to the dashboard. Errors: Throws when either resource is inaccessible or belongs to another workspace.
addExpenseLine
ChatGPTAdds a line to an expense report.
addFilesToFileLibrary
ChatGPTAdd existing Hive files to the explicit File Library repository without duplicating or deleting the underlying files. If parentId is omitted and no sharingType is provided, files default to Only me. If parentId is provided and no sharingType is provided, files inherit folder access.
addFinanceRecordNote
ChatGPTAdds a note to a finance record.
addJournalLine
ChatGPTAdds a line to a general-ledger journal.
addPostReaction
ChatGPTAdds a reaction emoji to a post. Access: Requires user access to the workspace.
addProjectBudget
ChatGPTAdds a budget entry to a Hive project.
addProjectOwner
ChatGPTAdds a user to a project's owner list without removing existing owners. To replace owners, add the new owner before removing the previous owner so the project never has zero owners.
addPurchaseOrderLine
ChatGPTAdds a line to a purchase order.
addStatusToProjectView
ChatGPTAdds a status to a project's workflow. Use setCustomStatusColor afterward when the status also needs a custom color.
addWorksheetLine
ChatGPTAdds a line to a billing worksheet.
adjustWorksheetLine
ChatGPTAdjusts a billing worksheet line.
aggregateRecords
ChatGPTCalculates filtered totals for records the caller can access in one Hive table.
aiProofingLearnedInstructions
ChatGPTLists the workspace's active AI Proofing learned instructions: workspace-wide rules the proofing agents apply to every review. Newest-modified first. Access: workspace members (external users excluded).
applyActionTemplate
ChatGPTApplies an action template and returns section-placement details, including whether the default section was skipped.
applyAdvanceBilling
ChatGPTApplies an advance bill to a posted customer invoice: Dr the deferred revenue account / Cr accounts receivable, relieving the deferral against the receivable that invoice raised and reducing the invoice balance. Revenue is recognized by the invoice, so nothing is credited to revenue here — the application draws from the same deferred pool the recognition schedule draws from, and the recognition periods it consumes are reduced by the same amounts. Access: signed-in members of the advance billing's workspace with the billingInvoiceGenerate permission, in a workspace where finance is enabled. Errors: advance billing not found; the advance bill posted no issuance journal, so the deferral this would relieve was never credited; amount not greater than zero; amount above the unapplied balance; amount above the deferred revenue still held (revenue already recognized cannot be deferred again); source is not a posted customer invoice; invoice belongs to another customer; accounting period not found or not open; posting batch not found; posting date inside closed books; the advance billing, its invoice, or one of its recognition periods changed while it was being applied; and a refusal to post at all when the deployment cannot run the write in a transaction. Repeating a call with the same idempotencyKey returns the first result.
applyApprovalTemplate
ChatGPTApplies an approval template to an action, creating its configured rounds, ordered stages, and approvers.
applyBankRules
ChatGPTApplies active bank rules to eligible unmatched transactions.
applyCreditMemo
ChatGPTApplies a credit memo to a customer invoice.
applyFinanceTrialBalanceImport
ChatGPTImports the trial balance for a finance migration run.
applyProjectTemplate
ChatGPTApply a project template to an existing project. This mutation copies settings, structure, and configuration from a template project to a target project based on the importWith flags. Access: Requires user access to both template and target projects Returns: The updated target project
applyProofingFeedback
ChatGPTApply text changes requested by review feedback to an action's PDF proof and save the result as a NEW FILE VERSION in Hive (the original version is kept). Workflow: (1) call get_proofing_feedback; (2) for each item that asks for a text change, decide the exact literal replacement; (3) call this tool once with all edits; (4) report the new version and which edits were applied or skipped. Pass edits as {page, originalText, newText, feedbackId, region}: originalText is the exact text now on the page, kept as short as the change allows (a word or phrase, never a paragraph), and region is the feedback's region from get_proofing_feedback. Only make edits the feedback asks for; never global find/replace, and skip feedback that is not a text change (questions, layout, imagery) and say so. suggestionIds is a shortcut for Buzz AI suggestions that carry proposed text: each is applied as written at every location it lists. Each edit rewrites the text in place in the PDF's own content. An edit that cannot be made in place (for example originalText is not in the region, or the font cannot draw newText) is not applied and its feedback stays open; its warnings say why (in_place_unavailable:<reason>). The response lists per edit whether it applied, its fidelity (in-place, or in-place-fallback-font / in-place-substitute-font when glyphs came from another font) and warnings. If no edit applies, no version is created. With markResolved (default true) feedback whose edits all applied is marked addressed: suggestions resolved, comments completed with a short reply, and the version's comment threads are copied onto the new version.
approveCreditMemo
ChatGPTApproves a credit memo.
approveCustomerInvoice
ChatGPTApproves a customer invoice.
approveExpenseReport
ChatGPTApproves an expense report.
approveJournal
ChatGPTApproves a general-ledger journal.
approveProjectBudgetVersion
ChatGPTClear one step of the route holding a baseline. The baseline is numbered, supersedes the live one and locks the plan onto itself as the last step clears; until then it stays pending on the next approver.
approvePurchaseOrder
ChatGPTApproves a submitted purchase order, or clears one step of the rule route holding it. With a matched route, each call consumes the step the order is waiting on; the order reaches 'approved' — committing budget cost entries — only as the last step clears. Without a route the first call approves outright, exactly as before rules were enforced. Access: 'purchasingApprove' in a workspace where finance is enabled. A rule route can require more than that permission, never less: a step naming a user or team admits only them. Errors: refuses an order that is not submitted, and refuses a user the route is not waiting on.
approveVendorBill
ChatGPTAgrees the workspace owes this bill. Not the same authority as posting it: the approver/poster separation is the segregation-of-duties ruling, and there is deliberately no auto-approve-on-create preference. Access: 'purchasingApprove' in a workspace where finance is enabled.
approveVendorBillPayable
ChatGPTApproves the vendor bill payable linked to a purchase order.
approveWorksheetForBilling
ChatGPTApproves a billing worksheet at the billing review step.
approveWorksheetForPm
ChatGPTApproves a billing worksheet at the project-manager review step.
archiveActions
ChatGPTArchives or restores specified Hive action cards. Requires concrete, non-empty actionIds. Use only for Hive actions, not email, inbox, or message cleanup.
archiveBankRule
ChatGPTArchives a bank transaction categorization rule.
archiveCrmPipeline
ChatGPTArchives a CRM pipeline while preserving referenced opportunities. Access: workspace admins.
archiveCrmPipelineStage
ChatGPTArchives a CRM stage while preserving referenced opportunities. Access: workspace admins.
archiveCrmRecords
ChatGPTSoft-archives CRM records of one type; pass one ID for a single record. Records remain recoverable. Resolve IDs first and call only for an explicit archive, delete, or remove request; do not use it to close an opportunity—use closeOpportunity instead. Requires CRM access. Account batches fail when live child accounts exist outside the batch. Returns the archived-record count.
archiveDimension
ChatGPTArchives a finance reporting dimension.
archiveFieldDefs
ChatGPTArchives table field definitions without deleting stored record values. Access: Table editors, table creator, or workspace admins.
archiveFinanceRecurringSchedule
ChatGPTArchives a recurring finance schedule.
archiveGLAccount
ChatGPTArchives a general-ledger account.
archiveItem
ChatGPTArchives a finance item.
archiveService
ChatGPTArchives a finance billing service.
archiveTaxCode
ChatGPTArchives a finance tax code.
assignFinanceOwnerReviewer
ChatGPTAssigns an owner and reviewer to a finance record.
attachFilesToAction
ChatGPTAttaches existing Hive file IDs to an action. Use insertActions attachments while creating a new action. Loading file content does not attach it.
autoSelectCampaignRecipients
ChatGPTSelects and persists up to the campaign's target count of recipients after the audience preview is explicitly confirmed, choosing at most one objective-fit person per account and skipping accounts without a credible match. Requires campaign-workspace access and an existing audience definition; missing, unauthorized, or unconfirmed campaigns are rejected. Does not send.
beginStripeFinanceConnection
ChatGPTStarts Stripe's workspace authorization flow. Successful connections begin in read-only mode. Access: Finance setup editors. Errors: Stripe is not configured, or workspace access or setup-update permission is missing.
bulkApproveFinanceRecords
ChatGPTApproves the selected finance records.
bulkAssignFinanceOwnerReviewer
ChatGPTAssigns an owner and reviewer to the selected finance records.
bulkChangeFinanceRecordStatus
ChatGPTChanges the status of the selected finance records.
bulkPostFinanceRecords
ChatGPTPosts the selected finance records to the ledger.
bulkSubmitFinanceRecords
ChatGPTSubmits the selected finance records for review.
bulkUpdateActionsFollowers
ChatGPTAdds or removes the current user as a follower on specified actions.
bulkUpdateActionsType
ChatGPTSets the card type (action, risk, issue, decision, and so on) on one or more actions in a workspace; rank optionally repositions them. Proposal review cards keep their type, and the proposal type cannot be assigned. Access: logged-in workspace members; only actions the caller can access are updated. Errors: no access to any target action; proposal type locked or not assignable.
bulkUpdateProjectStatuses
ChatGPTBulk update project-level statuses for many projects in one call. Each row requires projectId. Resolve statusId or statusName against workspace Statuses. Returns per-row updated/skipped/failed outcomes. Access: Requires workspace access; each row enforces project access, and rows for read-only members fail ("Read-only project access").
bulkVoidCancelFinanceRecords
ChatGPTVoids or cancels the selected finance records.
cancelCampaignResearch
ChatGPTStops queued research on the campaign (all AI columns, or the given ones). Research already running finishes. Cells keep the value they had. Access: the user who queued it, workspace admins, or table managers.
cancelFinanceMigrationRun
ChatGPTCancels a finance migration run.
cancelFinanceRetainerAgreement
ChatGPTCancels a draft, active, or paused retainer and permanently closes any invoice executor. Access: same billing invoice generate and company-write gates as creation. Errors: agreement not found, invalid lifecycle state, or a stale concurrent update.
cancelPurchaseOrder
ChatGPTCancels a purchase order.
categorizeBankTransaction
ChatGPTAssigns a category to a bank transaction.
changeApprovalStageApprover
ChatGPTAdds or replaces a user, team, placeholder, or external approver at a numbered position in an approval stage. An existing approver at that zero-based index is replaced; an index beyond the current list appends an approver.
chatGroupLibrary
ChatGPTReturns media, files, and links shared in a group chat, grouped by category. Access: Requires user membership in the workspace and the group.
checkpointFinanceInvestigation
ChatGPTSave immutable research without changing accounting records. An identical retry returns the saved checkpoint. Re-read after a revision conflict. Access: accounting read and company/period access. Errors: investigation not found, invalid input or revision conflict.
clearTableRecords
ChatGPTSoft-deletes a bounded page of active records, including rows hidden by row-level access. Access: Table creator or workspace admin. Errors: Missing table, workspace mismatch, campaign table, invalid cursor, or invalid limit.
closeAccountingPeriod
ChatGPTCloses an accounting period.
closeAdvanceBilling
ChatGPTDrafts the revenue invoice that closes out an advance bill's unapplied balance, in one call instead of hand-authoring it. The draft goes through the same writer every generated invoice uses, so it is freely editable, never auto-sent, and each line carries the derivation an adjustment receipt is a diff against. It posts nothing: the deferral is relieved when a human posts the draft and applies the advance to it, which is the existing two-step rail. The close line credits the revenue account the advance bill stamped at issuance — the one its recognition schedule credits — so closing cannot recognize a single deferral into two accounts. Naming an item overrides that at posting, since an item states where its own revenue is earned. Access: signed-in members of the advance billing's workspace with the billingInvoiceGenerate permission, in a workspace where finance is enabled. Errors: advance billing not found; the member may not write the books the advance bill is filed in; the advance bill posted no issuance journal, so the application this draft exists for could never relieve it; nothing left unapplied; the advance bill is billed in a currency the draft-invoice rail cannot total; and a live closing draft already exists — post, edit or void it first, which is what stops the same deferred balance being asked for twice.
closeOpportunity
ChatGPTCloses an opportunity as won, lost, or dormant and applies its close-stage fields. Use this rather than updateOpportunity for explicit closure; both use the same close bundle. Confirm with the user before closing a Salesforce-synced opportunity whose externalId is set.
closePurchaseOrder
ChatGPTCloses an approved purchase order that will take no further vendor bills. The relief path for a prebilled cost accrual whose vendor invoice never arrives: the accrual is reversed on the closing date, and the order's open commitments and committed cost entries close with it. Distinct from cancelling, which ends an order that should not have been placed. Access: 'purchasingApprove' in a workspace where finance is enabled. Errors: refuses an order that is not approved, and refuses a missing or blank reason. Closing an already-closed order returns it unchanged.
completeFileLibraryUploads
ChatGPTCompletes direct uploads after verifying each stored object's size. Call after the client PUTs binary data outside GraphQL; pending records remain until explicit completion. Access: Authenticated users who created the protocol upload files. Errors: Throws when a file is inaccessible or its stored object is missing or mismatched.
configureAccountManagement
ChatGPTTurns Flywheel's proactive planning on or off for one account. Access: any user with CRM access to the account, while the workspace flag is on.
configureStripeFinanceChargeMapping
ChatGPTStores exact GL accounts for Stripe charge journal parity in one currency. Access: Finance setup editors. Errors: connection is missing or not Stripe, or accounts are inactive, duplicated, or use another currency.
confirmCampaignAudience
ChatGPTPersists the exact campaign accounts or people explicitly selected for an in-progress campaign build. It does not send campaign email. Access: caller must have access to the campaign workspace. Errors: missing campaign or unauthorized workspace access is rejected.
continueCustomAppAuthoring
ChatGPTAppends one server-persisted user turn to an App Studio authoring thread and dispatches Buzz. Returns once the run is dispatched, not once the edit is built: poll getBuzzMessages for the assistant reply and for the edit_custom_app and build_custom_app tool results, which carry the compile diagnostics, and getCustomAppVersions for the new version and its buildStatus. requestId is the client-generated message id and makes the call idempotent — repeating it re-delivers the same turn instead of appending a second one. text may carry code verbatim: it is HTML-escaped, not stripped, and a turn longer than 1,000,000 characters of escaped text is refused rather than truncated, so a turn never reaches Buzz half-read. Access: the thread's creator, in an App Studio workspace with Buzz enabled. Errors: workspace without App Studio, disabled Buzz, foreign or non-authoring thread, empty text, or text over the length ceiling.
convertActionToProject
ChatGPTCreates a project from an action and copies its subactions into the new project. The name defaults to the action title and membership defaults to the caller. Can apply a template, add members or teams, configure sharing, nest the project, and optionally delete the original action. Requires action and workspace access.
copyFileLibraryItems
ChatGPTCopies File Library items to another folder.
createAccount
ChatGPTCreates a CRM account in a Hive workspace.
createAccountingAllocationRule
ChatGPTDefines how a pool account is spread across receiving segments: the basis rows and their weights, and the two accounts its runs post between: the source pool it is spread from and the target account each receiving segment is charged in. Access: signed-in members of the workspace with the setupUpdate permission, in a workspace where finance is enabled. Errors: either account is missing or archived; or the rule would allocate nothing, charging the same account it relieves with no basis row naming a dimension.
createAccountingAllocationRun
ChatGPTCreates a draft run: the rule's basis split applied to a total, stored as lines that sum to it exactly. Nothing posts until postAccountingAllocationRun. Access: signed-in members of the workspace with the setupUpdate permission, in a workspace where finance is enabled. Errors: rule not found or inactive; the rule changed since the preview named by ruleModifiedAt; the total is not in the workspace base currency, scale and half-up rounding; the rule's basis total is not positive; or the total amount is not positive.
createAccountingExport
ChatGPTCreates an accounting export for the selected finance source types.
createAccountingPeriod
ChatGPTCreates an accounting period.
createAdvanceBilling
ChatGPTIssues an advance bill and posts it: Dr accounts receivable / Cr the chosen deferred revenue account, so money billed ahead of the work is on the trial balance from the day it is billed. The document's deferred revenue schedule and the recognition schedule that relieves it are created with it, in the same transaction as the journal. Access: signed-in members of the workspace with the billingInvoiceGenerate permission, in a workspace where finance is enabled. Errors: amount not greater than zero; schedule periods not greater than zero; deferred revenue account is not an active other current liability account; revenue account is not an active income account; no receivable or revenue account mapped for the workspace; issue date inside closed books; and a refusal to post at all when the deployment cannot run the write in a transaction, which keeps the document and its journal together. Not validated, and so not listed: the client account, the project and the invoice are stored as given. The pickers that author them offer only what this workspace holds, which is where that is decided today.
createAiProofingLearnedInstruction
ChatGPTAdds a learned instruction that AI Proofing applies to future reviews in the workspace. HTML is stripped; origin ANNOTATION with sourceAnnotationId records the proof comment it came from, and origin SUGGESTION with sourceSuggestionId records the AI suggestion it came from. Access: workspace admins. Errors: empty text, over 1,000 characters, duplicate instruction, workspace limit of 50.
createAppWorkflow
ChatGPTCreate an App Workflow. For Buzz jobs that should run deterministic published snippet code (especially API request triggers), use runBuzzSnippetVersion with snippetId. For open-ended Buzz prompts or digests, use sendAICommand. If the input is complex, vague, ambiguous, or multi-step and no published snippet fits, use sendAICommand even if Buzz is not explicitly mentioned. IMPORTANT: When creating workflows with cron triggers, specify recurrence ONLY in trigger.conditions.fieldValue (the recurring schedule definition), NEVER in the operation prompt. Before creating or updating a workflow with runBuzzSnippetVersion, call getBuzzSnippets if you only know the snippet name, then call getBuzzSnippetVersion for the publishedVersionId and read inputSchema.properties plus inputSchema.required. Build inputMapping as an array with one entry per snippet input field that should be populated: { inputField, value }. Use value { type: "path", path } for workflow context references; { type: "template", parts: [{ type: "text", text }, { type: "path", path }] } for strings assembled from context; { type: "string"|"number"|"boolean", value } or { type: "null" } for primitive literals; and { type: "json", value: "<JSON array or object>" } for complex literals. Common paths: trigger.action._id, trigger.action.title, trigger.action.description, trigger.action.status, trigger.action.projectId, trigger.action.assignees, trigger.action.labels, actionUrl, trigger.actionChange.triggeredFields, trigger.actionChange.fieldValues, workflow._id, workflow.name, workflow.workspace, now.iso, now.unix, trigger.fileId, trigger.folderId, trigger.name (File Library triggers), trigger.record._id, trigger.record.cells.<fieldKey>, trigger.record.workspace, trigger.table._id, trigger.changedFields, trigger.cellChanges.<fieldKey>.current (Table record triggers). For API request triggers, set inputMapping to null to pass the request payload through unchanged.
createBankAccount
ChatGPTAdds a bank account to the workspace ledger.
createBankConnection
ChatGPTCreates a bank-connection record in Hive's database. Does not contact Plaid or any bank and cannot initiate payments.
createBankRule
ChatGPTCreates a rule for categorizing bank transactions.
createBankTransactionPostingBatch
ChatGPTCreates a posting batch from selected bank transactions.
createBuzzCommand
ChatGPTCreate a new slash command
createBuzzSnippet
ChatGPTCreate a workspace-level Buzz snippet draft. Publish it before normal chat runs. Declare allowedTools/externalConnections for every Hive tool, HTTP connection, or MCP tool used by the code.
createCampaign
ChatGPTCreates a draft CRM campaign.
createCampaignFromGoal
ChatGPTCreates a campaign and its audience table from one goal sentence and returns at once, then builds the audience in the background: Buzz names the campaign, designs the audience, picks one person per account, and lands them as table rows with a fit score and the reason they were picked. Poll getCampaign and read tableBuild.stage for progress. Does not send email. With autoContinue, the build runs every step without stopping and answers its own questions with its best guesses; otherwise it stops after each step for continueCampaignBuild. Access: caller must be a non-external member of the workspace. Errors: empty goal or unauthorized workspace access is rejected.
createCreditMemo
ChatGPTCreates a credit memo for a customer invoice.
createCrmAssociation
ChatGPTCreates or upserts a CRM association. For Buzz and automation: after createOpportunity from an action context, either pass linkToActionId on the opportunity input or call this with linked_action and opportunity as fromObject fields and Hive action as toObject fields so the action CRM panel and opportunity activity surfaces show the durable link.
createCrmForm
ChatGPTCreates a CRM form and returns it with its public form id. Access: workspace members with CRM access. Errors: missing name and unauthorized CRM access are rejected.
createCustomerInvoiceLayout
ChatGPTCreates a customer invoice layout.
createDashboard
ChatGPTCreates a Hive dashboard with typed filters and optional sharing settings.
createDashboardWidget
ChatGPTCreates a widget on an existing Hive dashboard. Supports charts, lists, status summaries, and custom widgets with type-specific data, filters, layout, and presentation settings. Use the dashboard ID from current context; otherwise call getDashboards and ask which dashboard to use. Never invent containerId; unknown IDs fail with NOT_FOUND.
createDimension
ChatGPTCreates a finance reporting dimension.
createExpenseReimbursement
ChatGPTRecords in the Hive ledger that an employee expense reimbursement was already paid outside Hive. Does not pay the employee or move money. It is the employee-payee door onto the same bookkeeping path vendor bill payments are recorded through. Writes a FinanceVendorPayment carrying employeeUserId instead of vendorAccountId, allocated to the report, posts Dr A/P (under the report's identity, so the AP subledger and aging follow it) / Cr the payment account, and advances the report's paidAmount. The employee is never made a vendor account: that would drag a person into vendor tax profiles and 1099 eligibility. Void it with voidVendorPayment, which reopens the report's balance. Access: 'accountingPost' in a workspace where finance is enabled. Errors: refuses a report that is not posted, an amount above what the report still owes, and a payment in a currency other than the workspace's. Passing idempotencyKey makes the call safe to retry — a repeat returns the payment already recorded.
createExpenseReport
ChatGPTCreates an expense report.
createFinanceApprovalRule
ChatGPTCreate an approval rule. Audited: rules gate money thresholds, so the insert and its audit event share one transaction. Access: 'setupUpdate' in a workspace where finance is enabled. Errors: refuses a rule that can hold nothing — no record types, no approver steps, or two steps claiming the same sequence — and refuses a blank or over-long name.
createFinanceEliminationEntry
ChatGPTDrafts a consolidation adjustment. Nothing is checked beyond the shape of the lines here — the group, the accounts and the calendars are asked at post time, when the entry starts changing what a statement reports. Access: 'accountingPost' in a workspace where finance is enabled. Errors: the entry has no lines, or a line carries both a debit and a credit, neither, or a negative amount.
createFinanceExchangeRate
ChatGPTStores an exchange rate for a currency pair on a day. One rate per pair per day per company: two rates for the same day would make 'the latest rate on or before this date' ambiguous, so the second is refused rather than stored beside the first. Access: 'setupUpdate' in a workspace where finance is enabled. Errors: a currency is missing or the two match; the rate is not a decimal greater than zero; a rate for this pair on this date already exists.
createFinanceGlCompany
ChatGPTProvisions a company that keeps its own set of books. The first company a workspace adds becomes its default whatever the input says. Access: 'setupUpdate' in a workspace where finance is enabled. Errors: the company ID or name is blank; the company ID is already used in this workspace; the currency is not the workspace base currency; the workspace has no finance setup profile; another request moved the default while this one saved.
createFinanceIntercompanyMapping
ChatGPTOpens intercompany posting from one GL company to another, through the due-from and due-to accounts the pair balances across. Direction matters: a mapping from A to B is what lets a journal written from A reach into B's books, and B to A is a separate row. Access: 'setupUpdate' in a workspace where finance is enabled. Errors: either company does not exist in this workspace or is inactive; the two are the same company; this ordered pair is already mapped; the due-from account is not an active other current asset or the due-to account is not an active other current liability.
createFinanceMigrationRun
ChatGPTCreates a finance data-migration run.
createFinancePaymentTerm
ChatGPTAdds a payment term to this workspace. Terms are master data: they name a due rule that dates the invoices billed against them. Company attribution is recorded from this first write for the GL companies provisioning will introduce, and is null until they exist. A term may also offer an early payment discount, earned in a window measured the way the term itself falls due and closing no later than it does. Access: signed-in members of the workspace with the setupUpdate permission, in a workspace where finance is enabled. Errors: the name is empty, too long, or already held by an active term in this workspace; the input names both a day count and a day of the month, or neither; a due field is outside its range; the discount names a percentage without a window or a window without a percentage; the discount percentage is not above 0 and at most 100; the discount window is measured in the unit the term does not fall due in; the discount window closes after the term falls due; or a discount window is outside its range.
createFinanceRecurringSchedule
ChatGPTCreates a recurring finance schedule.
createFinanceRetainerAgreements
ChatGPTCreates one direct retainer draft, or materializes every distinct retainer term from an accepted proposal as an independently traceable draft. One proposal-level default remains one term even when it governs several lines. Repeating proposal materialization returns the existing agreements. Access: signed-in workspace members with the billing invoice generate permission and write access to the selected company. Errors: invalid or past execution terms, unsupported cadence or currency, missing client or project references, unaccepted proposal terms, or conflicting proposal-subject identity.
createFinanceRevaluationRun
ChatGPTCreates a draft revaluation run: every open foreign-currency balance priced at the date's rate, stored with both rates and both home figures per document. Nothing posts until postFinanceRevaluationRun. Access: signed-in members of the workspace with the setupUpdate permission, in a workspace where finance is enabled. Errors: everything previewFinanceRevaluationRun refuses, plus no unrealized exchange gain/loss account configured, and a run already holding the date — named, with its status, so the caller knows whether it is a draft they can discard.
createFixedAsset
ChatGPTCreates a fixed asset record.
createFolder
ChatGPTCreate a folder in the current workspace. For File Library (DAM) folders, pass type: fileStore. Root file-store folders default to Only me sharing unless nested under a parent folder (then sharing inherits from the parent). Notebook folders default to type notebook when type is omitted.
createForm
ChatGPTCreates a configured form that can create actions or projects or send email according to its targets. Match input elements to the data they collect. Resolve project IDs first; top-level projectId and actionsData.projectId must be 17-character alphanumeric IDs. The newProject sentinel is valid only when target includes action and project. Each creationConditions entry requires fieldId, comparisonOperator, and value. The number field type is unsupported. panel and paneldynamic containers require non-empty nested field arrays.
createGLAccount
ChatGPTCreates a general-ledger account.
createGoal
ChatGPTCreates a Hive goal with owners, targets, dates, sharing, and optional action, project, or subgoal measurements. Progress display accepts null, number, or actions measurements; number display also accepts overdue, while status display requires status measurement. Actions and overdue use actions/projects units, number uses currency/custom/percentage, and status uses subGoals. Custom unit values may be caller-defined; other values and symbols must match their unit type. Ongoing, recurring, and fixed date modes are mutually exclusive; fixed requires both dates with startDate before endDate.
createItem
ChatGPTCreates a finance item.
createJournal
ChatGPTCreates a general-ledger journal.
createMailDraft
ChatGPTCreate an email draft in the caller's connected Gmail or Outlook mailbox. Never sends: the draft stays in the mailbox's Drafts folder for the user to review and send themselves. The HTML body is stored exactly as given (links are not rewritten or wrapped). Gmail drafts also carry a text/plain alternative derived from the HTML; Outlook derives its own on send. For a reply draft pass inReplyTo (the replied-to message's internetMessageId) and, for Gmail, its threadId. Returns the created draft; its draftId is the id for updateMailDraft, updateMailDraftBody, getMailDraft and deleteMailDraft. Access: Requires authenticated user with connected mail provider. Errors: - User is not logged in - User does not have specified providerId connected - Unsupported mail provider - Recipient contains a line break - Outlook reply target not found in the mailbox
createOpeningReconciliation
ChatGPTCreates the opening reconciliation for finance migration.
createOpportunity
ChatGPTCreates a CRM opportunity.
createOpportunityBudgetBaseline
ChatGPTCuts a won deal's estimate into its delivery project's first budget baseline and links the project to the deal's account (making it the client when the project has none). Winning a deal never cuts a baseline by itself; use this when getOpportunityCommercials reports budgetBaselineMissing. Returns the project; a repeat call once the deal's baseline stands is harmless. Access: workspace members with CRM access who own the delivery project or are workspace admins. A won deal stands for the client's agreement, so like an accepted proposal the cut does not consult estimatesApprove or budget approval rules. Errors: opportunity not found; deal not won, has a proposal, or has no delivery project or lines; estimate and project currencies differ; project already has another budget.
createPerson
ChatGPTCreates a CRM person.
createPostingBatch
ChatGPTCreates a finance posting batch.
createPriorPeriodCorrection
ChatGPTCreates a correction for a posted journal from a prior period.
createProject
ChatGPTCreates a new project in a workspace with comprehensive configuration options. This is the primary mutation for project creation, supporting both basic project setup and advanced features like copying from existing projects, custom fields, etc. Access: Requires user access to the workspace Returns: The newly created Project object with all computed fields Errors: - Throws error if user doesn't have access to the workspace - Throws error if copyFrom project doesn't exist or user lacks access - Throws error if endDate is before startDate - Throws error if members don't have workspace access
createProjectBudgetVersion
ChatGPTCut a budget baseline. Returns it approved when no approval rule matched, and pending — held on the matched rule's route, with the plan untouched and still editable — when one did.
createPurchaseOrder
ChatGPTCreates a purchase order.
createReceipt
ChatGPTRecords in the Hive ledger a customer payment that was already received outside Hive. Does not collect or move money.
createReconciliation
ChatGPTCreates a bank reconciliation.
createRecords
ChatGPTCreates multiple records in one Hive table. Returns row-level validation errors for records that could not be created.
createReminder
ChatGPTCreates a one-time or recurring Hive reminder for specified workspace members and records its originating Hive object. Encode a one-time reminder with endingType after and endingAfter 1; recurring reminders use endingType never, after, or date with startDate.
createResourceAssignment
ChatGPTCreates a resource assignment for a user or placeholder. Defaults are assignmentType regular, allocationType fixedHours, and fixedDisplayType hours. When overriding allocation or display, supply allocationType and fixedDisplayType together as a compatible pair: - hoursPerDay + hours: set hoursPerDay. - fixedHours + hours: set fixedHours to total allocated hours. - fixedHours + days: set fixedHours to requested days times the workspace workday hours. - fixedHours + percentages: set allocationValue to the percentage; allocated hours are derived across the assignment's working dates.
createResourcePlaceholder
ChatGPTCreates a virtual team member for planning assignments before a person is designated. Workspace admins can also set bill and cost rates; other users can set the name and role.
createResourcingSavedView
ChatGPTCreates a named saved view owned by the caller. Access: workspace members. Errors: throws when the name is empty after sanitization or longer than the stored bound, when the caller already has a view of that name on this surface, when sharingType is anything other than 'me' or 'everyone', or when surface is userDirectory and directoryFilters is omitted.
createRetainer
ChatGPTCreates a customer retainer.
createScheduledMailMessage
ChatGPTCreate a scheduled mail message to be sent at a specified time. The message will be stored and processed by the scheduled mail processor. Access: Requires authenticated user. User must have valid mail provider credentials. Errors: - User is not logged in - Access denied - If the user does not own the specified email address.
createSequence
ChatGPTCreates a new outreach sequence in draft status with a name, owner, and optional description. Add its steps with createSequenceVersion, then activateSequenceVersion to make it live. Access: workspace members with CRM access; owner must be assignable in the workspace.
createSequenceVersion
ChatGPTCreates a new draft version of a sequence with the given steps, numbered after the latest version. The live version is unaffected until this one is activated. Access: workspace members with CRM access. Errors: sequence not found.
createService
ChatGPTCreates a service for finance billing.
createStripeFinanceDrafts
ChatGPTApproves selected Stripe charge rows and creates idempotent draft journals. Never posts them. Access: Finance accounting posters. Errors: connection, mapping, source row, period, or GL account is unavailable or invalid.
createTables
ChatGPTCreates Hive tables in a workspace.
createTax1099Run
ChatGPTCreates a 1099 preparation run for a tax year.
createTaxCode
ChatGPTCreates a finance tax code.
createTeam
ChatGPTCreates a team in the workspace and returns the created team. Requires non-external member access to the workspace. Fails when a team with the same name (case-insensitive, trimmed) already exists in the workspace.
createTimeEntries
ChatGPTCreates or updates workspace members' unsubmitted time entries. Workspace admins may target multiple members in one batch, including former (removed) members for historical imports; other callers may target only themselves. API keys act as their owning user and inherit that user's permissions, so admin-owned keys have the same cross-user access. Entries are grouped into weekly timesheets and upserted by user, container, category, and date. Submitted, approved, locked, unauthorized-user, and never-member writes are rejected. Use submitMyTimesheetsForApproval and updateTimesheetsStatus for status transitions.
createTimer
ChatGPTCreate a new timer, optionally associated with an action Access: Requires user to be logged in and have access to the workspace. If actionId is provided, the action must belong to the same workspace.
createUserFilterV2
ChatGPTCreates a saved Hive view filter.
createVendorBill
ChatGPTRecords a bill a vendor sent, with no purchase order behind it — rent, software, insurance, a subcontractor's invoice. Returns it as a draft: nothing reaches the ledger until postVendorBill, and every A/P read gates on the journal posting writes. The bill's totals are the sums of its lines; a caller never sends them. Access: 'purchasingCreate' in a workspace where finance is enabled. Errors: refuses a bill with no vendor, no number or no lines, a number this vendor already has a live bill under, and a currency other than the workspace's.
createVendorBillFromPurchaseOrder
ChatGPTCreates a vendor bill from a purchase order.
createVendorPayment
ChatGPTRecords in the Hive ledger a vendor payment that was made outside Hive (check, ACH, wire). Does not move money, contact a bank or pay anyone; it is bookkeeping only. This is the AP mirror of createReceipt. The bill is whichever target the input names: a purchase-order bill link, or a bill document. One verb serves both, so there is one set of period gates, idempotency guards and void paths to keep in step. Writes a FinanceVendorPayment allocated to the bill, posts Dr A/P (under the bill's identity, so the AP subledger and aging follow it) / Cr the payment account, and advances the settled bill. Access: 'accountingPost' in a workspace where finance is enabled. Errors: refuses an unposted bill, a link not marked ready for payment, an amount above what the bill still owes, and a payment in another currency. Passing idempotencyKey makes it safe to retry.
createVendorPaymentRun
ChatGPTBuilds a draft worksheet of vendor bills to record as paid: every bill ready for payment, grouped into one payment record per vendor, priced at each bill's outstanding balance. Writes nothing to the ledger and does not move money — the draft is the selection surface, stored so what an operator reviews is exactly what postVendorPaymentRun records. Bills that are ready but cannot be grouped — no vendor on the order, a currency this rail cannot settle — are reported in skipped rather than dropped. Access: 'accountingPost' in a workspace where finance is enabled — the same permission the sweep needs, because a draft run lists every vendor balance in the workspace. Errors: refuses a workspace with nothing ready to pay, and a selection larger than one run sweeps (narrow it with vendorAccountIds).
createWebhook
ChatGPTCreate a new webhook. Admin-only.
createWipBatch
ChatGPTCreates a work-in-progress posting batch.
createWorksheet
ChatGPTCreates a billing worksheet.
createWorksheetBatch
ChatGPTCreates one billing worksheet for each selected project.
createWorkspace
ChatGPTCreates a Hive workspace.
crossWorkspaceGoalsVisualization
ChatGPTRead-only cross-workspace goals visualization. Accepts a list of workspace IDs and returns a flat list of goals across the workspaces the viewer can access. Inaccessible workspaces are omitted silently (no error is surfaced) so that the caller cannot probe membership via this API. Caps: - up to 5 workspaces per request - up to 200 goals total across workspaces Access model reuses the existing per-workspace goal access primitives (workspaceIdAccessCheck + getGoalAccessClause); external workspace members are excluded, matching the single-workspace goal widgets.
deactivateFinancePaymentTerm
ChatGPTRetires a payment term from new billing. This is a status change, not a delete: the term stays readable so invoices that name it still resolve, and the same edit sheet reactivates it. Access: signed-in members of the workspace with the setupUpdate permission, in a workspace where finance is enabled. Errors: the term does not exist or is deleted.
deactivateFinanceSourceConnection
ChatGPTReturns an active operating source to read-only mode and clears its activation receipt. Access: Finance setup editors. Errors: connection is missing or inaccessible.
deferWorksheetLine
ChatGPTDefers a billing worksheet line.
deleteAiProofingLearnedInstruction
ChatGPTRemoves an AI Proofing learned instruction so future reviews stop applying it (soft delete). Access: workspace admins. Errors: not found.
deleteBuzzCommand
ChatGPTDelete a slash command (soft delete)
deleteCampaignRecipient
ChatGPTRemoves one person from a campaign by soft-deleting their campaign recipient. Live execution is cancelled before removal; cancellation failures preserve the recipient. Existing delivery history and the CRM person are retained. Returns false when already removed. Access: workspace members with CRM access; live execution also requires campaign or execution ownership. Errors: unauthorized access, failed cancellation, or a changed execution claim.
deleteCampaignRecipients
ChatGPTRemoves campaign recipients, retaining their delivery history and CRM people. Live executions are cancelled before removal; a cancellation failure leaves that recipient intact. Access: CRM access in every recipient workspace; live execution requires campaign or execution ownership. Errors: unauthorized access, failed cancellation, or a changed execution claim. Earlier recipients may already be removed if a later removal fails; read membership before retrying.
deleteCrmAssociation
ChatGPTSoft-deletes a CrmAssociation by id. Idempotent: returns false when the association is already deleted or not found, true when a row was soft- deleted. Access: requires workspace access to the association's workspace. Errors: none beyond the standard workspace access assertion.
deleteCrmForm
ChatGPTSoft-deletes a CRM form. Access: workspace members with CRM access to the form's workspace. Errors: unknown forms and unauthorized CRM access are rejected.
deleteCrmTableSavedView
ChatGPTSoft-deletes a CRM table saved view owned by the current user. Access: Workspace members with CRM access.
deleteCustomField
ChatGPTPermanently deletes a custom field from the workspace. This mutation removes a custom field definition and optionally removes all existing values of this field from actions and projects. This is a destructive operation that cannot be undone. Access: Requires workspace admin access Returns: The deleted CustomField object (marked as deleted) Errors: - Throws error if user doesn't have workspace admin access - Throws error if custom field doesn't exist - Throws error if custom field is already deleted
deleteFileLibraryFolder
ChatGPTDelete or trash a folder. For File Library (fileStore) folders, trashes the folder subtree (folders and library files inside). For notebook and other folder types, marks the folder deleted and may cascade related cleanup. Returns true when the operation succeeds.
deleteFinanceEliminationEntry
ChatGPTDeletes a draft entry. Posted and reversed entries are kept — reverse one instead. Access: 'accountingPost' in a workspace where finance is enabled. Errors: the entry is not found or is no longer a draft.
deleteFinanceExpenseLine
ChatGPTDeletes a line from a draft expense report.
deleteFinancePurchaseOrderLine
ChatGPTDeletes a line from a draft purchase order.
deleteFinanceReportSavedView
ChatGPTRemove one of the calling reader's report views, and answer with every view they still hold. The same list the save answers with, for the same reason. It replaces a boolean that said only that something had happened, leaving the caller to ask what it had been left with. Access: the reader who stored the view, in a workspace where finance is enabled. Errors: the view is not found or was stored by someone else, or finance is disabled for its workspace.
deleteGoal
ChatGPTSoft-deletes a Hive goal and removes it from active goal results. This does not archive Hive actions and is limited to the goal creator or a workspace admin. For bulk stale-goal cleanup, call getGoals first, list the targets, and delete only after the user confirms.
deleteHoliday
ChatGPTDeletes a holiday from a Hive workspace calendar.
deleteInvoiceLine
ChatGPTDeletes a line from a draft customer invoice.
deleteJournalLine
ChatGPTDeletes a general-ledger journal line.
deleteMessage
ChatGPTDeletes a message by ID (soft-delete). Only the message creator can delete it — attempting to delete another user's message returns an access-denied error.
deleteOpportunityLines
ChatGPTPermanently removes the given lines from an opportunity, then recomputes percentage discounts and syncs the opportunity amount unless it was manually overridden or a primary proposal supplies it. Access: workspace members with CRM access. Errors: opportunity or any line not found.
deleteProject
ChatGPTSoft-delete a project and its related data. Access: Requires project delete permission Errors: Throws error if user doesn't have access to delete the project
deleteRecords
ChatGPTSoft-deletes records from one Hive table so they can be restored. Applies each relation field's configured onDelete behavior and returns an outcome for each requested record.
deleteReminder
ChatGPTSoft-delete a reminder so it no longer fires (sets deleted: true). Pass reminderId from getReminders or getReminder. For vague requests ("cancel that reminder", "kill the daily one"): call getReminders first. If several reminders could match, list the candidates in chat and ask the user which reminderId to delete before calling this mutation. Confirm success after deletion.
deleteResourceAssignment
ChatGPTDelete a resource assignment by its id within a workspace. Soft-deletes the assignment (sets deleted: true) and clears its timesheets when the assignment was confirmed. Estimate Planner-owned assignments cannot be deleted. Pass the exact assignment id from a prior getResourceAssignments read; a missing or already-deleted id returns a not-found error. For stale-assignment cleanup, list candidates with getResourceAssignments and delete only after the user confirms. Returns true when an assignment was deleted.
deleteResourcingSavedView
ChatGPTSoft-deletes a saved view. Access: the view's creator.
deleteTables
ChatGPTSoft-delete; records become inaccessible, not destroyed
deleteTimeCategory
ChatGPTDeletes a time category and unassigns it from projects and actions. Unsubmitted timesheets in that category, and their time entries, are deleted too; submitted time is kept. Access: workspace members (external users excluded); admins only when the workspace restricts time category management. Errors: category not found or already deleted.
deleteTimer
ChatGPTDelete a timer (soft delete) Access: Requires user to be the owner of the timer
deleteTimesheet
ChatGPTUsed for deleting timesheets in "timesheet" tab in "Timesheets" app. Access: It requires user access. Deleting a timesheet that is already deleted (or never existed) is an idempotent no-op that returns the current document (or null). Errors: Returns specific expected errors if: user is not timesheet submitter
deleteWebhook
ChatGPTSoft-delete a webhook. Admin-only.
deleteWorksheetLine
ChatGPTDeletes a line from a draft billing worksheet.
designCampaignAudience
ChatGPTRegenerates a campaign audience definition from a follow-up design prompt. Access: caller must have access to the campaign workspace. Errors: missing campaign or unauthorized workspace access is rejected.
detachActionAttachment
ChatGPTRemoves one attachment from an action or action comment. Use the attachmentId returned by getActions or getActionComments and call once per attachment. Comment attachments can be removed by their sender, a project owner, or a workspace admin; action access is required.
disableActionCustomFields
ChatGPTDisables action custom fields in specified projects. removeFromActions also removes their stored values from actions.
disableBuzzSnippet
ChatGPTDisable the currently published version of a Buzz snippet.
disableProjectsCustomFields
ChatGPTDisables custom fields for specific projects. This should be used to disable only project itemType custom fields. Parameters: - customFieldIds: Required. The IDs of the custom fields to disable - projectIds: Required. The IDs of the projects to disable the custom fields for - workspaceId: Required. The ID of the workspace to disable the custom fields for
discardFinanceRevaluationRun
ChatGPTDiscards a draft run, giving back the day it holds so the date can be revalued again. A draft holds no journal and claims nothing, so nothing is reversed or released. A posted run is refused: its adjustment is in the ledger and leaves it only through the auto-reversal its own journal owes. Access: signed-in members of the run's workspace with the setupUpdate permission — the grant that created the draft — in a workspace where finance is enabled. Errors: run not found or already discarded; the run is posted; or it left the draft state while the discard was running.
discardWipBatch
ChatGPTDiscards a prepared (draft) WIP batch. Drafts hold no journal and claim no worksheet lines, so nothing is released or reversed; a posted batch is unposted, not discarded. The reason is sanitized, and one made only of whitespace or markup is stored as no reason at all. Access: signed-in members of the batch's workspace with the accountingPost permission, in a workspace where finance is enabled. Errors: WIP batch not found; batch is not prepared — a posted batch is unposted instead, and an already-discarded one cannot be discarded twice; and a concurrency refusal when the batch leaves the prepared state while this discard is running.
disconnectPlaidBankConnection
ChatGPTRevokes Hive's read-only Plaid access to a bank connection and removes it from the workspace. Does not affect the bank account itself.
discoverCampaignAudienceData
ChatGPTDiscovers CRM audience source data for campaign audience design. Access: caller must be a non-external member of the workspace. Errors: invalid or unauthorized workspace access is rejected.
dismissCampaignDiscoveryCandidates
ChatGPTMarks suggested candidates dismissed; their domains are excluded from later searches.
disposeFixedAsset
ChatGPTRecords the disposal of a fixed asset and its proceeds.
draftCampaignAudienceDefinition
ChatGPTDesigns an audience definition for new criteria from a description without saving anything. Used by the hidden Buzz thread designing a criteria; preview it with previewCampaignAudience. Access: caller must have CRM access to the campaign workspace.
draftOpportunityLines
ChatGPTUses AI to draft priced lines for an opportunity from a free-text brief. Replaces all existing lines with the draft and overwrites the opportunity description with the generated summary. Access: workspace members with CRM access. Errors: opportunity not found, empty brief.
drawdownRetainer
ChatGPTRecords a drawdown against a customer retainer.
dryRunBuzzSnippetVersion
ChatGPTStart an async dry-run of a draft/latest Buzz snippet version. Returns runId immediately; use wait with buzz_snippet_run before publishing. success on the final run record means the output passed semantic review.
duplicateAction
ChatGPTCopy/duplicate an action including its subactions, attachments, approval rounds, and dependencies. Returns the newly created action.
editProjectBudget
ChatGPTUpdates a budget entry on a Hive project.
emailNowForAccountCallMail
ChatGPTSends the call-mail row's own mailbox draft now, because the call did not connect, and completes the row. Access: the rep the row belongs to.
emailNowForCallMail
ChatGPTSends a scheduled CallMail email immediately.
enableActionCustomFields
ChatGPTEnables custom fields for actions in specific projects. This should be used to enable only action itemType custom fields. Parameters: - ids: Required. The IDs of the custom fields to enable - projectIds: Required. The IDs of the projects to enable the custom fields for - workspaceId: Required. The ID of the workspace to enable the custom fields for
endFinanceRetainerAgreement
ChatGPTEnds an active or paused retainer and permanently closes its invoice executor. Access: same billing invoice generate and company-write gates as creation. Errors: agreement not found, invalid lifecycle state, or a stale concurrent update.
enrollPersonInSequence
ChatGPTEnrolls a CRM person in a sequence.
ensureCampaignTable
ChatGPTReturns the campaign's audience table, creating it with the standard person columns when the campaign has none yet. Idempotent. Access: caller must have CRM access to the campaign workspace. Errors: missing campaign or unauthorized workspace access is rejected.
ensureGoogleDriveFolder
ChatGPTFinds or creates a folder in the connected Google Drive account.
executeCampaign
ChatGPTStarts execution for approved campaign recipient plans, including queued email sends. Before sending email, obtain explicit user consent for the sender, recipients and reviewed content. If consent is missing or there is any doubt about approval or scope, ask the user for explicit approval and wait for their answer before calling this tool. Approval to create or draft a campaign is not consent to send. Use recipientIds to scope a cohort; omitted recipientIds selects eligible planned recipients. An empty list is rejected. Returns before delivery: use getCampaignRecipients to read persisted play status and delivery evidence. Access: workspace members with CRM and Buzz access; email plans must be assigned to the caller. Errors: inactive campaign, unauthorized access, missing plans, or no eligible recipients.
executeSalesforceOperation
ChatGPTRuns Salesforce QUERY, SEARCH, INSERT, UPDATE, DELETE, UPSERT, MERGE, DESCRIBE, or CONVERT_LEAD. Uses an active workspace connection when workspaceId is supplied; otherwise uses the caller's connected Salesforce account. Requires a connection and valid operation-specific fields; parameter and Salesforce API failures are returned as errors.
exportCrmTableCsv
ChatGPTExports CRM table rows to CSV using the same server-side filters, search, and sort state as the list views. Access: Workspace members with CRM access. Errors: Throws if user lacks CRM access or the export entity type is not supported.
exportFinanceReportCsv
ChatGPTExports a finance report as a CSV file.
exportFinanceReportXlsx
ChatGPTExports a finance report as an Excel workbook.
exportFinanceTableRecords
ChatGPTExports records from a selected finance table.
exportTablesCsv
ChatGPTExport filtered table rows as CSV (up to 5,000 rows).
fetchFiles
ChatGPTDownload files from external HTTPS URLs. Images return as viewable base64; binary files as raw base64; text files as UTF-8. For Hive action attachments and comment files, use attachFiles with fileIds from getActions or actionComments instead.
fetchGoogleDriveFile
ChatGPTGets the content of a file from the connected Google Drive account.
finalizeReconciliation
ChatGPTFinalizes a bank reconciliation.
findCampaignPeople
ChatGPTStarts an AI add run in the background and returns at once: reuses a criteria column or designs new criteria, scores every eligible account, picks one person per account in rank order, and adds them as rows with their score (research then tweaks scores for metrics_research criteria). People already in the table are skipped. Poll getCampaign and read tableBuild. Does not send email. Access: caller must have CRM access; pdl also needs the crmProspectDiscovery feature. Errors: a run already live, missing campaign, invalid criteria input, or unauthorized access.
findChats
ChatGPTLists Hive direct messages, group chats, and threads the caller can access. Supports member, type, text, sorting, and cursor-pagination filters. Use member IDs to resolve a chat ID before sending a message; use type instead of deprecated oneToOne. Requires workspace and chat access.
generateCustomerInvoiceDraft
ChatGPTCreates a draft customer invoice from a billing-approved worksheet.
generateCustomerInvoiceDrafts
ChatGPTConverts a selection of billing-approved worksheets into draft customer invoices, one per worksheet, by running generateCustomerInvoiceDraft for each. A worksheet that cannot convert is reported in results and leaves the rest of the selection untouched. Access: Requires the finance feature and the billingInvoiceGenerate permission — the same permission generateCustomerInvoiceDraft enforces, asserted per worksheet. Ids are confined to workspaceId, so a worksheet in another workspace is reported as not found rather than by its status. Errors: Throws when the user is not logged in, the workspace has finance disabled, the selection is empty, or it names more worksheets than one run allows. Everything a single conversion can refuse — a missing worksheet, a worksheet not yet billing-approved, an already-invoiced status mismatch, no billable lines, a payment-term problem — is reported per row in results rather than thrown.
generateFinanceRecurringScheduleNow
ChatGPTGenerates the occurrence this schedule already owes, now, instead of waiting for the nightly run — the same planner, the same generator and the same claim, taken early. It cannot bill early: "now" advances the timing of the run, never of an occurrence, so a schedule whose next occurrence is still in the future is refused rather than pulled forward. Access: the permission that authors this schedule's document type by hand.
generateFixedAssetSchedule
ChatGPTGenerates the depreciation schedule for a fixed asset.
generatePipelineCoachSummary
ChatGPTGenerates an AI coaching summary of the CRM pipeline (headline, summary, risks, opportunities, recommended actions), optionally scoped by owners and close-date window. Results are cached per scope for 24 hours; forceRefresh regenerates. Access: workspace members with CRM access.
generateProposalDocument
ChatGPTRedrafts the proposal's Word document in the background; it takes a few minutes, and the draft opens in the proposal when it is ready while the previous one stays in its history. A first draft is written from the template; a redraft revises the document as it is now, following instructions (the changes asked for, and any answers the user gave). Access: caller must have CRM access to the proposal's workspace. Errors: when the proposal's inputs changed since they were last checked, call analyzeProposalReadiness with the same instructions instead.
getAccessibleHttpConnections
ChatGPTLists HTTP connections the caller can access in a workspace, including owned, directly shared, and workspace-wide connections. Use the results to identify reusable API connections.
getAccessibleMcpServers
ChatGPTLists MCP servers the caller owns or can access in a workspace, optionally filtered by ID. Use the results to identify reusable service connections.
getAccount
ChatGPTFetches a single CRM account by ID with its full details. Returns null when the account is deleted; use getAccounts to search or list accounts. Access: workspace members with CRM access. Errors: account not found.
getAccountCampaignRecipientStates
ChatGPTLists unsuppressed planned, active, waiting and approval-pending work for an account in active or paused campaigns. Access: current CRM access in the account's workspace. Returns at most 200 records; a full page may omit further commitments.
getAccountCommercials
ChatGPTRolls up commercials across all of an account's opportunities: pipeline, weighted, and SOW totals, plus delivery baselines per kicked-off project (kept separate, never summed). Access: users with access to the account.
getAccountMaterials
ChatGPTFiles and File Library folders linked to this CRM Account as materials. Gated by account access.
getAccountProductActivity
ChatGPTCognition-gated product activity rollup from customerEventLog for this CRM account. lookbackDays is clamped to 90.
getAccountProofingGuidelineNodes
ChatGPTLists proofing guideline file/folder nodes linked to an account. Access: requires access to the account.
getAccountSubscriptionAggregate
ChatGPTAggregates CRM account subscription values such as total account ARR, subscription ARR, addon ARR, addon quantity, or subscription seats. Read-only; callers can use the result to update a goal through updateGoal.
getAccountingAllocationRules
ChatGPTLists the workspace's allocation rules for the Allocation rules section. Search matches what a row displays — the rule name, its basis-type and status labels, and its basis row labels — rather than the stored keys behind them. Access: signed-in members of the workspace with finance report read access. Errors: workspace not found, or finance not enabled for it.
getAccountingAllocationRulesCount
ChatGPTTotal allocation rules matching the same filters as getAccountingAllocationRules, for the list's row count. Access: signed-in members of the workspace with finance report read access. Errors: workspace not found, or finance not enabled for it.
getAccountingAllocationRuns
ChatGPTLists allocation runs for the Allocation runs section. Search matches the run's rule name and its displayed status label, resolving the name through the workspace's rules. Access: signed-in members of the workspace with finance report read access. Errors: workspace not found, or finance not enabled for it.
getAccountingAllocationRunsCount
ChatGPTTotal allocation runs matching the same filters as getAccountingAllocationRuns, for the list's row count. Access: signed-in members of the workspace with finance report read access. Errors: workspace not found, or finance not enabled for it.
getAccountingDiagnostics
ChatGPTReturns accounting diagnostics for the workspace.
getAccountingIntegrationHealth
ChatGPTReturns the connection and sync health of accounting integrations.
getAccountingMappingTaxAgencies
ChatGPTImported tax agencies for accounting mappings, including retired identities used by history. Requires finance access.
getAccountingMappings
ChatGPTLists accounting mappings matching the supplied filters.
getAccountingMappingsCount
ChatGPTCounts accounting mappings matching the supplied filters.
getAccountingPeriod
ChatGPTReturns one accounting period in the workspace.
getAccountingPeriodUnownedPostings
ChatGPTThe posted journals no period on the register owns — the complement of every period-scoped read, and the only place the question can be asked: a period sheet reports what it owns, and nothing owns these. glCompanyId narrows to one company's books on the same terms as getAccountingPeriods.
getAccountingPeriods
ChatGPTLists accounting periods matching the supplied filters.
getAccountingPeriodsCount
ChatGPTCounts accounting periods matching the supplied filters.
getAccountingReferences
ChatGPTLists accounting references associated with a finance source record.
getAccounts
ChatGPTLists CRM accounts in a Hive workspace.
getActionByWorkspace
ChatGPTGet an action by ID/simpleId and workspaceId Access: Requires user access to the action Parameters: - actionId: The ID or simpleId of the action to retrieve - workspaceId: The ID of the workspace to retrieve the action from. Returns: The requested action
getActionDependencies
ChatGPTLists dependency edges involving specified actions; include the focal action and known neighbors. source is the predecessor that blocks, target is the dependent successor. type is 0 for finish-to-start, 1 start-to-start, 2 finish-to-finish, or 3 start-to-finish. Inaccessible actions and links are omitted; use getActions for fuller action details.
getActionHistory
ChatGPTList audit history for an action, including event type and actor metadata. Access: Requires access to the action.
getActionTemplates
ChatGPTGet all action templates for a workspace
getActionableAccountCallMails
ChatGPTThe signed-in user's Flywheel call-mails, soonest first. Access: Workspace members with CRM access. Errors: The caller is unauthenticated or lacks CRM access.
getActionableCallMailSteps
ChatGPTReturns ready CallMail work owned by the signed-in user. Access: Workspace members with CRM access. Errors: The caller is unauthenticated or lacks CRM access.
getActions
ChatGPTReturns a paginated list of actions by workspaceId and ID/simpleId
getAdjustingJournalEntriesReport
ChatGPTLists adjusting journal entries for the selected reporting period or date range.
getAdvanceBillings
ChatGPTLists advance billings matching the supplied client and status filters.
getAdvanceBillingsCount
ChatGPTCounts advance billings matching the supplied client and status filters.
getAllWorkspaceHolidays
ChatGPTLists all holidays in a Hive workspace.
getApAgingReport
ChatGPTSummarizes accounts-payable balances by age as of the selected date.
getApStatusReport
ChatGPTSummarizes accounts-payable balances by status.
getAppWorkflowRuns
ChatGPTLists non-deleted workflow runs newest first, including running, completed, failed, skipped and cancelled root and child runs. Equal creation timestamps are ordered by run ID. Retrieve operation errors, Buzz thread IDs, scheduled occurrence, lineage and candidate skip summaries by workflow ID. Errors and candidate summaries require workflow creator/owner or workspace admin access. Legacy records have null optional diagnostics. Access: authenticated internal members of the workflow's workspace. Errors: not logged in, no workspace access, workflow not found, invalid cursor, or page size outside 1–100.
getAppWorkflows
ChatGPTLists app workflows in a workspace the caller can access.
getApprovalRounds
ChatGPTRetrieve all approval rounds for a specific action. Returns a paginated list of approval rounds. Use this to view existing approval rounds on an action before modifying stages or approvers.
getApprovalStages
ChatGPTRetrieve all approval stages for a specific approval round. Returns a paginated list of stages. Use this to view existing stages in a round before modifying approvers or stage settings.
getApprovalTemplates
ChatGPTList all available approval templates in a workspace. Use this to discover which approval templates can be applied to actions. Templates provide pre-configured approval workflows with stages and approvers that can be reused across multiple actions.
getArAgingReport
ChatGPTSummarizes accounts-receivable balances by age as of the selected date.
getArStatusReport
ChatGPTSummarizes accounts-receivable balances by status.
getArStatusReportPage
ChatGPTAR status (collections) as a page: full-population bucket totals beside a capped drill-down. Read this rather than getArStatusReport on any surface that states a balance — the totals come from buckets, so the row cap cannot move the money on screen. Access: workspace members with finance read access. Errors: throws when the caller is anonymous or has no finance access to the workspace.
getBalanceSheetReport
ChatGPTReturns a balance sheet as of the selected date, with optional comparisons.
getBankAccounts
ChatGPTLists bank accounts with current and available balances, currency, and balance freshness. Access: Requires workspace membership and the Finance feature. Errors: Throws when the caller cannot access Finance in the workspace.
getBankConnections
ChatGPTLists the workspace’s connected bank and accounting providers.
getBankFeedHealth
ChatGPTReturns the workspace bank-feed connection and synchronization status.
getBankFeedParity
ChatGPTCompare the two feeds for one GL cash account, day by day, over a window. Access: finance feature access and the setupRead permission, the same gate the bank feed screen's health read takes, since this answers for the same accounts. Errors: refuses when the window ends before it starts, when the bank accounts mapped to the GL account state more than one currency, and when any row inside the window states an amount that cannot be read exactly — a total with a silently dropped row is the one answer a parity check must never give.
getBankRules
ChatGPTLists bank transaction rules matching the supplied search and status filters.
getBankRulesCount
ChatGPTCounts bank transaction rules matching the supplied search and status filters.
getBankTransactions
ChatGPTRead bank transactions, including source changes, pending state and existing match references. A period narrows to its company and clearing dates. No period reads the caller's companies. Access: finance enabled and visibility of the company that holds the transaction. Errors: workspace access denied or an unknown accounting period.
getBankTransactionsCount
ChatGPTCount bank transactions with the same filters and company access as the list. Access: finance enabled and visibility of the transaction company. Errors: workspace access denied or an unknown accounting period.
getBaselineUserFilterByTabId
ChatGPTReturns the shared baseline filter and view state for a view tab. Access: Requires user access to the tab in the given workspace or a valid share token for the tab. Errors: Returns NotLoggedIn if the caller is unauthenticated without a valid share token, NO_ACCESS_TO_WORKSPACE if the tab does not belong to workspaceId, or tab access errors when the caller lacks access to the tab.
getBillingPipelineReport
ChatGPTSummarizes work and invoices moving through the billing pipeline.
getBillingPipelineSummary
ChatGPTThe Billing pipeline tile on the reports landing, without the report's rows. Read this rather than getBillingPipelineReport on any surface that draws the figure and the count and renders no rows — it is the same reduce over the same rows, made on the server. Access: workspace members with finance read access. Errors: throws when the caller is anonymous or has no finance access to the workspace.
getBillingStatusReport
ChatGPTSummarizes billing status using the supplied report filters.
getBillingStatusReportPage
ChatGPTBilling status as a page: a capped drill-down beside the count of the population it was cut from. Read this rather than getBillingStatusReport on any surface that renders the rows — the uncapped field hands a large workspace every worksheet line and customer invoice it has. Access: workspace members with finance read access. Errors: throws when the caller is anonymous or has no finance access to the workspace.
getBuzzAutomationHandoffPreview
ChatGPTPreview a Buzz automation handoff without writing: validates it exactly like transferBuzzAutomationOwner and returns what would move. Same access rules and errors.
getBuzzCommands
ChatGPTGet slash commands for a workspace. Can filter by specific IDs or search by name prefix.
getBuzzMessages
ChatGPTFull message transcript for one Buzz thread, oldest first, including the assistant's answers and the tool calls and tool results behind them. This is how a caller reads what Buzz did after an asynchronous mutation such as continueCustomAppAuthoring returned: poll until an assistant message newer than the turn you sent appears. Access: authenticated member of the thread's workspace. Errors: inaccessible thread.
getBuzzSnippetErrorLogs
ChatGPTList failed and timed-out production snippet runs the current user can access. Each row exposes first-class input (schema + value) and response (schema + result) for audit.
getBuzzSnippetExternalConnections
ChatGPTList HTTP connections and MCP servers the current user can attach to Buzz snippets. If no suitable connection exists, research whether MCP or HTTP is the right integration path, recommend one setup option with service docs links, and wait for user confirmation before creating it.
getBuzzSnippetRun
ChatGPTPoll a Buzz snippet run by runId (from runBuzzSnippetVersion / dryRunBuzzSnippetVersion). Use while a run is in progress or after wait resumes with buzz_snippet_run.
getBuzzSnippetSampleInput
ChatGPTGenerate sample input matching a snippet version's inputSchema for testing. ID-like fields (actionId, projectId, userId, labelId, ...) are resolved to real records the current user can access in the snippet's workspace; kinds with no accessible record fall back to format-valid random ids.
getBuzzSnippetVersion
ChatGPTGet one snippet version by versionId. versionId must be a BuzzSnippetVersion _id, not the snippet name. If only a snippet name is known, call getBuzzSnippets with search first, then use latestVersionId for editing; normal runs pass the snippet _id to runBuzzSnippetVersion, which resolves the published version itself. Buzz should inspect inputSchema/outputSchema before running it.
getBuzzSnippets
ChatGPTGet deterministic Buzz snippets available in a workspace.
getBuzzThread
ChatGPTMetadata for one Buzz thread — status, title, and last activity — without its messages. status reports whether the agent run is still going: unstarted or inProgress means a reply is still coming, completed or failed means it is done. Use getBuzzMessages for the transcript. Access: authenticated member of the thread's workspace. Errors: inaccessible thread.
getCampaign
ChatGPTGets a CRM campaign by ID.
getCampaignAccountMeetingSignals
ChatGPTFuture linked-meeting signals for campaign accounts. Used in the builder people step to filter accounts eligible for add-to-meeting plays. Counts only meetings you can read. A meeting is readable when you are its organizer or an attendee, when it is linked to a CRM record and you have CRM access, or when you hold a meetingUserData doc for it (your own, or one shared with you by name); 'everyone' sharing grants nothing.
getCampaignAudiencePipeline
ChatGPTRead existing pipeline state and a bounded recipient preview. Access: campaign CRM readers.
getCampaignCellResearch
ChatGPTDetails behind one campaign table cell: for a criteria column the metrics breakdown, the research score and the Campaign Score; for a research column the result. With sources. Null when the cell has no details. Access: caller must have CRM access to the campaign workspace.
getCampaignCellResearchStates
ChatGPTResearch docs of a campaign in the given statuses (default queued, running, failed), for cell spinners and failure badges. Results whose cell write has not landed yet come back whatever statuses are asked for, so a cell keeps its spinner until it shows the new value. Light: read details with getCampaignCellResearch. Access: caller must have CRM access to the campaign workspace.
getCampaignCrmColumnOptions
ChatGPTCRM person and account fields that could be columns of the campaign table, with how many rows have a value for each. Access: caller must have CRM access to the campaign workspace.
getCampaignEngagementPeople
ChatGPTThe people behind one campaign Stats number: who was emailed, opened, clicked a link or replied, with when and how. Only recipients still on the campaign are listed. Access: caller must have CRM access to the campaign workspace.
getCampaignEngagementTimeline
ChatGPTCampaign email activity by calendar day in an IANA time zone (UTC when unknown): emails sent, and people who first opened or first clicked a link. Days without activity are omitted. Access: caller must have CRM access to the campaign workspace.
getCampaignPersonSpamRisks
ChatGPTSpam risk per person for campaign audience selection. Read-only; nothing is persisted. Up to 1000 people per call; every requested person gets a row. Access: caller must have CRM access to the workspace. Errors: unknown campaignId or unauthorized workspace access is rejected.
getCampaignPilot
ChatGPTRead the pilot recipient, saved research, first draft, and campaign preparation progress. Requires CRM access.
getCampaignPlay
ChatGPTFetches one CRM play from the catalog by slug. Returns null for an unknown slug. Access: any logged-in user.
getCampaignPlays
ChatGPTLists the full catalog of CRM plays (the strategic reasons for pursuing a recipient) with their scopes, default contact approach, and preferred artifacts. Use it to pick a play slug for recipient strategies or associations. Access: any logged-in user; the catalog is the same for every workspace.
getCampaignRecipientPersonSelections
ChatGPTLists which people are already recipients of a campaign, one entry per person with their recipient ID and status. Lighter than getCampaignRecipients when only membership is needed. Access: workspace members with CRM access. Errors: campaign not found.
getCampaignRecipients
ChatGPTLists recipients for a CRM campaign, or only the given people's recipients with personIds.
getCampaignResearchProgress
ChatGPTCounts of research on the campaign that has not settled yet, for the progress band. Access: caller must have CRM access to the campaign workspace.
getCampaignTable
ChatGPTThe campaign's audience table, or null when it has not been created yet. Access: caller must have CRM access to the campaign workspace.
getCampaignToolApprovals
ChatGPTLists campaign-native Buzz approvals assigned to the current execution actor.
getCampaigns
ChatGPTLists CRM campaigns in a Hive workspace.
getCashFlowJournals
ChatGPTOne page of posted journals contributing cash to a statement activity total. Access: Members who can read the requested Finance report and company books. Errors: Requires Finance report access, a readable company when selected, and a bounded posting-date range.
getCashFlowStatementReport
ChatGPTReturns a cash-flow statement for the selected date range and columns.
getCashForecast
ChatGPTReturns the cash forecast from scheduled receipts, payments, and other cash movements.
getCashForecastDocuments
ChatGPTDocuments contributing to one cash forecast source and period; omit bucketIndex for its total. Access: Finance reports read access for the complete workspace. Errors: Invalid source, period or date; unreadable financial amounts.
getCatalogRecordAvailability
ChatGPTSold/available inventory for catalog records. Sold counts line quantities from accepted proposals only; capacity is read from each record's configured field.
getClientProfitability
ChatGPTSummarizes profitability by client using the supplied report filters.
getCloseReadiness
ChatGPTReturns period close readiness and outstanding reconciliation requirements.
getCreditMemoRevenueAllocation
ChatGPTReturns the revenue allocation breakdown for a credit memo.
getCreditMemos
ChatGPTLists credit memos issued for a customer invoice.
getCrmAccountMemory
ChatGPTRead account background and current plan. Access: account CRM access and access to every contributing source.
getCrmAssociations
ChatGPTLists CRM associations matching the supplied entity filters.
getCrmAuditLogs
ChatGPTField-level change history for one CRM record, newest first. Access: Workspace members with CRM access.
getCrmEmailImportCoverage
ChatGPTRollup of what email import did with the threads it was handed, over a trailing window. Answers how much mail a workspace is not capturing and why — the skip reasons are decided per thread at import time and were otherwise discarded. Counts only. Nothing identifying the threads or their participants is recorded, deliberately: threads with no CRM relationship are dropped without storing anything about them, and a per-thread skip log would put exactly those addresses back into the database.
getCrmForms
ChatGPTLists CRM forms for a workspace. Access: workspace members with CRM access. Errors: invalid or unauthorized workspace access is rejected.
getCrmLinkedMeetings
ChatGPTLists one row per meetingUserData doc the caller can read, so the same meeting appears once per readable doc. A meeting is readable when you are its organizer or an attendee, when it is linked to a CRM record and you have CRM access, or when you hold a meetingUserData doc for it (your own, or one shared with you by name); 'everyone' sharing grants nothing. Since this requires CRM access, every doc on a CRM-linked meeting is listed; a meeting with no doc at all has no row here. CRM links (people, accounts, opportunities) decorate and filter the rows. Access: Workspace members with CRM access. Errors: Throws if the user is logged out or lacks CRM access.
getCrmPipelineMapReport
ChatGPTAggregates open opportunity value by account for the CRM pipeline map. Access: workspace members with CRM read access. Errors: unauthenticated, inaccessible workspace, disabled CRM, or missing CRM permission.
getCrmPipelines
ChatGPTLists workspace CRM pipelines in configured order. Access: workspace members with CRM access.
getCrmTableSavedViews
ChatGPTReturns saved CRM table views for the current user and workspace. Access: Workspace members with CRM access.
getCurrentApprovalRoundAndStage
ChatGPTGets an action's active approval round and stage, including each approver's status. Returns null when no accessible approval stage is awaiting a decision.
getCustomApp
ChatGPTApp Studio workspaces only. Get one available Custom App. Access: authenticated owner, editor, selected recipient, or workspace member for workspace-wide apps. Errors: unavailable environment, Custom App not found, or inaccessible workspace.
getCustomAppVersion
ChatGPTApp Studio workspaces only. Get one immutable Custom App version. Access: owner and editors can read any version; recipients can read only the published version. Errors: unavailable environment, version not found, or inaccessible workspace.
getCustomAppVersionSource
ChatGPTApp Studio workspaces only. Read the source compiled into one immutable Custom App version. Access: authenticated owner or editor. Errors: unavailable environment, version not found, inaccessible workspace, artifact storage unavailable, or source that no longer matches its persisted hash.
getCustomAppVersions
ChatGPTApp Studio workspaces only. List an editable Custom App's immutable versions, newest first. Access: authenticated owner or editor. Errors: unavailable environment, Custom App not found, or inaccessible workspace.
getCustomApps
ChatGPTApp Studio workspaces only. List Custom Apps available to the current user in one workspace. Access: authenticated workspace member; results include owned, editable, directly shared, and workspace-wide apps. Errors: unavailable environment, unauthenticated user, or inaccessible workspace.
getCustomFields
ChatGPTLists custom fields for a workspace, form, or project action view. Supports item type, action type, removal state, text, sorting, and cursor-pagination filters.
getCustomerInvoiceLayouts
ChatGPTLists customer invoice layouts matching the supplied filters.
getCustomerInvoiceLayoutsCount
ChatGPTCounts customer invoice layouts matching the supplied filters.
getCustomerInvoiceLines
ChatGPTRead lines from one customer invoice, including source identities and billing descriptions. Access: finance enabled and visibility of the parent invoice company. Errors: invoice not found or access denied.
getDashboardWidgetData
ChatGPTFetches computed live data for chart-builder dashboard widgets (bar, pie, line, numbers, pivot). Returns normalized values plus an optional raw data payload. Use getDashboardWidgets to obtain widgetId and widget type.
getDashboardWidgets
ChatGPTRetrieves all widgets associated with a specific dashboard. Common use cases: 1. Loading a dashboard's initial state 2. Refreshing dashboard content 3. Exporting dashboard configuration
getDashboards
ChatGPTRetrieves a paginated list of dashboards with filtering and sorting
getDimensions
ChatGPTLists finance reporting dimensions matching the supplied filters.
getDimensionsCount
ChatGPTCounts finance reporting dimensions matching the supplied filters.
getDocumentNumberSequences
ChatGPTLists document-number sequences matching the supplied filters.
getDocumentNumberSequencesCount
ChatGPTCounts document-number sequences matching the supplied filters.
getEmailThread
ChatGPTFetch all messages for a provider mail thread by thread ID. Unlike getEmails, this does not depend on the currently loaded mailbox page, so draft threads can render their prior context.
getEmails
ChatGPTGet emails from the user's mailbox with support for pagination. If there are more emails available beyond the current page, the response will include a "nextPageToken". To retrieve the next batch of results, call "getEmails" again using the same filters and pass the returned "nextPageToken".
getExpenseLines
ChatGPTLists the lines on an expense report.
getExpenseReports
ChatGPTLists expense reports matching the supplied status and search filters.
getExpenseReportsCount
ChatGPTCounts expense reports matching the supplied status and search filters.
getExternalDashboardData
ChatGPTExecutes an ExternalData widget's live data contract. HTTP connection requests authenticate with the connection's own credentials (its stored headers/session or its owner's OAuth token); the Hive workspace dataset stays scoped to the widget creator.
getFileLibraryActivity
ChatGPTPaginated File Library activity. Use resourceId/resourceType for a single file or folder, or specificIds to fetch known activity events by ID.
getFileLibraryUploadStatus
ChatGPTReturns current status for protocol-created File Library files. Use this to recover uncertain completion or read confirmation; it does not advance a client-owned binary upload. Access: Authenticated members with access to the workspace and files. Errors: Throws when workspace or file access is denied.
getFiles
ChatGPTGets Hive files by ID.
getFinanceAdvanceBillingAccountOptions
ChatGPTLists the GL accounts an advance bill may be issued against, without balances. Access: Requires the finance feature and the billing invoice generate permission — the same permission createAdvanceBilling enforces, so anyone shown this picker can issue what it offers. Errors: Throws when the user is not logged in, the workspace has finance disabled, or the user lacks the billing invoice generate permission.
getFinanceApprovalRuleApproverCandidates
ChatGPTWorkspace members with the record types each could clear an approver step for, sorted by display name. Feeds the rule dialog's approver picker: rule save refuses an approver who cannot clear the selected record types' gates, so the picker filters on this rather than offering every member and surfacing the dead choice as a save error. Access: the finance feature gate plus setupUpdate — the same permission rule save asserts, because derived per-member permission data exists only for rule authoring. Errors: none beyond the access gates.
getFinanceApprovalRules
ChatGPTThe workspace's approval rules, lowest priority first. Access: members of the workspace, in a workspace where finance is enabled — the same gate the other setup registries use. Reading which rules exist carries no capability of its own. Errors: none beyond the access gate; an unmatched filter returns no rows rather than refusing.
getFinanceApprovalRulesCount
ChatGPTCounts the rules matching the same filters as getFinanceApprovalRules, so the section's total reflects the query its rows came from rather than the page it loaded. Access: same gate as getFinanceApprovalRules. Errors: none beyond the access gate.
getFinanceAssignableUserOptions
ChatGPTSearches the members a finance record's owner or reviewer may be, a page at a time, by name or address. search narrows on any part of either; omitting it returns the first page alphabetically. Eligibility is evaluated on the page of matches rather than stored, and is the same rule assignFinanceOwnerReviewer enforces per record — deliberately not the workspace's finance surface-access list, which that mutation never consults and which would hide members it accepts. Access: Requires the finance feature and the setup update permission — the permission assignFinanceOwnerReviewer enforces, so anyone shown this picker can assign what it offers. Errors: Throws when the user is not logged in, the workspace has finance disabled, or the user lacks the setup update permission.
getFinanceAttachments
ChatGPTLists attachments linked to a finance source record.
getFinanceAuditEvents
ChatGPTLists finance audit events matching the supplied filters, search, and sort order.
getFinanceAuditEventsCount
ChatGPTCounts finance audit events matching the supplied filters and search.
getFinanceBillableAgreements
ChatGPTEvery agreed proposal a client-invoice setup could name, newest agreement first. Agreed is the mutation's own test — a frozen acceptance snapshot on the proposal — rather than the more forgiving read the proposal surfaces use, so nothing offered here is refused at save. Access: signed-in workspace members with the billing invoice generate permission, matching the schedule and retainer mutations that consume this data. Errors: throws when the caller is not signed in, Finance is disabled, or the caller lacks that permission.
getFinanceCashAccountOptions
ChatGPTLive cash accounts available to members who can record customer payments, without balances.
getFinanceClientAccountOptions
ChatGPTSearches the counterparties a finance document may name — the client it is billed to or the vendor it is owed to — a page at a time, by name. search narrows on any part of the name; omitting it returns the first page alphabetically. selectedId names a counterparty already chosen, which comes back whether or not the search finds it, so a picker can always render its own value by name rather than by id. Access: Requires the finance feature and any one of the billing invoice generate, purchasing create, billing worksheet create or setup update permissions — each authors a document that names a counterparty. Deliberately not the CRM read: a bookkeeper who bills need not hold a CRM grant, and a workspace can run finance without the CRM feature at all. Errors: Throws when the user is not logged in, the workspace has finance disabled, or the user holds none of those permissions.
getFinanceConsolidatedBalanceSheet
ChatGPTA balance sheet for a group of GL companies with its intercompany balances eliminated, plus everything the consolidation could not eliminate. glCompanyIds names the group; omitting it consolidates every company the workspace has. asOf bounds the posting date and comparisonAsOf adds the prior column, as the single-company balance sheet does. Access: Requires the finance feature and the reports read permission, the same gate every other statement uses. Errors: Throws when the user is not logged in, the workspace has finance disabled, the user lacks the reports read permission, a named company does not exist in the workspace or is one the reader may not open, or the group is omitted and the reader does not hold every company.
getFinanceConsolidatedProfitLoss
ChatGPTA profit and loss for a group of GL companies with its intercompany balances eliminated, plus everything the consolidation could not eliminate. glCompanyIds names the group; omitting it consolidates every company the workspace has. startDate and endDate bound the posting date; a date-only endDate covers the whole day, as every other dated report does. Access: Requires the finance feature and the reports read permission, the same gate every other statement uses. Errors: Throws when the user is not logged in, the workspace has finance disabled, the user lacks the reports read permission, a named company does not exist in the workspace or is one the reader may not open, or the group is omitted and the reader does not hold every company.
getFinanceConsolidatedTrialBalance
ChatGPTA trial balance for a group of GL companies with its intercompany balances eliminated, plus everything it could not eliminate. glCompanyIds names the group; omitting it consolidates every company the workspace has. asOf bounds the posting date, as the single-company trial balance does. Access: Requires the finance feature and the reports read permission, the same gate every other statement uses. Errors: Throws when the user is not logged in, the workspace has finance disabled, the user lacks the reports read permission, a named company does not exist in the workspace or is one the reader may not open, or the group is omitted and the reader does not hold every company.
getFinanceControlAccountOptions
ChatGPTLists the accounts finance setup offers for one control-account slot, without their balances. The eligibility rule is the slot's, so kind decides what comes back: the four liability kinds return the workspace's active other current liabilities, while accountsReceivableAccountId and revenueAccountId return accounts of their own type. Omitting it keeps the original answer — the other current liabilities — for callers that predate the per-slot pickers. Access: Requires the finance feature and the setup update permission — the same permission updateSetupDefaults enforces, so anyone shown this picker can save what it offers. Errors: Throws when the user is not logged in, the workspace has finance disabled, or the user lacks the setup update permission.
getFinanceControlBalanceSeries
ChatGPTA control account's balance over time — receivables, payables, or cash per the general ledger. Reconstructed from posted journal movement rather than read from a stored history, so a point is only as exact as the lines behind it: check each point's unconvertedRowCount before drawing it. Access: workspace members with finance reports read access. Errors: throws when the caller is anonymous, has no finance report access to the workspace, or names a range that ends before it starts or holds more than 400 periods.
getFinanceCreditMemos
ChatGPTLists finance credit memos matching the supplied filters.
getFinanceCreditMemosCount
ChatGPTCounts finance credit memos matching the supplied filters.
getFinanceCustomerInvoices
ChatGPTRead customer invoices and their existing payment applications, with bounded pagination. Access: finance enabled and visibility of the invoice company. Errors: workspace access denied or an unknown accounting period.
getFinanceCustomerInvoicesCount
ChatGPTCount the invoices selected by the same company, period and currency filters as the list. Access: finance enabled and visibility of the invoice company. Errors: workspace access denied or an unknown accounting period.
getFinanceDashboardSummary
ChatGPTReturns summary metrics for the finance dashboard. Writes: creates the workspace's finance setup profile on first use.
getFinanceEliminationEntries
ChatGPTConsolidation adjustments in the workspace, newest first. Access: members of the workspace, in a workspace where finance is enabled. Errors: the workspace is not found, finance is disabled for it, or the caller is not a member.
getFinanceEliminationEntriesCount
ChatGPTCounts elimination entries using the list's filters. Access: same gate as getFinanceEliminationEntries. Errors: the workspace is not found, finance is disabled for it, or the caller is not a member.
getFinanceEmployeeProfile
ChatGPTReturns one employee’s finance profile.
getFinanceEmployeeProfiles
ChatGPTLists finance employee profiles for the workspace.
getFinanceEmployeesProfilesSetup
ChatGPTLists employee finance profiles and setup status matching the supplied filters.
getFinanceEmployeesProfilesSetupCount
ChatGPTCounts employee finance profiles matching the supplied search.
getFinanceEmployeesUsers
ChatGPTLists workspace users available for finance employee setup.
getFinanceEmployeesUsersCount
ChatGPTCounts workspace users matching the supplied finance employee search.
getFinanceExchangeRateCoverage
ChatGPTThe currency pairs this workspace's books require and whether each one has a stored rate, so the register can say which conversions it cannot perform rather than only which rates it holds. Access: same gate as getFinanceExchangeRates. Errors: the workspace has no finance setup profile, so it has no base currency to require pairs against.
getFinanceExchangeRates
ChatGPTStored exchange rates for the workspace, newest first. Access: members of the workspace, in a workspace where finance is enabled. Errors: the workspace is not found, finance is disabled for it, or the caller is not a member.
getFinanceExchangeRatesCount
ChatGPTHow many rates the same filter returns, for the list's total. Access: same gate as getFinanceExchangeRates.
getFinanceGlCompanies
ChatGPTGL companies for the workspace. Unsorted — and when sorted by the Role column, which is how the list opens — the default company comes first and the rest follow by code; any other sortBy replaces that ordering. A workspace that has provisioned none returns empty, so callers must handle that rather than assume a head. Access: members of the workspace, in a workspace where finance is enabled. Errors: the workspace is not found, finance is disabled for it, or the caller is not a member.
getFinanceGlCompaniesCount
ChatGPTHow many GL companies the same filters return, for the list's total. Access: same gate as getFinanceGlCompanies — members of the workspace, in a workspace where finance is enabled. Errors: the workspace is not found, finance is disabled for it, or the caller is not a member.
getFinanceHomeBalances
ChatGPTOverview's document-collection tiles: cash, the billing pipeline, WIP, unapplied retainers and deferred revenue — counts and sums over indexed document filters, plus the WIP asset's ledger position. Separate from getFinanceHomeLedger so these paint at their own speed rather than at the speed of the subledger scan beside them. The WIP bucket is absent, not zero, on a workspace that names no WIP asset account: no position exists to state. Writes: creates the workspace's finance setup profile on first use. Access: Requires the finance feature. Errors: Throws when the user is not logged in or the workspace has finance disabled.
getFinanceHomeLedger
ChatGPTOverview's posted-ledger half: the Priority workbench queues, and the A/R and A/P control tiles projected from posted journal lines. One field because it is one read. The receivable projection prices both the A/R tile and the Open accounts receivable queue row, and splitting them into two reads lets a posting land between them and leave one screen stating two receivable positions. Writes: creates the workspace's finance setup profile on first use. Access: Requires the finance feature. Errors: Throws when the user is not logged in or the workspace has finance disabled.
getFinanceIntercompanyAccountOptions
ChatGPTLists the accounts each leg of an intercompany mapping may be chosen from, without balances. Access: Requires the finance feature and the setup update permission — the same permission the mapping mutations enforce, so anyone shown this picker can save what it offers. Errors: Throws when the user is not logged in, the workspace has finance disabled, or the user lacks the setup update permission.
getFinanceIntercompanyMappings
ChatGPTThe company pairs that may post to each other, and the accounts they post through. Ordered by the pair unless another column is sorted. A search term is matched against the companies and accounts a mapping references, not against its stored ids. Access: members of the workspace, in a workspace where finance is enabled. Errors: the workspace is not found, finance is disabled for it, or the caller is not a member.
getFinanceIntercompanyMappingsCount
ChatGPTHow many intercompany mappings the same filters return, for the list's total. Access: same gate as getFinanceIntercompanyMappings. Errors: the workspace is not found, finance is disabled for it, or the caller is not a member.
getFinanceIntercompanyProfitLossActivity
ChatGPTRevenue and cost booked between members of a group, which a consolidation does not eliminate on its own — the candidates an elimination entry is written from. Lists the non-generated lines of posted journals that span companies, restricted to revenue and cost accounts. glCompanyIds narrows to a group; startDate and endDate bound the posting date. Nothing here is eliminated: whether a line is internal trading or a cost properly borne where it was recorded is a judgment, so this reports and an accountant posts. Access: Requires the finance feature and the reports read permission, the same gate every other statement uses. Errors: Throws when the user is not logged in, the workspace has finance disabled, or the user lacks the reports read permission.
getFinanceInvestigation
ChatGPTRead the latest checkpoint of an investigation. Access: accounting read and access to its company and accounting period. Errors: investigation not found or access denied.
getFinanceInvestigationHistory
ChatGPTRead immutable checkpoints, newest first. Paginate to inspect the full history. Access: accounting read and access to the investigation's company and period. Errors: investigation not found or access denied.
getFinanceInvestigations
ChatGPTRead the latest checkpoint for each investigation in a period, newest investigation first. Access: accounting read and access to the period's company. Errors: period not found or access denied.
getFinanceInvestigationsCount
ChatGPTCount investigations in a period, for complete-population pagination. Access: accounting read and access to the period's company. Errors: period not found or access denied.
getFinanceMigrationPreflight
ChatGPTChecks workspace readiness before starting a finance data migration.
getFinanceMigrationRows
ChatGPTLists rows in a finance migration run matching the supplied filters.
getFinanceMigrationRun
ChatGPTReturns one finance migration run.
getFinanceMigrationRunSummary
ChatGPTReturns a summary of one finance migration run.
getFinanceMigrationRuns
ChatGPTLists finance migration runs for the workspace.
getFinanceMigrationSupportedSources
ChatGPTLists accounting providers supported for finance migration.
getFinanceMigrationValidationSummary
ChatGPTReturns validation totals and issues for a finance migration run.
getFinanceMulticurrencyAccountOptions
ChatGPTThe accounts a multicurrency gain/loss or rounding account may be chosen from — active income-classified accounts in this workspace. Authorizes as getFinanceControlAccountOptions does: the finance feature plus the setup update permission, so anyone shown the picker can save what it offers.
getFinanceNavBadgeCounts
ChatGPTFast Finance sidebar count badges. Avoids money aggregates and integration health scans.
getFinanceNavBadgeSnapshot
ChatGPTCombined nav badge payload. Prefer getFinanceNavBadgeCounts + getFinanceNavBadgeExtras for faster counts. asOf sets the opening day for time-sensitive totals.
getFinanceOrgShape
ChatGPTThe org-shape facts the finance surface filters itself by: which optional-by-org sections this workspace has at all. Access: Requires the finance feature, and nothing more — a user who may open Finance may learn which of its surfaces exist here, the same way the nav itself is not a permission. Errors: Throws when the user is not logged in or the workspace has finance disabled.
getFinancePaymentTerms
ChatGPTPayment terms for the setup section and for the invoice pickers. Access: finance feature access on the workspace, like every other setup read. pickableOnly is what separates the two callers. A picker may only offer a term an invoice can actually be billed on, so it drops the terms whose stored rule derives no due date — the same ones the section renders as 'Due rule not provided'. The section itself leaves it off: it shows what the workspace has, fallback label and all, because that is the row someone has to fix.
getFinancePaymentTermsCount
ChatGPTCounts finance payment terms matching the supplied filters.
getFinancePayrollAccountOptions
ChatGPTLists active GL accounts accepted by the selected payroll schedule family, without balances. Access: Requires the finance feature and the permission used to author that family — accounting post for journal entries or purchasing create for vendor bills. Errors: Throws when the user is not logged in, finance is disabled, the family is not supported by payroll setup, or the user lacks that family's authoring permission.
getFinancePermissionContext
ChatGPTReturns the current user’s finance role and action permissions for the workspace.
getFinanceProfitLossReadiness
ChatGPTPre-flight checks for P&L reporting: chart-of-accounts coverage, posted journals, and unposted source documents.
getFinanceQueueCensus
ChatGPTEvery Finance work queue with its count, money total, age, and capability answer for the viewer. One read for the Queues surface and its badges. Writes: creates the workspace's finance setup profile on first use.
getFinanceQuickBooksMigrationDiscovery
ChatGPTReturns QuickBooks data available for migration to Finance.
getFinanceReceipts
ChatGPTLists finance receipts matching the supplied filters.
getFinanceReceiptsCount
ChatGPTCounts finance receipts matching the supplied filters.
getFinanceRecordNotes
ChatGPTLists notes attached to a finance record.
getFinanceRecurringSchedules
ChatGPTLists recurring finance schedules matching the supplied filters.
getFinanceRecurringSchedulesCount
ChatGPTCounts recurring finance schedules matching the supplied filters.
getFinanceRecurringVendorBillSuggestions
ChatGPTVendors whose bill history already says what a schedule would, largest amount first. The cash forecast projects an active schedule's occurrences into its weeks, so a vendor that bills every month and has no schedule is a committed outflow the forecast cannot see. Derived from posted and approved bills issued in the trailing twelve months, in the workspace base unit. Vendors that already have an active vendor-bill schedule are omitted — the forecast holds them already, and a second schedule would double the outflow. Nothing is written here: accepting a suggestion calls createFinanceRecurringSchedule with it. Access: the accounting read permission, the same gate getFinanceRecurringSchedules asserts. Errors: Throws when the user is not logged in, finance is disabled, the user lacks accounting read, or the workspace has no setup profile stating its base money unit.
getFinanceReportDisplaySettings
ChatGPTThe resolved report display settings for this workspace and reader. Read before a report is requested, so a surface can open on the basis the client's own QuickBooks company reports on rather than on a default of its own. Gated on reportsRead, like every other report query.
getFinanceReportSavedViews
ChatGPTLists saved finance report views for the selected report.
getFinanceRetainerAgreementInvoices
ChatGPTLists invoices generated from one retainer agreement, newest issue date first. Access: signed-in workspace members with Finance access who may read the agreement's company. Errors: throws when the caller is not signed in or Finance is disabled; an absent or inaccessible agreement returns no invoices.
getFinanceRetainerAgreements
ChatGPTLists retainer agreements, newest first, with their next invoice and remaining-period state. Search matches the retainer name or the client name shown in the row. Access: signed-in workspace members with Finance access, limited to companies they may read. Errors: throws when the caller is not signed in or Finance is disabled; unmatched filters return no rows.
getFinanceRetainerAgreementsCount
ChatGPTCounts agreements matching getFinanceRetainerAgreements' search and status filters. Access: same gate and company scope as getFinanceRetainerAgreements. Errors: same access errors as getFinanceRetainerAgreements.
getFinanceRevaluationRuns
ChatGPTLists stored revaluation runs, newest revaluation date first — the record of what was booked, which is the whole reason a run exists rather than a report parameter. Access: signed-in members of the workspace with finance report read access. Errors: workspace not found, or finance not enabled for it.
getFinanceRevaluationRunsCount
ChatGPTTotal revaluation runs matching the same filters as getFinanceRevaluationRuns. Access: signed-in members of the workspace with finance report read access. Errors: workspace not found, or finance not enabled for it.
getFinanceSalesTaxAnalysis
ChatGPTSales tax charged on posted invoices between two dates, by tax code and jurisdiction — what a return is filed from. startDate and endDate bound the invoice issue date; a date-only endDate covers the whole day, as every other dated report does. glCompanyIds narrows to the companies whose books the invoices posted to; omitting it reports every company. Access: Requires the finance feature and the reports read permission, the same gate every other statement uses. Errors: Throws when the user is not logged in, the workspace has finance disabled, or the user lacks the reports read permission.
getFinanceServicesLaunchReadiness
ChatGPTReturns readiness details for launching finance services. Writes: creates the setup profile on first use and stores the section statuses it computes.
getFinanceSourceConnections
ChatGPTLists operating-source health without exposing credentials or restricted source payloads. Access: Finance setup readers. Errors: workspace access or setup-read permission is missing.
getFinanceTieOutHealth
ChatGPTContinuous AR / AP / bank / WIP / fixed-asset tie-out health, rendered on Overview and inside the close. Takes no as-of argument on purpose: four of the five subledgers are current-state reads (an invoice balance, a receipt's unapplied amount, a WIP line's billed state, an asset's posted schedule) that cannot be reconstructed at a past date, so dating only the ledger side would manufacture differences that are pure date skew. Every rail reports the stamp it was actually measured at instead.
getFinanceUnpostedDocumentCount
ChatGPTHow many imported documents the ledger has not taken in — the one figure a statement's caveat states. The cheap half of getFinanceProfitLossReadiness, for the surfaces that print a statement's totals rather than the readiness verdict: no chart-of-accounts classification, no journal coverage, no orphan-line sweep, and no date, because none of the document populations it counts is bounded by the statement's window. Gated on reportsRead, like every other report query.
getFinanceVendorBill
ChatGPTOne vendor bill, by id — the detail behind a Bills row, and what the lifecycle controls act on.
getFinanceWholeWorkspaceStatementReadable
ChatGPTWhether this reader may ask for the unnamed, whole-workspace statement — the trial balance, balance sheet, GL detail and profit and loss measured over every set of books at once. True where no company restricts anybody, or where the reader holds every company the workspace has; false where their finance access covers only some of them, which is exactly when those four queries require a glCompanyId. A statement surface asks this before it offers a scope, because nothing else it holds can answer: the refusal only arrives after a statement has already failed, and getFinanceGlCompanies and getFinanceGlCompaniesCount are both narrowed to the reader's own companies, so neither reports the total the rule compares against. One boolean is deliberately the whole answer — how many companies a reader cannot open, or which, is what the assignment exists to withhold. Access: the same gate as the statements it describes — reportsRead in a workspace where finance is enabled. Errors: the workspace is not found, finance is disabled for it, the caller is not a member, or they lack reportsRead.
getFinanceWipAccountOptions
ChatGPTLists the active workspace accounts each WIP settings slot accepts, without ledger balances. Access: Requires the finance feature and setup update permission, matching updateWipSettings. Errors: Throws when the user is not logged in, finance is disabled, or setup update is denied.
getFinanceWorkamajigProjectMatches
ChatGPTLists the projects a Workamajig historical import holds for review, with what the importer decided for each and the Hive projects they can see whose name matches its name or number. Access: the member who started the import, with Finance setup edit access. Errors: a run that is not a Workamajig historical import.
getFinanceXeroMigrationDiscovery
ChatGPTReturns Xero data available for migration to Finance.
getFinanceXeroProjects
ChatGPTLists paginated project and billing-summary data from the workspace Xero organisation. Access: Requires Finance access, accounting read permission, an enabled workspace Xero sync, and a sync owner connection with the projects.read scope. Errors: Throws when the user is not logged in, Finance or accounting access is denied, Xero sync is unavailable, the connection needs the projects.read scope, or Xero rejects the request.
getFixedAssets
ChatGPTLists fixed assets matching the supplied status and search filters.
getFixedAssetsCount
ChatGPTCounts fixed assets matching the supplied status and search filters.
getForecastSnapshots
ChatGPTLists point-in-time forecast snapshots (amount, probability, forecast category, confidence) for CRM opportunities, newest first. Filter by opportunityId to see how one deal's forecast changed, or by period. Access: workspace members with CRM access.
getForecastSummary
ChatGPTTotals the forecast from each opportunity's latest snapshot: totalAmount, commitAmount (commit category only), and snapshotCount, optionally for one period. Access: workspace members with CRM access.
getForm
ChatGPTGet a single form by id, including its full jsonFormData definition. Access: workspace member with form-read permission.
getFormSubmissionSchema
ChatGPTGet a single form by id for submitting it, including its jsonFormData questions. Access: submission-scoped (the rules for opening the form to submit it); unlike getForm, form-read permission is not required.
getForms
ChatGPTLists forms in a Hive workspace.
getGLAccount
ChatGPTReads one workspace account, optionally with its posted balance through a UTC calendar day. Access: accounting read permission in the workspace. Errors: account not found.
getGLAccountRecentLines
ChatGPTLists recent journal lines for a general-ledger account.
getGLAccounts
ChatGPTLists the workspace chart of accounts, optionally with posted balances through a UTC calendar day. Access: accounting read permission in the workspace.
getGLDetailReport
ChatGPTGL activity lines. When startDate and endDate are both omitted, results are capped to the most recent 300 posted journals for performance. glCompanyId names the books these lines belong to; it carries the statement rule of the trial balance they add up to, so a company the reader may not open is refused by name and the unnamed whole-workspace stream is served only to a reader who holds every company.
getGLDetailReportCount
ChatGPTCounts general-ledger detail rows matching the supplied report filters.
getGoal
ChatGPTFetches a single goal by ID with its full details. Returns null when the goal does not exist or the caller is not a member of its workspace. When workspaceId is supplied, goals outside that workspace also return null. Access: workspace members (external users excluded).
getGoals
ChatGPTRetrieve goals from a workspace with optional filtering and pagination If asked to get a specific user's goals, ensure to filter by ownerIds.
getHistoricalTimesheets
ChatGPTUsed for edit log in "Manage" tab in "Timesheets" app. Access: It requires user access. Errors: Returns [] if not logged in or doesn't have access to workspace.
getHolidayCalendars
ChatGPTLists holiday calendars available in a Hive workspace.
getInitialClosingDate
ChatGPTReturns the initial closing date configured for the workspace.
getInvoiceAdjustments
ChatGPTEvery receipt written against one invoice, newest last, so the drafting surface can show each edited line beside what was done to it.
getItems
ChatGPTLists finance items matching the supplied type, status, and search filters.
getItemsCount
ChatGPTCounts finance items matching the supplied type, status, and search filters.
getJournal
ChatGPTRead one journal. An optional period restricts the company, including journals posted outside that period. Access: accounting read permission and visibility of the selected company. Errors: journal unavailable or period inaccessible.
getJournalBalance
ChatGPTReturns the current debit and credit totals for a general-ledger journal.
getJournalLines
ChatGPTLists the lines on a general-ledger journal.
getJournals
ChatGPTglCompanyId narrows the list to one company's books, on the same terms as getAccountingPeriods: it resolves through the company scope rule, so naming the default company also lists the journals written before any company existed. Omitted, the list stays narrowed to the reader's own assigned companies.
getJournalsCensus
ChatGPTThe register's own figures over the scope it is showing — the same narrowing getJournals and getJournalsCount take, so the header and the rows cannot describe different populations.
getJournalsCount
ChatGPTCounts journals matching the supplied company, period, status, and search filters.
getLabels
ChatGPTLists workspace labels by IDs, name text, or both, with cursor pagination. Combining IDs and text returns labels that satisfy both filters. Text search returns at most 20 results; refine the query when the desired label is absent.
getLatestAppWorkflowRun
ChatGPTReturns the newest non-deleted run for a workflow in the requested workspace. Returns null when the workflow does not exist in that workspace or has no runs yet. Sensitive run details (API request payload and operation input, output, error, and skip reason) are visible only to the workflow creator or workspace admins; other users receive null. Access: Any authenticated member of the requested workspace. Errors: - "User is not logged in" if no user session. - "User does not have access to workspace" if the user is not a member of the requested workspace.
getLatestFileByVersionedFileId
ChatGPTResolve an action's proofingVersionedFileId to its latest visible file. Use thumbnailLink for a preview and the returned _id as proofingFileId to open Hive's proof viewer. Access: viewers authorized for the versioned file; App Studio calls are limited to the bound workspace. Errors: deleted files are rejected unless includeDeleted is true.
getLeaveTypes
ChatGPTLists leave types configured for a Hive workspace.
getMassBillingQueue
ChatGPTReturns billing items ready for mass invoicing.
getMcpServerTools
ChatGPTList live tools exposed by an accessible MCP server so Buzz can test and shape snippet calls.
getMeetingFollowUpDraftReadiness
ChatGPTReturns Zoom, mailbox, and observed transcript readiness for post-call follow-up drafts. Access: workspace admins with Hive CRM enabled.
getMeetingFollowUpDraftSettings
ChatGPTReturns post-call follow-up draft settings. Access: workspace admins with Hive CRM enabled.
getMeetingTranscript
ChatGPTMerged transcript across all readable MeetingUserData docs for a meeting (multi-leader sessions). Deduped by transcriptId, ordered by server seq. Returns only meetings you can read. A meeting is readable when you are its organizer or an attendee, when it is linked to a CRM record and you have CRM access, or when you hold a meetingUserData doc for it (your own, or one shared with you by name); 'everyone' sharing grants nothing.
getMeetingUserData
ChatGPTGet user data for a specific meeting
getMeetingUserDataByDeal
ChatGPTGet meeting user data linked to a Hive CRM Opportunity. Resolves linked meetings via linked_meeting CrmAssociations from the opportunity and returns matching MeetingUserData docs.
getMeetingUserDataList
ChatGPTLists the caller's Sidekick meeting records, including available transcripts, goals, and summaries, newest first. Optional search matches titles, attendees, and summary text.
getMessages
ChatGPTLists or searches messages in chats the caller can access. A groupId scopes results to that chat or thread; omitting groupId requires text and searches accessible chats. Parent-chat results exclude thread replies, which are retrieved newest-first using threadId as groupId. Use findChats with member IDs to resolve a person's chat before reading it. Requires membership in the chat or, for threads, its parent chat.
getMilestoneBillingSchedules
ChatGPTLists milestone billing schedules matching the supplied workspace and project filters.
getMilestoneBillingSchedulesCount
ChatGPTCounts milestone billing schedules matching the supplied workspace and project filters.
getMyTimeEntries
ChatGPTLists the authenticated caller's time entries within a date range in an accessible workspace.
getMyTimesheets
ChatGPTUsed for the "Timesheet" tab in "Timesheets" app. Access: It requires user access. Errors: Returns [] if doesn't have access or user with requested userId doesn't exist.
getNativeOAuthProviders
ChatGPTHive-managed OAuth apps that can be connected as HTTP connections.
getNextApprovalStage
ChatGPTGets the next approval stage awaiting a decision for an action, including approver identities and statuses. Returns null when no accessible stage is pending.
getNote
ChatGPTGet a note by ID Access: Requires user access to the note Parameters: - noteId: The ID of the note to retrieve Returns: The requested note
getNotebooks
ChatGPTLists notebooks the caller can access, with title search, workspace or project filters, ownership filters, and pagination.
getNotes
ChatGPTGet notes in the workspace by specific ids
getNotifications
ChatGPTLists the caller's Hive notifications across accessible workspaces, newest first. isRead filters archive state: use false for the active inbox, true for archived items, or omit only when both are wanted. isOpened filters opened state; bucket filters inbox type.
getOpenPayables
ChatGPTLists payable documents with outstanding, original, and paid amounts and due dates. Use limit and skip to page through results; getOpenPayablesCount returns the matching total. Access: Requires Finance access and restricts results to the caller's companies. Errors: Throws when the caller cannot access Finance in the workspace.
getOpenPayablesCount
ChatGPTCounts payable documents matching the same filters and company access as getOpenPayables. Access: Requires Finance access in the workspace. Errors: Throws when the caller cannot access Finance in the workspace.
getOpportunities
ChatGPTList CRM opportunities. Each node includes owner (workspace member) and account when selected in the query.
getOpportunity
ChatGPTGets a CRM opportunity by ID.
getOpportunityCommercials
ChatGPTCommercial read-out for one opportunity: pipeline and weighted amount, probability, forecast category, line count, SOW total and cost, and the delivery baseline of its kicked-off project, plus a nudge when the plan lags the latest agreed proposal. Access: users with access to the opportunity.
getOpportunityMaterials
ChatGPTLists the files and folders linked to an opportunity as materials (proposals, decks, briefs), with their file-library nodes. Access: users with access to the opportunity.
getOpportunityPipelineSummary
ChatGPTBreaks the opportunities matching the filters into forecast buckets (open, commit, most likely, best case, closed won, closed lost), each with a count and summed amount. Use it for a pipeline or forecast overview; getOpportunityStats returns only overall totals. Access: workspace members with CRM access.
getOpportunityRepPerformance
ChatGPTPer-owner sales performance: open count, pipeline value, won and lost counts, win rate, and new pipeline created, sorted by pipeline value, plus workspace totals. When both periodStart and periodEnd are set, won/lost use close date and new pipeline uses creation date within that window. Access: workspace members with CRM access.
getOpportunityStats
ChatGPTGets aggregate counts for CRM opportunities matching supplied filters.
getOrCreateGoalMetricSourcesDashboard
ChatGPTReturns the caller's hidden "Goal metric sources" dashboard for the workspace, creating it on first use. Pivot widgets that back automated goals live on it; pass its _id as containerId when creating a goal's source widget. Upserts a Dashboard document, so it is a write despite being a query.
getOverServicingReport
ChatGPTIdentifies projects whose delivered work exceeds their planned service amounts.
getPeople
ChatGPTLists CRM people in a Hive workspace.
getPersonStats
ChatGPTCounts CRM people matching the provided workspace filters. Access: caller must be a non-external member of the workspace. Errors: invalid or unauthorized workspace access is rejected.
getPostingBatchDetail
ChatGPTReturns the details and results of a finance posting batch.
getPostingBatches
ChatGPTLists finance posting batches matching the supplied filters.
getPostingBatchesCensus
ChatGPTCounts posting batches by status over the same period, search and status filters as the posting-batch register. Access: Requires the finance feature and accounting read permission. Errors: Throws when the user is not logged in, Finance or accounting access is denied, or the requested period does not exist in the workspace.
getPostingBatchesCount
ChatGPTCounts finance posting batches matching the supplied filters.
getPriorityLevels
ChatGPTLists priority levels for a workspace, optionally filtered by form, action, included IDs, or excluded IDs. Requires workspace access.
getProfitLossReport
ChatGPTProfit and loss statement over a required period, with optional columns and comparison buckets. When comparison dates are omitted, the server derives them from compareTo. glCompanyId names the books the statement covers, on the same terms as the trial balance: a company the reader may not open is refused by name, and the unnamed whole-workspace statement is admitted only to a reader who holds every company. Cash basis takes a company on the same terms: its recognized figures are the settled document's own posted lines, and the unapplied cash that has no line is kept with the receipt or vendor payment whose books took it in.
getProjectAccountLinks
ChatGPTLists CRM accounts linked directly to a project. Access: requires access to the project and matching workspace. Errors: standard authentication and project access errors.
getProjectAiProofingGuidelineDocuments
ChatGPTLists the files that act as project AI proofing guidelines (own and inherited), expanding guideline folders into their nested File Library files. Access: requires access to the project and matching workspace.
getProjectAiProofingGuidelineNodes
ChatGPTLists File Library files and folders added as AI proofing guidelines on a project, plus those inherited from its ancestor projects (inherited: true). Access: requires access to the project and matching workspace.
getProjectBudgetVersions
ChatGPTLists budget versions for a project matching the supplied filters.
getProjectBudgetVersionsCount
ChatGPTCounts budget versions for a project matching the supplied filters.
getProjectFinancials
ChatGPTReturns finance details for a project.
getProjectProfitability
ChatGPTReturns profitability details for a project.
getProjectProfitabilityReport
ChatGPTSummarizes project profitability using the supplied report filters.
getProjectProfitabilitySummary
ChatGPTThe Project profit tile on the reports landing, without the report's rows. Read this rather than getProjectProfitabilityReport on any surface that draws the figure and the count and renders no rows — it is the same reduce over the same rows, made on the server. Access: workspace members with finance read access. Errors: throws when the caller is anonymous or has no finance access to the workspace.
getProjectProofingGuidelineDocuments
ChatGPTLists proofing guideline files from accounts linked to a project or accessible ancestors. Access: requires access to the project and matching workspace. Errors: standard authentication and project access errors.
getProjectTemplates
ChatGPTLists project templates matching the supplied status and search filters.
getProjectTemplatesCount
ChatGPTCounts project templates matching the supplied status and search filters.
getProjects
ChatGPTLists projects the caller can access, with search, filters, sorting, and cursor pagination. Supports specific IDs, ownership, hierarchy, archive and template state, and custom-field filters.
getProjectsFinancials
ChatGPTReturns finance details for the selected projects.
getProofingFeedback
ChatGPTRead the review feedback on a PDF proof attached to an action: reviewers' comment threads (text, replies, status, author, page, region) and Buzz AI suggestions (description, original text, proposed text, page, region), as one list ordered by page. Defaults to the latest proof version and to open feedback only. Use it before apply_proofing_feedback: read each item, decide the exact text change it asks for, and only then call apply_proofing_feedback. Comments are free-form, so judge whether one really asks for a text change (many ask questions or request layout, imagery or approvals, which are not text edits). Region is {x1,y1,x2,y2} in PDF points, origin bottom-left, and tightly bounds the marked text.
getProposal
ChatGPTReturns a proposal: its title and status, the buyer's requirements, the questions Hive left open (proposalPlan.inputRequests), the latest draft (generatedArtifact, whose notes say what it changed) and whether a draft is running (documentGenerationRun). What the draft still asks the proposal owner is in its Word comments: read them with getProposalComments. Access: caller must have CRM access to the proposal's workspace.
getPurchaseOrderLines
ChatGPTLists the lines on a purchase order.
getPurchaseOrders
ChatGPTLists purchase orders matching the supplied status and search filters.
getPurchaseOrdersCount
ChatGPTCounts purchase orders matching the supplied status and search filters.
getQuickbooksAccount
ChatGPTGets a QuickBooks account by ID.
getQuickbooksPurchaseOrder
ChatGPTGets a QuickBooks purchase order by ID.
getQuickbooksPurchaseOrderAttachments
ChatGPTLists attachments on a QuickBooks purchase order.
getQuickbooksVendor
ChatGPTGets a QuickBooks vendor by ID.
getReceipts
ChatGPTLists receipts recorded for a customer invoice.
getReconciliationLines
ChatGPTLists the bank and book lines in a reconciliation.
getReconciliationSummary
ChatGPTReturns totals and status for a bank reconciliation.
getReconciliations
ChatGPTLists bank reconciliations matching the supplied account and period filters.
getRecords
ChatGPTLists records in one Hive table with filtering, sorting, and pagination. Returns only tables and rows the caller can access.
getReminders
ChatGPTGet reminders for a workspace for the current user
getResourceAssignment
ChatGPTGets one resource assignment by ID.
getResourceAssignments
ChatGPTLists resource assignments by workspace, date range, project, or resource. Use returned assignment IDs for subsequent updates.
getResourceAvailability
ChatGPTCalculates daily free working hours for users or placeholders over a date range. Availability subtracts committed work, meetings, and time off from capacity and is clamped at zero. Zero means unavailable because of schedule, leave, capacity, employment dates, or workspace status. Use for workload and capacity questions, not meeting scheduling.
getResourceTags
ChatGPTLists resourcing roles and custom user tags configured in a workspace, with type, text, ID, and cursor-pagination filters. Use the returned _id as resourceTagId when querying or changing user and placeholder tag assignments.
getResourcingBlockedTime
ChatGPTMeeting-backed blocked time for Resourcing. Returns read-only meeting blocks from synced meeting docs for requested workspace users.
getResourcingSavedViews
ChatGPTSaved views for one resourcing surface: the caller's own views plus every view shared with the workspace, oldest first. Access: workspace members.
getRetainers
ChatGPTLists customer retainers matching the supplied filters.
getRetainersCount
ChatGPTCounts customer retainers matching the supplied filters.
getReverseGeocode
ChatGPTReverse geocode coordinates to an address via Geoapify (server-side proxy). When no address is found, formatted falls back to "lat, lon". Access: Requires a logged-in user, or formId with access to that form (public submitters). Errors: Throws if coordinates are invalid, geocoding is not configured, the geocoding service is unreachable, or the rate limit is exceeded. Returns null when unauthorized.
getSections
ChatGPTLists sections in a project or action view.
getSequence
ChatGPTGets a CRM sequence by ID.
getSequenceCallTranscript
ChatGPTGets the transcript of a call placed by the sequence. Access: Workspace members with CRM access.
getSequenceCalls
ChatGPTLists the calls a sequence's call steps placed, newest first, with how many were picked up, went to voicemail or booked a session. Transcripts are read with getSequenceCallTranscript. Access: Workspace members with CRM access.
getSequenceEnrollments
ChatGPTLists enrollments in CRM sequences.
getSequenceStepRuns
ChatGPTLists execution steps for a CRM sequence enrollment.
getSequenceVersions
ChatGPTLists versions of a CRM sequence.
getSequences
ChatGPTLists CRM sequences in a Hive workspace.
getServiceAndItemProfitability
ChatGPTReturns profitability rows for native services and canonical Service-type items, with explicit identity for the source each row represents. Access: workspace members with finance read access. Errors: throws when the caller is anonymous or lacks finance access to the workspace.
getServiceProfitability
ChatGPTSummarizes profitability by service using the supplied report filters.
getServices
ChatGPTLists finance services matching the supplied filters.
getServicesCount
ChatGPTCounts finance services matching the supplied filters.
getSetupAuditEvents
ChatGPTLists finance setup changes matching the supplied source filters.
getSetupProfile
ChatGPTReturns the workspace finance setup profile. Writes: creates the workspace's finance setup profile on first use.
getSetupReadiness
ChatGPTReturns finance setup completion and outstanding requirements. Writes: creates the setup profile on first use and stores the section statuses it computes.
getSidekickCustomerCallFacts
ChatGPTReturns current product and billing facts for the account explicitly linked to a meeting. Access: Hive HQ members with CRM read access only. Errors: standard authentication, workspace, and CRM access errors.
getSlackChannels
ChatGPTList public and private Slack channels in the user's connected workspace. Use before reading or sending messages when you need a channel ID. Access: Requires Slack connected in Apps. Errors when Slack is not connected.
getSlackDms
ChatGPTList Slack direct and group message conversations for the connected user, including bot DMs. Use with getSlackChannels when choosing where to read or post. Access: Requires Slack connected in Apps.
getSlackMessages
ChatGPTRead recent top-level messages from a Slack channel or DM using the Hive bot. Returns channel/DM-level messages only — replies inside a thread are not included. Call getSlackChannels or getSlackDms first to obtain channelId. Access: Requires Slack connected in App Library, user access to the conversation, and Hive bot added to it. Reconnect Slack if the bot lacks history permissions.
getSlackMyInfo
ChatGPTGet raw Slack user info for the current user. Access: Requires an authenticated user with a connected Slack account. Errors: Throws when the user is not logged in or Slack user info cannot be retrieved.
getSlackTeamData
ChatGPTGet Slack team URL and team ID for the connected workspace.
getStatusesForWorkspace
ChatGPTList workspace project status definitions (id, name, color) for Project Navigator / portfolio status. Call before insertProjectStatusUpdate or bulkUpdateProjectStatuses to validate status labels. Access: Requires workspace access
getStoredEmail
ChatGPTGets one stored CRM email by ID.
getStoredEmailAttachmentContent
ChatGPTFetch a stored CRM email attachment's content from the mailbox owner's connected provider account. Requires CRM access to the email and resolves the owner (the user whose synced mailbox produced it), so any authorized teammate can download — not only the original recipient. Reuses EmailAttachmentContent.
getStoredEmailForMailThread
ChatGPTResolve a CRM stored email row for the current Hive Mail thread context. Returns null when the thread has not been imported into CRM yet.
getStoredEmailsByIds
ChatGPTGets stored CRM emails by ID.
getStripeFinanceReviewRows
ChatGPTLists available Stripe charge rows using a review-safe typed projection, never raw payloads. Writes: quarantines rows that cannot build a draft proposal and re-derives the connection's review state from the rows that remain. Access: Finance accounting readers. Errors: workspace access or accounting-read permission is missing.
getSubmittedTimesheets
ChatGPTPaginated submitted timesheets for every teammate in one exact week. Used for workspace-wide bulk edits in the Timesheets Manage tab. Access: Requires workspace admin access. Errors: Returns an empty connection if the caller is not a workspace admin.
getTableViews
ChatGPTSaved views for one table the caller can see: own views, views shared with them, and workspace-wide views. Requires table read access.
getTables
ChatGPTTable definitions the caller can see, optionally filtered to one accessible project. Access: Tables workspace permission and per-table read access; project access when filtered. Errors: Authentication, workspace access, Tables permission, or project access errors.
getTax1099Runs
ChatGPTLists 1099 preparation runs for the selected tax year.
getTax1099RunsCount
ChatGPTCounts 1099 preparation runs for the selected tax year and search.
getTaxCodeCatalogEntries
ChatGPTLists available tax-code catalog entries for the selected provider.
getTaxCodes
ChatGPTLists finance tax codes matching the supplied filters.
getTaxCodesCount
ChatGPTCounts finance tax codes matching the supplied filters.
getTaxProviderCalculationLogs
ChatGPTLists tax-provider calculation logs for a finance source record.
getTaxProviderFilingHandoffs
ChatGPTLists filing handoffs for a tax provider.
getTaxProviderSettings
ChatGPTLists tax provider settings matching the supplied filters.
getTaxProviderSettingsCount
ChatGPTCounts the tax provider configurations matching the same search and status filters as getTaxProviderSettings, so the section's total reflects the query its rows came from rather than the page it loaded. Access: members of the workspace, in a workspace where finance is enabled. Reading which providers exist carries no capability of its own, the same gate getTaxProviderSettings uses. Errors: none beyond the access gate — an unmatched filter counts zero rather than refusing.
getTeams
ChatGPTLists teams in a Hive workspace.
getTimeCategories
ChatGPTList workspace time categories (e.g. Capex, Opex). Match user-mentioned names against the returned name field client-side. Pass projectId when categories are project-scoped so project-specific categories are included. Categories with timeOff: true are PTO; their hours report as leave, not worked time.
getTimers
ChatGPTGet timers for the current user in a workspace Access: Requires user to be logged in and have access to the workspace
getTimesheetApprovals
ChatGPTpaginated resolver for the timesheet approval log. Used for approvals log in "Timesheets" app. Access: It has admin access. Errors: Returns empty paginated response if is not workspace admin.
getTimesheets
ChatGPTUsed for querying timesheets by date
getTimesheetsToApprove
ChatGPTUsed for the "My approvals" tab in "Timesheets" app. Access: It requires user access. Errors: Returns [] if doesn't have access or user with requested userId doesn't exist
getTimesheetsToReview
ChatGPTLists other members' timesheets the caller can review, newest week first. Scope includes managed users, owned projects that use project-owner approval, or the whole workspace for admins; the caller's own timesheets are excluded.
getTransactionReport
ChatGPTEvery transaction behind one profit-and-loss cell — QuickBooks' Transaction Report, reached by clicking a number on the statement. Every argument but the account is one the profit and loss was already reading: the same basis, the same dimension, entity and company filters, and — critically — the clicked column's own start and end rather than any date range the report surface offers. Handed the parameters that defined a cell, this runs the same derivation the statement ran for it, which is why the report's grand total equals the number clicked with no filter for the reader to adjust. The account's children come with it, because a profit-and-loss row rolls its children up. Refuses rather than answering untied: a cell whose transactions do not fold back to the statement's own figure returns TRANSACTION_REPORT_UNTIED, and one covering more transactions than the report will render returns TRANSACTION_REPORT_TOO_BROAD instead of a truncated list under a whole-population total.
getTrialBalanceReport
ChatGPTReads account debit, credit, and net balances as of a date, including whether the books balance. Access: Requires Finance reports read permission and access to the requested companies. Errors: Throws when the caller cannot read the report or requested company.
getUnsubmittedTimesheetSummaries
ChatGPTReturns selected-week logged and planned totals for visible unsubmitted timesheet users. Access: Workspace members. Workspace admins receive totals for requested members. Non-admins receive totals only for users they manage or reach through an owned project. Hours cover every unsubmitted, non-history timesheet a requested member holds in the selected week, for admins and for the caller's direct reports. Users the caller reaches only through an owned project get null hours rather than a total that omits their other containers. Time-off allocations count toward Planned only for admins and direct reports, so leave stays private from project-owner approvers. Planned follows the workspace timesheet prefill source. Allocated, tracked, and estimated time include only projects the caller can access. Errors: Returns [] if the caller is not logged in or cannot access the workspace. Throws if more than 200 user IDs are requested or the date range exceeds seven days.
getUserCalendar
ChatGPTGets the holiday calendar assigned to a workspace member.
getUserFilter
ChatGPTReturns user filter for a view layout (e.g. dashboardWidget pivot columns keyed by widget actionViewId). Read before updateUserFilterV2 when editing pivot formulas.
getUserTags
ChatGPTLists role and custom-tag assignments for users and resource placeholders. Supports filtering by resource, tag ID, or tag type. Call getResourceTags first to resolve resourceTagId.
getUserTimeEntries
ChatGPTUsage: Allows user to pull time entries for the specified userId in a given time range Access: Requires workspace admin access Errors: Returns an error if not a workspace administrator.
getUserTimesheets
ChatGPTUsed for the "Manage" tab in "Timesheets" app. Access: Requires workspace admin access Errors: Returns [] if not a workspace admin.
getUsersWorkspaces
ChatGPTGet the current user's workspaces, including accepted workspaces and primary workspace with names. Access: Requires user authentication. Returns: The user's accepted workspaces and primary workspace, each with ID and name.
getUtilizationReport
ChatGPTReturns staff utilization results for the supplied report filters.
getVendorPaymentRuns
ChatGPTAP payment runs recorded in the workspace, newest first. Narrow by vendorPaymentRunId to read one run with its groups, allocations and per-group outcomes — the review surface a draft run exists to be. Access: finance enabled in the workspace, matching the sibling getVendorPayments read.
getVendorPayments
ChatGPTVendor payments recorded in the workspace, newest first. Narrow to one purchase order or one of its bills to read what has been paid against it, or to one payee to read that payee's register. Access: finance enabled in the workspace.
getVendorTaxProfiles
ChatGPTLists vendor tax profiles matching the supplied filters.
getVendorTaxProfilesCount
ChatGPTCounts vendor tax profiles matching the supplied search.
getWipBatches
ChatGPTLists work-in-progress posting batches matching the supplied filters.
getWipBatchesCount
ChatGPTCounts work-in-progress posting batches matching the supplied filters.
getWipSettings
ChatGPTReturns work-in-progress posting settings for the workspace or project.
getWorksheetLines
ChatGPTLists the lines on a billing worksheet.
getWorksheetSources
ChatGPTThe billable transactions still available to put on a worksheet. startDate and endDate bound the selection to a billing period, matched against each source's own business date and inclusive of the whole end day. Either bound may stand alone. Purchase-order lines carry no business date and are offered whatever period is named.
getWorksheets
ChatGPTLists billing worksheets matching the supplied project, status, and billing filters.
getWorksheetsCount
ChatGPTCounts billing worksheets matching the supplied project, status, and billing filters.
getWorkspace
ChatGPTGet a workspace by ID Access: Requires workspace access or be a member of the workspace Parameters: - workspaceId: The ID of the workspace to retrieve Returns: The requested workspace
getWorkspaceHolidaysByRange
ChatGPTLists workspace holidays within a date range.
getWorkspaceMembers
ChatGPTLists members of a Hive workspace.
getWorkspaceResourcePlaceholders
ChatGPTGet all resource placeholders for a workspace Access: Requires user access to the workspace Parameters: - workspaceId: The ID of the workspace - specificIds: Array of specific resource placeholder IDs to return Returns: Array of ResourcePlaceholder objects
getWorkspaceXeroSyncStatus
ChatGPTGet workspace Xero Finance sync owner/status without exposing tokens.
goalsEasySearch
ChatGPTQuick search for goals by name, for finding a goal ID from a partial name. Ranks by text match and recency, returns up to limit results, and only goals shared with the caller. assignees narrows to goals owned by those users or teams. Access: workspace members (external users excluded); returns empty otherwise.
importBankTransactions
ChatGPTImports bank transactions into the workspace.
importCrmCsvRows
ChatGPTImports CRM accounts, contacts, and opportunities from CSV row data. Access: Workspace members with CRM access. Errors: Returns validation errors for invalid row data and throws if user lacks CRM access.
importFinanceOpenAp
ChatGPTImports open accounts-payable items for a finance migration run.
importFinanceOpenAr
ChatGPTImports open accounts-receivable items for a finance migration run.
insertActionDependency
ChatGPTCreates a dependency between two existing actions. Create the actions first, then pass the predecessor action (the one that blocks) as source and the dependent/successor action that waits on it as target. Supports FS (finish-to-start), SS (start-to-start), FF (finish-to-finish), and SF (start-to-finish). An existing source/target link is returned unchanged.
insertActions
ChatGPTCreates Hive action cards. Use explicit ranks when exact ordering matters. The result maps each inputIndex to its rank, actionId, title, and URL for parent or dependency references. Set layout.hiddenSections to hide supported card sections. Requires workspace and project access; actions are not created in inaccessible projects. When the user says "on my list" or otherwise implies personal ownership, use the caller as assignee by default.
insertApprovalRound
ChatGPTCreates an approval round with an initial empty stage. Add approvers separately with changeApprovalStageApprover.
insertApprovalStage
ChatGPTAdds an empty approval stage to an approval round. Add approvers separately with changeApprovalStageApprover.
insertGroup
ChatGPTCreates a Hive direct message, group chat, or thread for specified members and teams. For a direct message, members is the complete membership including the caller; exact membership is used to find and reuse an existing conversation. Requires access to the workspace.
insertHoliday
ChatGPTAdds a holiday to a workspace holiday calendar.
insertLabel
ChatGPTCreates a new Label
insertLink
ChatGPTCreates a new link in the workspace's News panel. Access: Requires user access to the workspace.
insertMessage
ChatGPTSends a message or comment to a Hive chat, action, note, goal, project, opportunity, or notification. Requires target-container access; participant-created direct messages require workspace access. For an existing container, pass containerId and containerType. For a new direct message, omit containerId and pass workspaceId, participants, and containerType: group. Participants must be active workspace members, external members, or system admins, never stubs. Prefer bodyMarkdown and omit body; body wins when both are supplied. To notify, put the 17-character user ID in mentions and <@USER_ID> in bodyMarkdown; plain @name or @userId does not notify. To mention a whole group chat, put GROUP:<containerId> in mentions and <@containerId> in bodyMarkdown. Returns the created message with computed fields.
insertNewsCategory
ChatGPTCreates a new custom news category in the workspace. On first write in a workspace, seeds the default categories and migrates any posts that were using legacy string category ids to the new random ids, then marks the workspace as newsCategoriesApplied. Access: Requires user access to the workspace.
insertPost
ChatGPTCreates a Hive news post with optional category, attachment, and predefined reactions. Requires access to the workspace.
insertProjectStatusUpdate
ChatGPTAppend a project-level status update (Project Navigator status column). Requires project access. Use getStatusesForWorkspace to list valid statusId values. Access: Requires project access
insertProjectTags
ChatGPTAdds resourcing project tags to projects. All items must belong to one workspace. Requires resourcing access in that workspace and access to every project. Existing tags are not deduplicated, and the customTagId/resourceTagId pairing is not validated. Returns the inserted ProjectTag records.
insertRecurringAction
ChatGPTAdds a recurrence schedule to an existing Hive action; create the action first. Supports daily, weekly, monthly, and annual patterns ending never, after a count, or on a date. Requires access to the action; missing or inaccessible actions are rejected.
insertTimeCategory
ChatGPTCreates a time category (billable by default) for classifying time entries. With projectId, it is also added to that project's category list when the project restricts categories. Access: workspace members (external users excluded); admins only when the workspace restricts time category management.
insertUserTag
ChatGPTAssigns one resourcing role or custom tag to a user or placeholder. Placeholder roles are set through updateResourcePlaceholder; bulk custom-tag changes use updateUserTags. Set exactly one of userId or placeholderId; the server derives customTagId for custom tags. Requires resourcing access and the matching tag or role permission; missing, mismatched, duplicate, or invalid resources are rejected.
inviteMembers
ChatGPTInvites or adds members to a Hive workspace.
kickoffOpportunityProject
ChatGPTStarts delivery for a won deal from its accepted proposal: creates (or reuses) a delivery project with sections per phase and actions per deliverable, applies the accepted budget, and links the project to the opportunity. If a delivery project is already linked, applies the budget to it instead. Access: workspace members with CRM access to the opportunity and access to the proposal. Errors: proposal not on this opportunity, not accepted, or has no lines; project creation failed.
launchCampaignRecipientPlay
ChatGPTLaunches one reviewed Campaign play. For generate_email, this queues sending the saved email draft through the campaign's assigned sender. A launched status means queued, not delivered; read getCampaignRecipients plays and delivery to verify the result. Repeated launches of an already launched or delivered play are rejected. Before sending email, obtain explicit user consent for the sender, recipients and reviewed content. If consent is missing or there is any doubt about approval or scope, ask the user for explicit approval and wait for their answer before calling this tool. Approval to create or draft a campaign is not consent to send. Access: caller must be Campaign owner, Campaign workspace admin, or assigned email sender. Errors: missing content, invalid target membership, or unauthorized launch is rejected.
linkExpenseLineReceipt
ChatGPTLinks a receipt to an expense line.
linkFileStoreNodeToProjects
ChatGPTLinks a File Library item to projects. projectIds must not be empty. For AI proofing guidelines, link the folder to at least one project before marking it as a guideline folder.
linkOpportunityDeliveryProject
ChatGPTLinks an existing project as the opportunity's delivery project. Replaces a link to a deleted project; does nothing when a live delivery project is already linked. Access: CRM access to the opportunity and edit access to the project. Errors: opportunity or project not found.
linkRecords
ChatGPTLinks related Hive table records. Repeating an existing link is idempotent.
links
ChatGPTList links for a workspace. Access: Requires user access to the workspace.
listFileLibraryNodes
ChatGPTPaginated File Library listing. - specificIds: fetch known nodes by ID; preserves input order - parentId: list direct folder children; pass null for the workspace root, omit for all folders - search: workspace-wide name search when parentId is omitted; parent-scoped search when parentId is set - nodeType: optional file/folder filters
lockAccountingPeriod
ChatGPTLocks an accounting period against further changes.
logAccountCallMailCall
ChatGPTRecords the outcome of a call on a Flywheel call-mail row. Answered completes the row, a bad number fails it, and anything else leaves it waiting with the prepared email ready to send. Access: the rep the row belongs to.
logCall
ChatGPTLogs a standalone CRM call (e.g. from the Twilio dialer) and links it to the person, and any provided account/opportunity, via linked_call associations. Access: Workspace members with CRM access.
logSequenceCall
ChatGPTRecords the outcome of a sequence call step.
markVendorBillReadyForPayment
ChatGPTMarks the linked vendor bill as ready for payment.
matchBankTransaction
ChatGPTMatches a bank transaction to a corresponding finance record.
matchReconciliationLines
ChatGPTMatches a bank statement line to a book line.
mergeCrmRecords
ChatGPTMerge two CRM records of the same type. The duplicate's associations, foreign-key references, and blank field values move onto the survivor (survivor's values always win), then the duplicate is archived. Only account and person records can be merged today. An already-archived duplicate is accepted so an interrupted merge can be re-run to completion. Access: Workspace members with CRM access. Errors: Throws if the user lacks CRM access, the survivor is missing or archived, the duplicate is missing, the two ids are identical, an account merge would create a hierarchy cycle, or Salesforce sync would be broken (both accounts linked, or only the record being archived is linked).
messagesEasySearch
ChatGPTSearches through messages in a workspace Very useful for searching through existing private conversations or chat groups. Supports search by the group type or id. Could return total count of messages. Access: Requires user access to the workspace, groups if used.
modifyLabel
ChatGPTUpdates an existing Label
moveFileLibraryItems
ChatGPTMoves File Library items to another folder.
moveGoogleDriveFile
ChatGPTMoves a file in the connected Google Drive account.
newsCategories
ChatGPTList custom news categories for a workspace. Access: Requires user access to the workspace.
openAccountingPeriod
ChatGPTReopens an accounting period.
pauseFinanceRetainerAgreement
ChatGPTPauses an active retainer without consuming or moving its next invoice occurrence. Access: same billing invoice generate and company-write gates as creation. Errors: agreement not found, invalid lifecycle state, stale concurrent update, or no active agreement-owned schedule.
placeFixedAssetInService
ChatGPTSets the date a fixed asset was placed in service.
planCampaign
ChatGPTGenerates or refreshes the working plan for a CRM campaign.
postAccountingAllocationRun
ChatGPTPosts a draft run: writes the balanced allocation journal and its posting batch, and stamps the run posted in the same transaction. Re-posting a posted run returns it unchanged. Access: signed-in members of the run's workspace with the accountingPost permission, in a workspace where finance is enabled. Errors: run or rule not found; an allocation account is missing or archived; the posting date falls in a closed period; or the run changed while it was being posted.
postAccountingAllocationRuns
ChatGPTPosts several draft runs as one month-end batch, through the same per-run path postAccountingAllocationRun uses. All or none: a period's allocations do not half-post, so a refusal on any run leaves every one of them a draft. Runs already posted are returned untouched rather than refused, so retrying a batch is safe. Access: signed-in members of the workspace with the accountingPost permission, in a workspace where finance is enabled. Errors: any named run is missing from this workspace; or any run fails the checks postAccountingAllocationRun applies — draft status, accounts, dimensions, period gate, posting-account snapshot.
postCustomerInvoice
ChatGPTPosts a customer invoice to the ledger.
postExpenseReport
ChatGPTPosts an approved expense report to the GL: Dr the workspace expense posting account, Cr accounts payable, for the report's total. Reserves the report's ER- number on the way, stamps journalId/postedAt/postedBy and moves it to 'posted' — which is what puts it in the AP subledger, on Open Payables as ready for payment, and off the month-end close blocker. Approval stays non-GL and is untouched: its project cost entries keep firing where they always did, and this adds the ledger event after them. Access: 'accountingPost' in a workspace where finance is enabled. Errors: refuses a report that is not approved, one in a currency other than the workspace's (imported reports can carry one, past the create-time seal), a closed period, and a non-positive total.
postFinanceEliminationEntry
ChatGPTPosts a consolidation adjustment, which is what makes consolidated statements report it. Balance is asked of the entry as a whole and deliberately not per company: taking one company's due-to out against another's due-from unbalances both on purpose, and that is the entry. Every company it names must exist and hold an open period on the entry's date, and every account must be live. Access: 'accountingPost' in a workspace where finance is enabled. Errors: the entry is not found or is not a draft; it names fewer than two companies; its debits and credits do not agree; its lines are not all in the workspace base unit; a company or account it names is missing or inactive; a company's period is closed on that date.
postFinanceRevaluationRun
ChatGPTPosts a draft run: one control-account line per document whose adjustment is non-zero and one line to the unrealized gain/loss account, written as a balanced journal that auto-reverses on the first day of the following month. Re-posting a posted run returns it unchanged. Access: signed-in members of the run's workspace with the accountingPost permission, in a workspace where finance is enabled. Errors: run not found or not a draft; the unrealized gain/loss or a control account is missing or no longer eligible; the posting date falls in a closed period; or the run changed while it was being posted.
postFixedAssetDepreciation
ChatGPTPosts a fixed asset depreciation schedule row to the ledger.
postJournal
ChatGPTPosts a general-ledger journal.
postPostingBatch
ChatGPTPosts a finance posting batch to the ledger.
postPurchaseOrder
ChatGPTPosts an approved purchase order to the ledger as a vendor bill.
postRevenueRecognitionLine
ChatGPTRecognizes one scheduled line: posts the deferred-revenue-to-revenue journal and stamps the line posted in the same transaction. When the schedule recognizes an advance billing, the document's own deferred schedule moves with it — the two share the line id. Access: signed-in members of the line's workspace with the accountingPost permission, in a workspace where finance is enabled. Errors: line or schedule not found; deferred revenue or revenue account not eligible; the posting date falls in a closed period; or the line changed while it was being posted.
postSlackMessage
ChatGPTShare a Hive action card to Slack (rich attachment). For plain text, use sendSlackMessage. Access: Requires Slack connected in Apps and edit access on the action.
postVendorBill
ChatGPTBooks the payable: Dr each line's account, Cr A/P for the whole bill, in the bill's own company, on the bill's own issue date. The bill then joins the A/P subledger, A/P aging and the payment run, and its balance is what a payment relieves. Access: 'accountingPost' in a workspace where finance is enabled. Errors: refuses a bill that is not approved, an issue date in a closed period, and a document whose lines do not sum to its total. Passing idempotencyKey makes the call safe to retry.
postVendorPaymentRun
ChatGPTRecords, in the Hive ledger, one payment per vendor group in a draft run as already paid outside Hive. Does not send, submit or move money. Each group settles that vendor's bills through the same bookkeeping path createVendorPayment takes, in order. A group that cannot be recorded — its bills changed after the run was built, its period closed, its payment account was retired — records the refusal on its own row and the remaining groups are still recorded. Re-posting a completed run returns it unchanged rather than recording it twice; a run still being posted is refused. Access: 'accountingPost' in a workspace where finance is enabled. Errors: throws when the run does not exist, is not a draft, or is already being posted. Everything one vendor's payment can refuse is reported on that group.
postWipBatch
ChatGPTPosts WIP to the ledger, either way round: pass batchId to post a batch already prepared as a draft — it keeps its own document number and claims its source lines — or pass input to prepare and post in one step. Exactly one of the two. Claiming the source lines is what stops a second batch billing the same work, so a line another batch already took makes the whole post refuse. Access: signed-in members of the batch's workspace with the accountingPost permission, in a workspace where finance is enabled. Errors: neither batchId nor input given, or both; WIP batch not found; batch is no longer prepared, which is also what a losing race sees; batch nets to zero; WIP settings incomplete — posting needs both a WIP asset and a revenue account; no approved, unbilled worksheet lines eligible; one or more source lines already posted to WIP or belonging to another project; posting date inside closed books; and a refusal to post at all when the deployment cannot run the write in a transaction, which keeps the journal, the line claim, and the batch together.
posts
ChatGPTList posts for a workspace, newest first, excluding soft-deleted posts. Access: Requires user access to the workspace.
prepareCampaignRecipientPlans
ChatGPTStarts asynchronous drafting for selected campaign recipients and returns immediately. Recipient status progresses from queued to drafting, then to a persisted plan or failed; this does not send campaign email. Poll getCampaignRecipients until no selected recipient is queued or drafting. Finished drafts are reviewed and sent from the campaign Queue.
prepareFileLibraryUploads
ChatGPTPrepares File Library metadata and signed direct-upload URLs for one to 20 files. Each path must include a root segment and use forward slashes with 2–10 segments, be at most 2048 characters, and imply at most 40 unique folders. The client must PUT binary bytes outside GraphQL using Content-Type from the result and x-amz-acl: private when required by the signed URL. URLs expire after 15 minutes while pending. Reuse the same uploadKey and manifest to retry without creating duplicates; split larger batches into chunks with the same key. Access: Authenticated users with write access to the workspace and parent folder. Errors: Throws for invalid paths, inaccessible parents, or conflicting retries.
previewAccountingAllocationRun
ChatGPTComputes the lines a rule would allocate for a total, without persisting anything, so the run can be reviewed before it exists. Shares the builder createAccountingAllocationRun uses, so the preview is the run. Access: signed-in members of the workspace with finance report read access. Errors: rule not found; the rule's basis total is not positive; or the total amount is not positive.
previewAccountingMapping
ChatGPTValidates an accounting mapping input and returns any mapping issues.
previewCampaignAudienceResult
ChatGPTPreviews candidate audience rows and empty-state metadata for a proposed definition. Access: caller must be a non-external member of the workspace. Errors: invalid or unauthorized workspace access is rejected.
previewCustomerInvoiceLineTax
ChatGPTCalculates tax for a proposed customer invoice line without saving it.
previewFinanceApprovalRules
ChatGPTThe approver steps a document with these attributes would be held by, without writing anything. Empty means no rule matches, which is the auto-approve path. Access: same gate as getFinanceApprovalRules. Errors: none beyond the access gate — an amount matching no rule previews as empty.
previewFinanceRevaluationRun
ChatGPTPrices the workspace's open foreign-currency balances at a date without persisting anything, so a revaluation can be reviewed before it exists. Prices every open foreign balance the subledgers hold — customer and vendor invoices, their contra sets credit memos and vendor credits, and unapplied receipt cash sitting in the customer-deposit liability. Shares the builder createFinanceRevaluationRun uses, so the preview is the run. Access: signed-in members of the workspace with finance report read access. Errors: no exchange rate is stored for a currency on or before the date; a document outside the customer-invoice set carries no usable record of the rate and home balance it posted at; an open balance is too small for the rate to carry into a whole base minor unit; a foreign remainder was never parked outside AR; or there is nothing to revalue — including the case where the only open foreign balances are receivables the run could not price, which is refused by its own sentence rather than reported as nothing to revalue. A receivable carrying no usable record is left out of the adjustment and named in unpricedDocuments instead of refusing.
previewOpportunityLinesFromPlanningProject
ChatGPTDry-run of building an estimate from a planning project: returns the line drafts without writing them or linking the project.
previewPosting
ChatGPTPreviews the journal entries for a finance posting request.
proposeCampaignRecipientStrategies
ChatGPTProposes and persists a play strategy for each active campaign recipient.
proposeFinanceMigrationAccountMatches
ChatGPTProposes account matches for a finance migration run.
publishBuzzSnippetVersion
ChatGPTPublish a draft/latest Buzz snippet version so Buzz can run it from chat. Publish only after dryRunBuzzSnippetVersion returns success true and its output matches the requested outcome; a returned failure report is not a successful dry run, and neither is empty external data or a wrong response shape, even when the code ran. Publishing disables the previously published version, so it is refused while other snippets still pin that version by versionId in a runBuzzSnippetVersion call — the error lists them.
readUrlContent
ChatGPTRead a URL (PDF, image, document, web page) and return either a 1-2 sentence summary or a targeted answer to a question. Token-efficient alternative to fetchFiles when you only need an answer or a high-level summary, not the raw file. Use attachFiles for Hive action/comment files (fileId) or fetchFiles for external HTTPS URLs when you need the raw file content.
recaptureReconciliationLines
ChatGPTCapture onto an open reconciliation whatever its statement window now holds and it does not: posted book lines and unclaimed bank lines in the statement's own company, on exactly the rule the create used. Adds only — cleared, matched and locked lines are left untouched — so a statement created before its feed or its journals had landed can be corrected in place instead of being permanently empty. Access: workspace members with the financial feature and the accountingReconcile permission. Errors: the reconciliation does not exist; it is finalized rather than draft or reopened; its statement period is closed or locked.
recordPurchaseOrderReceipt
ChatGPTRecords receipt of goods or services against a purchase order.
recordsEasySearch
ChatGPTPrimary-field text search across accessible tables/records
recoverMessage
ChatGPTRecovers a soft-deleted message by ID. Only the message creator can recover it — attempting to recover another user's message returns an access-denied error. Project comments also enforce the read-only project-member guard before recovery.
recoverTimesheet
ChatGPTUsed for recovering timesheets in "timesheet" tab in "Timesheets" app. Right after removing should appear toast with "recover" button Access: It requires user access. Errors: Returns specific expected errors if: deleted timesheet item doesn't exist, user is not timesheet submitter and returns null if user doesn't have access to workspace
refreshCampaignCrmColumns
ChatGPTBrings the campaign table's CRM columns in step with the CRM, writing only cells that changed. Without force it runs at most once an hour per table and otherwise skips. Access: caller must have CRM access to the campaign workspace.
refreshFinanceReferenceData
ChatGPTRefreshes connected provider data while preserving Hive-owned accounting fields. Access: Finance setup editors. Errors: refuses unsupported providers, missing access, or an active sync.
refreshFinanceTieOutHealth
ChatGPTRe-walk the subledgers and store the result, then return it. The read above reuses the stored measurement while the ledger has not moved under it, so this is for what that cannot see: a bank reconciliation finalized elsewhere moves the bank rail without posting anything. It is a mutation rather than an argument on the query because it writes — the stamp every reader of this workspace sees afterwards is the one this call left behind.
regenerateCampaignRecipientPlay
ChatGPTRequeues drafting for one Campaign play. Access: caller must have CRM access to the Campaign workspace. Errors: missing, launched, or unauthorized plays are rejected.
regenerateShareToken
ChatGPTRegenerates the share token for a dashboard
rejectBankTransactionPostingBatch
ChatGPTDecline the held bank-feed batch behind this draft journal, releasing its transactions.
rejectExpenseReport
ChatGPTRejects an expense report.
rejectProjectBudgetVersion
ChatGPTRefuse a held baseline. Terminal, and the plan is left exactly as it was — cut again instead.
rejectPurchaseOrder
ChatGPTRejects a submitted purchase order at the approver's decision point. Distinct from cancelling: reject is the approver's answer before approval, leaving the order at 'rejected' for its owner to revise and resubmit. Any rule route holding the order closes with it, so a rejected order never reads as still mid-route. Access: 'purchasingApprove' in a workspace where finance is enabled, and — when a rule route is holding the order — only the approver that route is waiting on. Errors: refuses an order that is not submitted, and refuses a missing or blank reason.
rejectWorksheet
ChatGPTRejects a billing worksheet.
rejectWorksheets
ChatGPTRejects a selection of submitted or PM approved worksheets, one at a time, by running rejectWorksheet for each — so each one releases its lines' claims on their source rows, appends its approval-chain step and notifies exactly once. A worksheet that cannot be rejected is reported in results and leaves the rest of the selection untouched. Access: Requires the finance feature and the worksheet review permission — the same permission rejectWorksheet enforces, asserted per worksheet. Ids are confined to workspaceId, so a worksheet in another workspace is reported as not found rather than by its status. Errors: Throws when the user is not logged in, the workspace has finance disabled, the selection is empty, or it names more worksheets than one run allows. Everything a single rejection can refuse — a missing worksheet, a status that cannot be rejected, a missing rejection reason, a lacking permission — is reported per row in results rather than thrown.
releaseCampaignOutreachHold
ChatGPTReleases a person held from outreach because research scored them at or below 10. Their campaign recipient returns to planned. Access: caller must have CRM access to the campaign workspace.
removeActionDependency
ChatGPTRemoves a dependency between two actions.
removeFilesFromFileLibrary
ChatGPTRemove existing files from the explicit File Library repository without deleting the files or removing their action/message attachments.
removeGoalMetricSync
ChatGPTRemoves the goal's metric sync cron jobs. The goal keeps its sourceWidgetId.
removeLink
ChatGPTSoft deletes a link by setting deleted to true. Access: Requires user access to the workspace.
removeNewsCategory
ChatGPTSoft deletes a news category and un-sets it from any posts in the workspace. Access: Requires user access to the workspace.
removePost
ChatGPTSoft deletes a news post by setting deleted to true. Access: Requires user to be the post creator or a workspace admin.
removePostReaction
ChatGPTRemoves a reaction emoji from a post. Access: Requires user access to the workspace.
removeProjectBudget
ChatGPTRemoves a budget entry from a Hive project.
removeProjectOwner
ChatGPTRemoves a user from a project's owner list. Fails when the user is the project's only remaining owner; when replacing owners, add the new owner first.
removeProjectStatusUpdate
ChatGPTRemove a project-level status update by statusUpdateId. Access: Requires project access
renameFileLibraryFolder
ChatGPTRename an existing folder. For File Library (fileStore) folders, updates the folder path and descendant folder paths. Caller must have edit access on the folder.
renameFileStoreNode
ChatGPTRenames a File Library file or folder; renaming a folder updates the paths of its subfolders. Access: workspace members with edit access to the item. Errors: item not found; empty name.
reopenReconciliation
ChatGPTReopens a finalized bank reconciliation.
requestActionUpdate
ChatGPTAsks an action's assignees (or its team assignee's members) for a status update by sending them a notification and inbox item. Access: any logged-in user. Errors: action not found.
requestApprovals
ChatGPTRequest approvals from all approvers in an approval round. Notifies approvers and marks the round as requested. Use this after setting up all stages and approvers to officially request their review.
requestGoalUpdate
ChatGPTAsks a goal's owners (including members of owning teams) for a progress update by sending them a notification and activity item. Access: any logged-in user. Errors: goal not found.
rerunCampaignResearch
ChatGPTFills or refreshes AI columns: research columns, and research on criteria columns that already hold a metrics score, for the given rows or every row. With onlyMissing, only cells with no result, a failed result or a cancelled one. Rows already queued or running are left alone. Access: caller must have CRM access to the campaign workspace. Errors: missing campaign, unknown column, exhausted Buzz AI credits, or rate limit.
reserveDocumentNumber
ChatGPTReserves the next document number for the selected finance document type.
resolveCustomAppAuthoringThread
ChatGPTOpen a private editing conversation without starting a build. Access: app owner or editor, with workspace and Buzz access. Errors: unavailable app, unauthorized workspace, or disabled App Studio/Buzz.
resolveFinanceMigrationAccountMatches
ChatGPTApplies account-match decisions to a finance migration run.
resolveFinanceWorkamajigProjectMatches
ChatGPTRecords the importer's decisions for projects a Workamajig historical import holds for review: link each to a Hive project already in a team's tree, or create it private to them. Once none is left undecided, the import continues to apply. Access: the member who started the import, with Finance setup edit access. Errors: a run not waiting on review; a row that is not a held project; a project the caller can't see.
resolveReconciliationException
ChatGPTRecords a resolution for a reconciliation exception.
restoreCrmAccountMemory
ChatGPTRestore a historical body and its evidence as a new memory revision. Access: account CRM and historical-source access. Errors: missing or stale revision.
restoreCrmRecords
ChatGPTBulk restore previously soft-deleted CRM records of one type. Returns the number of records restored. Access: Workspace members with CRM access.
restoreDeletedProject
ChatGPTUsed to restore deleted projects in the trash bin Access: Requires project access Errors: Throws error if user doesn't have access to the project
restoreRecords
ChatGPTRestores soft-deleted Hive table records.
resyncOpportunityAmount
ChatGPTResets the opportunity amount to the total of its lines, clearing any manual amount override. Has no effect while a primary proposal supplies the amount. Access: workspace members with CRM access. Errors: opportunity not found.
retryCampaignDiscoveryProfile
ChatGPTRetries a failed initial profile on the same campaign using freshly authorized seed context.
retryFinanceMigrationRow
ChatGPTRetries a failed finance migration row.
retypeInvoiceAdjustment
ChatGPTName what an edit was for, after the fact. The number is untouched — only the type and the note move — so this can never break the tie-out the receipt exists to satisfy. Transfer is not accepted: a transfer is a mirrored pair of receipts sharing one group, made by moving money between lines rather than by renaming a single adjustment.
reverseAccountingAllocationRun
ChatGPTReverses a posted run: writes the reversing journal against the run's own posted entry, closes that entry, and stamps the run reversed — all in one transaction. This is the only way to undo a posted allocation; reverseJournal refuses the run's journal because it is owned by a document lifecycle, which is this one. Access: signed-in members of the run's workspace with the accountingUnpost permission, in a workspace where finance is enabled. Errors: run not found; the run is not posted; its journal is missing; the reason is empty once markup is stripped; the reversal date falls before the original posting date or in a closed period; or the run changed while it was being reversed.
reverseFinanceEliminationEntry
ChatGPTTakes a posted adjustment back out by posting its mirror on a date of its own, so a statement already run as of an earlier date keeps reporting what it reported. Access: 'accountingUnpost' in a workspace where finance is enabled. Errors: the entry is not found or is not posted; the reversal date is before the entry's own date; a company the entry names has a closed period on the reversal date.
reverseJournal
ChatGPTReverses a posted journal. Requires the accountingUnpost finance permission. Only manual entries and their own reversals may be reversed here. A journal a document posted is reversed through that document — void the invoice, void the retainer, unapply the receipt — so the document and the ledger move together.
runBuzzSnippetVersion
ChatGPTStart a published Buzz snippet run asynchronously. Returns immediately with runId and status running. Call wait with event buzz_snippet_run and scope.runId, then summarize when the thread resumes.
runFinanceInvestigation
ChatGPTInvestigate company-scoped customer payments and save research findings without changing the books. Consumes AI credits. Findings describe observed records, not a verified snapshot or authority to act. Access: accounting read and company/period access. Errors: access denied, revision conflict, research failure or unavailable AI credits. After an uncertain response, read the latest checkpoint before retrying.
saveCrmTableSavedView
ChatGPTCreates or replaces a named CRM table view for the current user. Access: Workspace members with CRM access.
saveCustomerInvoiceLine
ChatGPTAdds or updates a line on a draft customer invoice.
saveEmailAttachmentToFileLibrary
ChatGPTCopies an attachment from the caller's connected Gmail or Outlook mailbox into Hive File Library, with optional folder placement and sharing. Requires an authenticated connected mailbox and write access to the target File Library folder. Missing or oversized attachments, provider failures, and inaccessible folders are rejected; maximum size is 15 MB.
saveFinanceReportSavedView
ChatGPTStore a report view for the calling reader, and answer with every view they now hold. The list rather than the stored view alone, because the list is what the caller's filter bar picks from: a caller handed only the view it just wrote still has to ask for the list, and that second question is the one this contract exists to remove. Asked after the write, on the same round trip, it cannot answer from before it. Access: members of the workspace, in a workspace where finance is enabled. Errors: the name or report is empty, the workspace is not found, finance is disabled for it, or the caller is not a member.
saveProposalCommercialDraft
ChatGPTSaves this proposal's editable commercial lines and SOW billing rule without changing alternative offers. Lines, a refresh from the opportunity, or the SOW rule alone may be sent. Access: workspace CRM access. Errors: stale draft, accepted/sent offer, invalid lines or rule.
saveReceiptAllocations
ChatGPTUpdates how a receipt is allocated to customer invoices.
scheduleGoalMetricSync
ChatGPTCreates a cron job that runs syncGoalFromWidget for the goal at dateTime and then on the repeatOn cadence. Replaces any existing schedule for the goal.
scheduleMessage
ChatGPTSchedules a DM/group chat message for future delivery.
scheduledGoalMetricSyncs
ChatGPTCron jobs that periodically re-sync a goal's currentValue from its source widget. Empty when the goal has no schedule (unscheduled goals with a sourceWidgetId are synced by the workspace-wide daily sweep instead).
scheduledMessages
ChatGPTLists the caller's own scheduled chat messages in one chat (containerId is the group ID) that are still pending or failed to send, latest send time first, up to 101. Access: workspace members who can see the chat. Errors: no workspace access; chat not found.
scoreCampaignAudience
ChatGPTRead-only LLM scoring of candidate persons against a persona. No campaign state is mutated; results are not persisted.
searchGoogleDriveFiles
ChatGPTSearches files in the connected Google Drive account.
searchLinkedEntities
ChatGPTSearches Hive entities by name or resolves display labels for known entity IDs. Results are limited to the supplied workspace and the caller's access; unsupported entity kinds return an error.
searchNotes
ChatGPTSearches Hive notes the caller can access.
searchQuickbooksItems
ChatGPTSearches items in the caller's connected QuickBooks company by item ID, exact name, or fully qualified name. Prefer itemId when available, such as a purchase-order ItemRef value.
searchQuickbooksPurchaseOrders
ChatGPTList or search QuickBooks purchase orders for the current user's connected company. Paginate with startPosition (1-based) and first (page size, max 100). Optionally filter by exact DocNumber.
sendCustomerInvoice
ChatGPTSends a customer invoice.
sendNotification
ChatGPTCreates an activity feed entry and sends its configured notification.
sendSlackMessage
ChatGPTPost a freeform text message to a Slack channel or DM. Use getSlackChannels or getSlackDms to resolve channel IDs first. For sharing a Hive action card, use postSlackMessage instead. Access: Requires Slack connected in Apps.
setAccountProofingGuidelineDocuments
ChatGPTReplaces the proofing guideline file links for an account. Access: requires access to the account. Errors: standard authentication and account access errors.
setActionColor
ChatGPTSet the color of an action to be used in the timeline view.
setActionEstimatedTime
ChatGPTSets planned effort on an action in seconds as a total, per-assignee estimates, or both. Use addActionActualTime for actual time on an action and createTimeEntries for timesheet entries. Requires action time-tracking write access and an enabled workspace.
setBankFeedOwner
ChatGPTMove one GL cash account's posted bank feed to this connection, from a named day. Shadow rows this connection already stored for the account are settled by the same date: those dated on or after the cutover become the register's own, and those dated before it are removed as a second copy of transactions the register already holds. A QuickBooks import skips its own bank rows for the account from the cutover day. Access: finance feature access and the setupUpdate permission, the gate every other bank connection change takes. Errors: refuses when the connection is not a Plaid connection on the full bank feed, when it has no live bank account mapped to the GL account, when that account's feed has already been moved, when the workspace's QuickBooks sync is still connected, when Plaid is syncing, when the date is in the future, or when the previous feed already has rows from that date onward. Also refuses when the two feeds disagree on any of the 30 days before the cutover, naming that day, both counts and both totals.
setCampaignRecipientPlays
ChatGPTReplaces unlaunched plays selected for one Campaign recipient. Access: caller must have CRM access to the Campaign workspace. Errors: empty, unsupported, or ineligible modal selections are rejected.
setCustomStatusColor
ChatGPTSets, removes, or renames a custom workspace status color. Call after addStatusToProjectView when a new status needs a color.
setFileStoreFolderAiProofingGuidelines
ChatGPTMark or unmark a file-store folder as an AI proofing guidelines folder. Enable only after the folder has non-empty projectIds; a marked folder with no projectIds applies workspace-wide.
setFinanceMasterDataActive
ChatGPTActivates or retires master-data records in bulk: services, items, tax codes, classes and payment terms. Each row is flipped through that entity's own update mutation, so a bulk change means exactly what the same change means in the edit sheet. This is not one of the legacy bulk* mutations and takes no status string — master data has no document lifecycle, only the active flag its Active/Closed status is derived from. A row already in the requested state is reported as succeeded and left untouched, so a selection that mixes active and inactive rows records no change for the ones that had none. Rows are independent: a row that cannot be flipped is reported in results with its reason and does not stop the rest. Access: signed-in members of the workspace with the setupUpdate permission each entity's update mutation enforces, in a workspace where finance is enabled. Errors: the workspace has finance disabled, the user is not logged in, or records is empty.
setFinanceSourceConnectionMode
ChatGPTChanges an operating source among disabled, read-only, and shadow modes. Access: Finance setup editors. Active mode requires activateFinanceSourceConnection. Errors: connection is missing, inaccessible, or active mode was requested.
setInitialClosingDate
ChatGPTSets the workspace initial closing date.
setOpportunityPrimaryProposal
ChatGPTSelects which proposal supplies the opportunity forecast. Access: workspace CRM access. Errors: proposal from a different deal or closed opportunity.
setPersonPrimaryAccount
ChatGPTSets (or clears) a person's primary CRM account link. Pass a null accountId to remove the primary account. Enforces a single primary account per person. Access: workspace members with CRM access to the person.
setPlaidBankFeedScope
ChatGPTSets how much of a Plaid connection's read-only transactions feed Hive stores, and returns the connection reading the new scope. Switching to PAUSED stops every sync of it; switching to BALANCES_AND_PENDING lets balances and pending rows through and leaves the posted feed to whichever connection owns it. A connection the provider has flagged keeps that status: the scope says what Hive stores, not whether the bank is reachable, and the next sync is what re-derives the second answer. Access: the finance setup permission in the connection's workspace, in a workspace where finance is enabled — the same gate every other bank-connection mutation uses. Errors: 'Plaid bank connection not found.' when no live connection has that id. Setting the scope a connection already runs under is not an error; it writes the same word again.
setProjectAccountLinks
ChatGPTReplaces the account links for a project. Access: requires non-read-only access to the project. Errors: standard authentication and project access errors.
setProjectAiProofingGuidelineNodes
ChatGPTReplaces the File Library files/folders used as AI proofing guidelines on a project. They also apply to every sub-project. Send the full list: omitted nodes are removed. Access: requires non-read-only project access; newly added nodes must be visible to the caller. Errors: "Project not found" for a workspace mismatch; "File not found" for an inaccessible new node.
setStoryPoints
ChatGPTSet the agile story point value for an action Access: Requires user access to the action Parameters: - actionId: The ID of the action to update - storyPoints: The new story point value
setTimesheetLock
ChatGPTUsed for locking/unlocking editing of timesheets in "Manage" tab "Timesheets" app. Access: Requires workspace admin access Errors: Returns specific expected errors if: error if user is not workspace admin, returns null if is not logged in or not deleted not history timesheet with status different to Unsubmitted not found
shareFileLibraryItem
ChatGPTUpdates sharing access for a File Library item.
showActions
ChatGPTShow Hive actions to the user as interactive cards (title, status, due date, project color, assignee) that open the action in Hive. Use it whenever your answer is about specific actions the user may want to see or open.
skipFinanceMigrationRow
ChatGPTLeaves a failed migration row out of its import so the run can finish. The row keeps the result code and message explaining why it failed, and records who skipped it, when, and why; it stops being retried by the apply and is counted as skipped in the run's apply summary. Nothing brings it back: retrying a skipped row is refused and a requeue leaves it alone, so the row stays out for the life of the run. Access: signed-in members of the run's workspace with the setupUpdate permission, in a workspace where finance is enabled — the same gate retryFinanceMigrationRow asks for, because the two are the same decision about the same row. Errors: row not found in the named run; a row that is not failed (an applied, pending or already-skipped row has nothing to dispose of); an empty reason.
startCampaignBuild
ChatGPTStarts LLM-assisted campaign creation from a freeform campaign brief. Creates a draft for build and review; it does not execute the campaign or send email. A later recipient-persistence step requires explicit audience confirmation. Access: caller must be a non-external member of the workspace. Errors: invalid or unauthorized workspace access is rejected.
startCampaignFromAccount
ChatGPTCreates a staged campaign seeded from an account (optionally its won opportunity) and asks Buzz to draft the win profile. The campaign's audience source is prospect_discovery; the builder's audience step shows the profile for review once the worker reports back. Access: caller must have CRM access and the workspace must have the crmProspectDiscovery feature enabled.
startCustomAppAuthoring
ChatGPTStarts one server-bound App Studio authoring thread and dispatches Buzz to build the app. Returns once the run is dispatched, not once the app is built: poll getBuzzMessages with the returned thread _id for Buzz's reply and its build tool results, and getCustomAppVersions for the new version and its buildStatus. requestId is the client-generated thread id and makes the call idempotent — repeating it re-enters the same thread instead of starting a second one. initialPrompt may carry code verbatim: it is HTML-escaped, not stripped, and one longer than 1,000,000 characters of escaped text is refused rather than truncated, so a brief is never quietly shortened before Buzz builds from it. Use continueCustomAppAuthoring for every turn after the first. Access: authenticated member of an App Studio workspace with Buzz enabled. Errors: workspace without App Studio, disabled Buzz, invalid workspace access, a requestId that belongs to another thread, a missing initialPrompt for a new thread, an initialPrompt that contradicts the one the thread already started from, or an initialPrompt over the length ceiling.
startFinanceInvestigation
ChatGPTStart a durable research investigation without changing the books. Retrying the same request returns its original checkpoint. Access: accounting read and access to the accounting period's company. Errors: period not found, invalid input, or request key reused for a different question.
startFinanceQuickBooksMigration
ChatGPTStarts a QuickBooks finance migration.
startFinanceXeroMigration
ChatGPTStarts a Xero finance migration.
stopSequenceEnrollment
ChatGPTStops a person's sequence enrollment so no further steps run, recording it as manually stopped; a linked campaign recipient is marked completed. Access: workspace members with CRM access. Errors: enrollment not found.
submitExpenseReport
ChatGPTSubmits an expense report for approval.
submitForm
ChatGPTAtomic form submission mutation. Determines internally whether to create actions, create a project, update a project, or send emails based on form.target. Each data.fields entry uses the existing form element name and an array of string values. Omit mapTo because the stored form definition supplies field mapping.
submitMyTimesheetsForApproval
ChatGPTSubmits the authenticated user's existing unsubmitted timesheets by ID in an accessible workspace.
submitPurchaseOrder
ChatGPTSends a draft purchase order for approval. Evaluates the workspace's approval rules and, when one matches, records its route on the order so approval consumes the steps in sequence. Access: 'purchasingCreate' in a workspace where finance is enabled. Errors: refuses an order that is not draft or has no lines, and refuses a non-positive total.
submitWorksheet
ChatGPTSubmits a billing worksheet for review.
syncGoalFromWidget
ChatGPTReads the scalar from the goal's sourceWidgetId widget (pivotNumbers, numbers or pivotTable) and writes it as the goal's currentValue. Each call records a goal metric history entry. Fails when the goal has no source widget.
syncPlaidBankConnection
ChatGPTPulls read-only account balances and transactions from the connected bank via Plaid (transactions product) into Hive. Cannot initiate payments or transfers.
syncStripeTaxCodeCatalog
ChatGPTSynchronizes the Stripe tax-code catalog for the workspace.
syncTimeOffCalendarEvent
ChatGPTSync a time-off resource assignment to the employee's connected calendar as an OOO block. Uses the organizer's hiveMail/hiveCalendar OAuth credentials. Calendar sync is optional; returns success: false with reason when the calendar is not connected.
tablesEasySearch
ChatGPTWorkspace-scoped table name search for universal search
testBuzzSnippetHTTPRequest
ChatGPTTest a single HTTP connection request before embedding it in snippet code. For snippets that use buzz.http, call this before createBuzzSnippet/updateBuzzSnippetDraft and copy the working method/path/request shape plus response shape into externalConnections.httpConnections[].samples.
testBuzzSnippetMCPTool
ChatGPTTest a single MCP tool call before embedding it in snippet code.
toggleReconciliationLine
ChatGPTMarks a reconciliation line as cleared or uncleared.
transferBuzzAutomationOwner
ChatGPTHand off a Buzz automation in one transaction: the requested snippets and workflows, the workflows and snippets tied to them through Run-a-snippet steps that have the same owner, and the API-key/session connections those snippets use that the owner holds. Either everything moves or nothing does. Nobody is notified. createdBy never changes; runs execute as the new owner from then on. An email-received trigger watches the owner's inbox, so such a workflow moves only when its trigger names the new owner's own connected inbox; its watch is then registered for the new owner once the transfer commits. Access: a Hive superadmin (full member of the workspace) may hand off to any full member of the workspace or to themselves; nobody else may start a handoff. Everything in the handoff must belong to the workspace and currently to one Hive superadmin: handoffs move staff-built work to the customer, never customer-owned work. Errors: every message in the OWNERSHIP_TRANSFER_ERRORS enum, plus "Snippet not found" and "App workflow not found" for an id outside the workspace, and "User does not have access to workspace" for an actor who is not a full member.
transferDashboardOwnership
ChatGPTTransfers ownership of a dashboard to another workspace member. Access: Dashboard creator or workspace admin. Previous owner remains on sharingWith for me/custom privacy. Errors: - "User is not logged in" if no user session. - "No access" if caller is not the creator or a workspace admin. - "Overview dashboards cannot transfer ownership" for overview dashboards. - "New owner must be different from the current owner" if newOwnerId matches createdBy. - "New owner is not a member of this workspace" if the target lacks workspace access. - "Dashboard not found" / access errors if the dashboard is missing or inaccessible.
trashFileStoreNodes
ChatGPTRemoves File Library items of one type. Folders (with their subfolders) are moved to trash; files, including those inside trashed folders, leave the File Library but are not deleted and keep their action and message attachments. Access: workspace members with edit access to each item. Errors: item not found or not editable.
unapprovePurchaseOrder
ChatGPTTakes back an approval so the order can be revised, returning it to 'draft' and incrementing its revision. The unlock half of the approval lock: approving is what freezes an order's lines, so unapproving is what thaws them, and resubmitting builds a fresh rule route against the revised total. The committed cost entries the approval emitted are reversed, because an order back in draft commits nothing. Distinct from reject, which is the approver's answer before approval, and from close and cancel, which end the order. Access: 'purchasingApprove' in a workspace where finance is enabled. Errors: refuses an order that is not approved, and refuses a missing or blank reason. Refuses an order anything has already arrived against — a linked vendor bill, a recorded receipt, or an open prebilled cost accrual — because revising the lines those reference would strand them.
unlinkCrmMeetings
ChatGPTRemoves CRM links from calendar meetings without hiding or deleting the meetings. Manually logged meetings are soft-deleted along with their meeting user data. Returns the number of distinct meetings with links removed or manually logged meetings deleted. Access: Workspace members with CRM access.
unlinkFileStoreNodeFromProject
ChatGPTRemoves one project link from a File Library item. If a guideline folder is left with no projectIds, it applies workspace-wide; re-link it or remove its guideline status afterward.
unlinkRecords
ChatGPTRemoves links between related Hive table records.
unmatchReconciliationLine
ChatGPTRemoves the match from a reconciliation line.
unpostExpenseReport
ChatGPTTakes a posted expense report back out of the books: reverses its journal through the shared reversal builder, into the period the expense was booked in, and returns the report to 'approved' with journalId/postedAt/postedBy cleared. The report keeps its number, so a re-post is the same document rather than a second one. Not a void: an expense report is a person's claim, so unposting says the books were wrong rather than that the claim was, and the approval-time project cost entries are left standing. Rejecting is how a claim is cancelled. Access: 'accountingUnpost' in a workspace where finance is enabled. Errors: refuses a report that is not posted, one any reimbursement has been paid against (void the payment first), and a reversal into a closed period.
unpostJournal
ChatGPTUnposts a posted journal by reversing it into its own period. Requires the accountingUnpost finance permission, and carries the same ownership rule as reverseJournal: document postings are unposted through the document that made them.
unpostWipBatch
ChatGPTReverses the posting for a work-in-progress batch.
unscheduleCampaignEmail
ChatGPTCancels a scheduled campaign email before its send time and returns it to an unsent draft with no send time. To edit or reschedule it, call this, then updateCampaignRecipientPlay with the new content and executionPlan.scheduledSendAt (null sends at once), then launchCampaignRecipientPlay. Recipients without plays are re-planned with upsertCampaignRecipientPlan and executeCampaign. Access: Campaign owner, workspace admin, or the email's assigned sender. Errors: rejected once the email has started sending or when it was never scheduled.
unsetRecurringActions
ChatGPTMake actions non-recurring by removing their recurring linkage. Stops future recurring instances from being generated while preserving the action. Parameters: - actionIds: Array of action IDs to make non-recurring - workspaceId: The ID of the workspace Access: Requires user access to the actions. Errors: Throws error if user lacks edit permission on the actions.
updateAccount
ChatGPTUpdates a CRM account.
updateAccountingAllocationRule
ChatGPTReplaces an allocation rule's definition. Runs already posted keep the lines they posted; only future runs use the new basis. Access: signed-in members of the rule's workspace with the setupUpdate permission, in a workspace where finance is enabled. Errors: rule not found; either account is missing or archived; or the rule would allocate nothing, charging the same account it relieves with no basis row naming a dimension.
updateAccountingPeriod
ChatGPTUpdates an accounting period.
updateActionDependency
ChatGPTUpdates the lag or dependency type for an existing action dependency.
updateActionGithubBranchNames
ChatGPTUpdate the GitHub branch names associated with an action Access: Requires user access to the action Parameters: - actionId: The ID of the action to update - githubBranchNames: An array of branch names in the format "Repo:branch-name" Returns: The updated action
updateActionGitlabBranchNames
ChatGPTUpdate the GitLab branch names associated with an action Access: Requires user access to the action Parameters: - actionId: The ID of the action to update - gitlabBranchNames: An array of branch names in the format "Repo:branch-name" Returns: The updated action
updateActionLayout
ChatGPTUpdate action card visibility settings. Pass null to restore the default layout. Access: Requires edit access to the action.
updateActionParent
ChatGPTMoves an action beneath another action, or promotes it to the top level when parentId is omitted or null. rank or useLowestRank controls placement; skipSyncActionDates prevents date synchronization. Returns the updated action.
updateActionSnoozeDate
ChatGPTSnoozes an action, hiding it from the caller's task list until the specified date. A null snoozeDate removes the snooze. Requires access to the action.
updateActions
ChatGPTApplies the same field patch to specified actions. Omitted fields remain unchanged; explicit null clears supported nullable fields. Replacement collections cannot be combined with their incremental add or remove fields. Prefer one call over multiple field-specific updates. Requires access to every target action and rejects empty targets or patches, blank title or status, invalid colors or progress, and conflicting assignee operations.
updateActionsAssignees
ChatGPTReplaces, adds, or removes user and placeholder assignees on specified actions. SET fields replace existing user and placeholder assignees and cannot be combined with incremental add or remove fields. Can also apply team, privacy, child, and recurring options; requires access to every target action.
updateActionsCustomField
ChatGPTSets or clears one custom field on specified actions. Supply only the value field matching the custom-field type: value for text, numberValue for numbers, dateValue for dates, or selectedValues for select, user, and project fields. Pass null or an empty matching value to clear the field. Requires access to every target action and rejects missing fields or values whose shape does not match the field type.
updateActionsDates
ChatGPTUpdate multiple actions with distinct start and end dates in one request. Access: Requires user access to all actions. Dates locked with lockDates are skipped unless the caller is a workspace admin or project owner. Set shouldTriggerAutoScheduling to false to write the requested dates without shifting dependency-linked actions. This does not disable project actionDateSync: non-recurring parents with active subactions derive their dates from those children and ignore direct parent date writes, while subaction updates may recompute parent and ancestor date ranges.
updateActionsDescription
ChatGPTUpdates descriptions on specified actions. Prefer markdownDescription for Markdown-authored content; it is converted to stored HTML. If both formats are supplied, description takes precedence. Requires access to every target action.
updateActionsExternalAccess
ChatGPTUpdates whether external members can access selected actions and all of their descendants. Returns which action ids were updated and which were skipped because they are ineligible.
updateActionsLabels
ChatGPTSets, adds, or removes labels on specified actions. SET replaces the complete label list; ADD and REMOVE update it incrementally. Use SET with an empty list or ["none"] to clear all labels. Requires access to every target action. SET and ADD fail with "Labels do not exist or were deleted: <ids>" when a label id was never a label of the workspace, and nothing is written. Deleted labels are not an error: they are left out of what is written, so a SET built from stale or stored labels still saves. REMOVE accepts deleted label ids, so a stale one can be cleared.
updateActionsMilestone
ChatGPTSets or clears milestone status on specified actions.
updateActionsPriorityLevelId
ChatGPTSets or clears the priority level for specified actions. Use a priorityLevelId returned by getPriorityLevels; null clears the priority. Requires access to every target action; shouldUpdateRecurring also updates recurring instances.
updateActionsProject
ChatGPTMoves specified actions into a project, or removes their project when projectId is null. Prefer this bulk operation for one or many MCP action moves.
updateActionsSection
ChatGPTMoves existing actions in one project into a project section. Pass null to ungroup them. Access: Requires access to every action and its project, plus permission to update sections. Errors: Rejects an empty batch, inaccessible actions, or sections/actions from another project or workspace before making changes. Other section memberships and unrelated action data are preserved. A supplied rank applies to every action; modification metadata is refreshed.
updateActionsStatus
ChatGPTSets the status of specified actions using an existing project or workspace status name. Reuse an existing status with the same meaning instead of creating a duplicate. Can also reposition actions and apply the status to children; requires access to every target action. Pass expectedStatus to make the move conditional: actions no longer in that status are left alone instead of being overwritten. It cannot be combined with rankInput or shouldUpdateChildren — the rank write is a second, unconditional update and the child cascade is fire-and-forget, so neither can honour the condition.
updateActionsTitles
ChatGPTUpdate different titles for multiple actions at once Access: Requires user access to all actions Parameters: - actionTitleUpdates: Array of {actionId, title} pairs to update - workspaceId: The ID of the workspace Behavior: - Empty titles are not allowed (will throw error) - Only updates the specific actions in the batch (does not update recurring series) Returns: Boolean indicating success
updateAiIntakeAssessmentWorkflow
ChatGPTConfigures the Hive-managed AI intake assessment workflow. New top-level actions in the selected projects are assessed when enabled. Access: - Workspace admins only. Errors: - "User is not logged in" if no user session. - "User does not have access to workspace" if the user is not a workspace member. - "Only workspace admins can manage AI intake assessment" if the user is not an admin. - "One or more selected projects are unavailable" if project validation fails. - "Select at least one project before enabling AI intake assessment" if enabled without scope.
updateAiProofingLearnedInstruction
ChatGPTRewrites the text of an existing AI Proofing learned instruction. Access: workspace admins. Errors: not found, empty text, over 1,000 characters, duplicate instruction.
updateAppWorkflow
ChatGPTUpdate an existing App Workflow. Send the new value whenever you want to change a field, or "noop" for fields that should remain untouched. IMPORTANT: When updating workflows with cron triggers, specify recurrence ONLY in trigger.conditions[0].fieldValue (the recurring schedule object), NEVER in the operation prompt. Before creating or updating a workflow with runBuzzSnippetVersion, call getBuzzSnippets if you only know the snippet name, then call getBuzzSnippetVersion for the publishedVersionId and read inputSchema.properties plus inputSchema.required. Build inputMapping as an array with one entry per snippet input field that should be populated: { inputField, value }. Use value { type: "path", path } for workflow context references; { type: "template", parts: [{ type: "text", text }, { type: "path", path }] } for strings assembled from context; { type: "string"|"number"|"boolean", value } or { type: "null" } for primitive literals; and { type: "json", value: "<JSON array or object>" } for complex literals. Common paths: trigger.action._id, trigger.action.title, trigger.action.description, trigger.action.status, trigger.action.projectId, trigger.action.assignees, trigger.action.labels, actionUrl, trigger.actionChange.triggeredFields, trigger.actionChange.fieldValues, workflow._id, workflow.name, workflow.workspace, now.iso, now.unix, trigger.fileId, trigger.folderId, trigger.name (File Library triggers), trigger.record._id, trigger.record.cells.<fieldKey>, trigger.record.workspace, trigger.table._id, trigger.changedFields, trigger.cellChanges.<fieldKey>.current (Table record triggers). For API request triggers, set inputMapping to null to pass the request payload through unchanged.
updateAssignedPlaceholders
ChatGPTMaps a resource placeholder (e.g. "Event manager") to a person on one project. With updateActions true, also assigns that person to the project's actions that use the placeholder (actions with their own mapping for it are skipped); otherwise only the project mapping changes. Requires placeholder-assign permission on the project.
updateBankAccount
ChatGPTUpdates a bank account’s finance settings.
updateBankRule
ChatGPTUpdates a bank transaction categorization rule.
updateBuzzCommand
ChatGPTUpdate an existing slash command
updateBuzzSnippetDraft
ChatGPTUpdate or create the latest draft version for an existing Buzz snippet. Before editing, load the current version and preserve existing allowedTools, externalConnections, inputSchema, and outputSchema unless intentionally changing them. Only the owner or someone the snippet is already shared with may change sharingType/sharedWith: a Hive superadmin editing a snippet they reached through the sharing bypass may change everything else, but a sharing change errors with SHARING_CHANGE_NOT_AUTHORIZED ("Only the snippet owner or someone it is shared with can change who this snippet is shared with"). Resending the current sharing values is not a change.
updateCampaign
ChatGPTUpdates campaign planning, status, or custom fields after a real outcome.
updateCampaignDiscoveryProfile
ChatGPTStores the rep's edits to the win profile (and, when given, the search budget) and parks the campaign in awaiting_review. Rejected while a discovery step is still running.
updateCampaignRecipientPlay
ChatGPTUpdates an unlaunched Campaign play draft. Access: caller must have CRM access to the Campaign workspace. Errors: missing, launched, or unauthorized plays are rejected.
updateCrmAccountMemory
ChatGPTSave an editable account-memory version while preserving its evidence references. Access: account CRM and contributing-source access. Errors: stale revision or invalid content.
updateCrmForm
ChatGPTUpdates an existing CRM form. Access: workspace members with CRM access to the form's workspace. Errors: unknown forms and unauthorized CRM access are rejected.
updateCrmRecordsOwner
ChatGPTBulk reassign the owner of CRM records of one type. Passing null clears owners. Returns the number of records updated. Access: Workspace members with CRM access.
updateCustomAppDetails
ChatGPTApp Studio workspaces only. Change an editable Custom App's name, description, or both without creating a version. Access: authenticated Custom App owner or editor with workspace access. Errors: unavailable environment, neither name nor description given, invalid name, description too long, Custom App not found, or inaccessible workspace.
updateCustomAppSharing
ChatGPTApp Studio workspaces only. Replace who can run one Custom App, and optionally who can edit it. Run sharing and editors are independent; recipients run the current published version. Access: authenticated Custom App owner with workspace access; editors cannot change sharing. Errors: unavailable environment, invalid sharing type, custom sharing without people, a person or editor outside the workspace, Custom App not found, or inaccessible workspace.
updateCustomerInvoiceLayout
ChatGPTUpdates the presentation settings of a saved invoice layout. Omitted sections, style and assignment rules are preserved. Invoices using this layout display its current settings. Access: Finance users with invoice generation permission in the specified workspace. Errors: Refuses a missing layout, a layout outside the workspace or invalid presentation settings.
updateDashboard
ChatGPTUpdates a Hive dashboard, including its title, sharing, filters, styling, and layout. Dashboard layout uses a 48-column grid; provide layout only for an explicit widget move or resize request.
updateDashboardWidget
ChatGPTUpdates an existing dashboard widget using a single input object. V2 replacement for updateDashboardWidget — all fields are in UpdateDashboardWidgetInput.
updateDimension
ChatGPTUpdates a finance reporting dimension.
updateFileDescription
ChatGPTUpdate a File Library file's description. Access: workspace members with edit access to the file. Errors: inaccessible, deleted or immutable files; description over 2,000 characters.
updateFinanceApprovalRule
ChatGPTReplace an approval rule. A full overwrite guarded by a modifiedAt compare-and-set, so a concurrent edit is refused rather than silently losing the other operator's change. Access: 'setupUpdate' in a workspace where finance is enabled. Errors: the create-side validation, plus a refusal when the rule changed while being edited. Documents already held by this rule keep the route they were given — their copy does not move.
updateFinanceEliminationEntry
ChatGPTReplaces a draft entry's date, memo and lines together. Posted and reversed entries are immutable — reverse one instead. Access: 'accountingPost' in a workspace where finance is enabled. Errors: the entry is not found or is no longer a draft; the lines fail the same shape checks create applies.
updateFinanceEmployeeProfile
ChatGPTUpdates an employee profile used by Finance.
updateFinanceExchangeRate
ChatGPTCorrects a stored rate's value or the day it applies from. There is no delete and no archive: a rate is superseded by a later dated row, and a row entered against the wrong day is moved to the right one. Editing marks the rate manual, so a later provider refresh cannot revert a correction someone made on purpose. Access: 'setupUpdate' in a workspace where finance is enabled. Errors: the rate does not exist; the new rate is not a decimal greater than zero; the new date already holds a rate for this pair.
updateFinanceExpenseLine
ChatGPTUpdates a line on a draft expense report.
updateFinanceGlCompany
ChatGPTEdits a GL company, including retiring one by setting active to false. There is no archive: a company transactions reference is deactivated, never removed. Access: 'setupUpdate' in a workspace where finance is enabled. Errors: the company is not found; the company ID or name is blank; the company ID is already used in this workspace; the default company was asked to clear its own flag or to deactivate; a company outside the workspace base currency was asked to become the default; another request moved the default while this one saved.
updateFinanceIntercompanyMapping
ChatGPTChanges the accounts an intercompany pair posts through, or retires the pair. The pair itself cannot be repointed — retire this mapping and add the one that was meant. Access: 'setupUpdate' in a workspace where finance is enabled. Errors: the mapping is not found; an account named is not an active account of the type its leg requires — including when reactivating a mapping whose accounts were archived meanwhile.
updateFinanceMinimumCash
ChatGPTUpdates or clears the workspace minimum-cash floor used by cash forecasting. Access: signed-in members of the workspace with the setupUpdate permission, in a workspace where finance is enabled. Errors: the amount is negative or does not use the workspace base money unit.
updateFinancePaymentTerm
ChatGPTEdits a payment term, including terms imported from an accounting system — the importer owns the provider reference on the row, not its due rule. Invoices already dated from this term keep the due date they were given; the rule applies from the next invoice billed against it. Access: signed-in members of the workspace with the setupUpdate permission, in a workspace where finance is enabled. Errors: the term does not exist or is deleted; the new name is empty, too long, or already held by another active term; the input names both due fields; or a due field is outside its range.
updateFinancePurchaseOrderLine
ChatGPTUpdates a line on a draft purchase order.
updateFinanceRecurringSchedule
ChatGPTUpdates a recurring finance schedule.
updateFinanceRetainerAgreement
ChatGPTUpdates execution terms on a draft agreement. Accepted proposal economics remain immutable. Access: same billing invoice generate and company-write gates as creation. Errors: agreement not found, non-draft status, stale concurrent edit, invalid references or execution terms, unsupported currency, or a change to accepted proposal economics.
updateFinanceRetainerSubscriptionLink
ChatGPTRepairs or clears the CRM subscription link on any retainer status without changing billing terms or executor version. Omit subscriptionExternalId to retain the link; null clears it. Requires billing write, company-write, and CRM read access. Errors: agreement not found, denied access, stale agreement or link, or a subscription that does not belong to the retainer client.
updateFixedAsset
ChatGPTUpdates a fixed asset record.
updateGLAccount
ChatGPTUpdates a GL account. Requires the setupUpdate finance permission. Classification and type are fixed once the account carries journal lines — the entries posted to it were shaped around what they mean. Renaming stays available, and archiving is handled by archiveGLAccount.
updateGoal
ChatGPTUpdates a Hive goal. Display progress supports null, number, or actions measurements; display number also supports overdue; display status requires status measurement. Actions or overdue use actions/projects units, number uses currency/custom/percentage, and status uses subGoals. Unit values and symbols follow createGoal's rules. Ongoing, recurring, and fixed date-range modes are mutually exclusive; a fixed range requires startDate before endDate. Action and project IDs require their corresponding unit.
updateHoliday
ChatGPTUpdates a holiday name or date.
updateItem
ChatGPTUpdates a finance item.
updateJournal
ChatGPTUpdates a draft general-ledger journal.
updateJournalLine
ChatGPTUpdates a general-ledger journal line.
updateLink
ChatGPTUpdates an existing link's title and url. Access: Requires user access to the workspace.
updateLinkedProjects
ChatGPTReplaces the projects in which an action also appears. The action's home project is ignored, and changes propagate to subactions. Pass the complete desired list; project linking must be enabled for the workspace and the caller must have action access.
updateMailDraft
ChatGPTUpdate an existing email draft's subject, body and/or recipients. Omitted fields keep their current value; a provided recipient list replaces the existing list. Attachments and reply headers are preserved. Never sends. The HTML body is stored exactly as given (links are not rewritten or wrapped); on a reply draft the quoted thread is re-attached below it. Access: Requires authenticated user with connected mail provider. Errors: - User is not logged in - User does not have specified providerId connected - Unsupported mail provider - Recipient contains a line break
updateMailDraftBody
ChatGPTUpdate only the body content of a mail draft, preserving all other fields like attachments. hive-collab-server calls this when persisting collaborative mail draft edits. The HTML body is stored exactly as given (links are not rewritten); on a reply draft the quoted thread is re-attached below it. Never sends. Access: Requires authenticated user with connected mail provider. Errors: - User is not logged in - User does not have specified providerId connected - Unsupported mail provider
updateMeetingCustomFields
ChatGPTReplaces the named record's values for this workspace's meeting custom fields. Values for definitions this workspace does not own, or that are not meeting fields, are dropped; a field omitted from the array is cleared. Never creates a record: the record must belong to this meeting and be one the caller can read, and the write attributes to the caller.
updateMeetingFollowUpDraftSettings
ChatGPTEnable or disable auto-drafting follow-up emails after CRM-linked calls. Access: workspace admins with Hive CRM enabled.
updateMeetingOpportunity
ChatGPTCreate or remove the canonical CRM linked_meeting association between a meeting and opportunity.
updateMeetingPrep
ChatGPTUpdate meeting user data using diff operations for array fields and direct values for scalars. Array fields (goals, agendaItems, nextSteps, materials, linkedActions, speakerLabels) accept add/remove/update diffs. Scalar fields (customTitle, notes, sharedNotes) accept direct values.
updateMembersPermissionsV2Batch
ChatGPTBatch update members permissions for multiple projects. Processes each project sequentially and continues even if individual updates fail (errors are logged). Access: Requires access to each project Returns: Array of successfully updated projects
updateNewsCategory
ChatGPTUpdates a news category's name and color. Access: Requires user access to the workspace.
updateOpportunity
ChatGPTUpdates opportunity fields. Selecting a closed stage applies the same close bundle (forecast category, probability, closeDate) as closeOpportunity.
updatePerson
ChatGPTUpdates a CRM person.
updatePost
ChatGPTUpdates the body content of a news post. Access: Requires user to be the post creator.
updateProject
ChatGPTUpdates project settings and custom field values. Custom fields patch by field id; omitted fields stay unchanged. Access: project editors. Errors: unauthenticated, inaccessible or read-only project, invalid parent or custom field, or conflicting custom field inputs.
updateProjectArchived
ChatGPTUpdate project archived status Access: Requires user access to the project Parameters: - projectId: The ID of the project to update - archived: The new archived state to set - includeChildren: Whether to include children in the update Returns: The updated project
updateProjectDescription
ChatGPTUpdates a Hive project's description.
updateProjectMembersPermissions
ChatGPTAdds, removes, or changes project access for specified members or teams. Applies the supplied permission, sharing type, and automation flag to every target; use permission REMOVE to remove access.
updateProjectOtherCosts
ChatGPTAdds, updates, or removes one project other-cost entry and recalculates derived totals. UPDATE clears description or categoryId when omitted, but preserves omitted date, type, and recurrence values. Requires workspace-admin or project-owner access. ADD and UPDATE require name and amount; UPDATE and REMOVE require costId. Duplicate IDs and invalid categories are rejected; negative amounts are allowed as credits.
updateProjectParent
ChatGPTMoves a project beneath another project, or promotes it to the top level when parentProjectId is omitted, null, or empty. Access: project editors with Location permission. Errors: inaccessible project, cross-workspace parent, or cycle.
updateProjectTreeHiddenApp
ChatGPTShows or hides one project app for a project and all of its descendant projects, leaving the other entries of each project's hiddenApps untouched. shouldHide false enables the app. Returns updated/skipped/failed counts; projects already in the requested state are skipped. Access: Requires access to the root project and the workspace project edit permission; each project in the tree enforces project access and fails for read-only members.
updateProjectsCustomFields
ChatGPTEnables custom fields for specific projects. This should be used to enable only project itemType custom fields. Parameters: - projectIds: Required. The IDs of the projects to add the custom fields to - workspaceId: Required. The ID of the workspace to add the custom fields to - fields: Required. The custom fields to add to the projects
updatePurchaseOrderPaymentTerm
ChatGPTUpdates the payment term on a draft or rejected purchase order. Access: purchasing create permission in the order's workspace. Errors: refuses a missing or non-editable order, or a term that is inactive or belongs to another workspace.
updateRecordCells
ChatGPTBatch cell write — one or more records; grid paste is one round trip
updateResourceAssignment
ChatGPTUpdates an existing resource assignment by ID. Resolve the exact ID with getResourceAssignments first; do not update when no assignment matches.
updateResourcePlaceholder
ChatGPTUpdates a resource placeholder's name, role, or financial rates without changing its identity or assignments. Passing null for roleTagId removes the role association. Only workspace admins can change bill and cost rates.
updateResourcingSavedView
ChatGPTRenames a saved view, replaces its filter state, or both. Access: the view's creator. Errors: throws when the view is missing, the caller is not its creator, the input carries neither field, or the new name is empty, over the stored bound, or already taken on this surface.
updateRetainer
ChatGPTUpdates a customer retainer.
updateSection
ChatGPTUpdates a section's title or color.
updateSectionsOrder
ChatGPTReorders sections in a project or action view.
updateSequence
ChatGPTEdits a sequence's name, description, owner, status, or final delay after the last step. Omitted fields are left unchanged; steps are edited through sequence versions. Access: workspace members with CRM access; a new owner must be assignable. Errors: sequence not found.
updateSequenceVersionSteps
ChatGPTReplaces the steps (and optionally the final delay) of a draft sequence version. Access: workspace members with CRM access. Errors: version not found; version is not a draft.
updateService
ChatGPTUpdates a finance billing service.
updateSetupDefaults
ChatGPTUpdates the default values used by finance setup.
updateSetupSection
ChatGPTUpdates the status, owner, or note for a finance setup section.
updateSubmittedTimesheets
ChatGPTMoves submitted project/category rows or frozen action rows to another project or time category. Can also remove selected frozen action rows. Live action tracking stays unchanged. Access: Requires workspace admin access. Errors: Fails for missing rows, mixed row types, leave rows, invalid targets, conflicting destination rows, or incompatible approval states.
updateTables
ChatGPTUpdates Hive table metadata.
updateTablesAccess
ChatGPTUpdates access rules for Hive tables.
updateTaxCode
ChatGPTUpdates a finance tax code.
updateTaxProviderSetting
ChatGPTUpdates the workspace tax provider configuration.
updateTeamMembership
ChatGPTAdds or removes one member from multiple teams in one ordered operation while preserving all other current team members. Access: users allowed to edit the team. Errors: unknown teams, invalid workspace membership type, or insufficient team permissions.
updateTimeCategory
ChatGPTRenames a time category and optionally changes whether it is billable or time off. Access: workspace members (external users excluded); admins only when the workspace restricts time category management. Errors: category not found or deleted.
updateTimeEntry
ChatGPTChanges the logged time (in seconds) on an existing time entry, identified by its timesheet and date. snapshot, the per-item time breakdown, is accepted only for submitted or approved timesheets. Edits to approved time are pushed to Harvest when the workspace syncs timesheets. Use createTimeEntries to add new time. Access: the timesheet's owner, or a workspace admin for someone else's timesheet. Errors: timesheet or time entry not found; manual project time disabled; snapshot does not match loggedTime.
updateTimer
ChatGPTUpdate a timer's action association Access: Requires user to be the owner of the timer. If actionId is provided, requires access to the new action's workspace.
updateTimerStatus
ChatGPTUpdate timer status (start, pause, or complete) - start: Sets status to running and adds a new session entry - pause: Sets status to paused and closes current session entry - complete: Sets status to completed and closes current session entry Access: Requires user to be the owner of the timer
updateTimesheetsStatus
ChatGPTUsed for approve/request changes of timesheets in "My approvals" tab "Timesheets" app. Access: It requires user access. Errors: Returns specific expected errors if: returns [] if user not logged in or doesn't have access to workspace, related timesheet docs with status different to Unsubmitted not found, user is not timesheet approval
updateUserFilterV2
ChatGPTUpdates a saved Hive view filter. Client must merge existing userFilter.pivotTableColumns by columnId before calling — the mutation replaces pivotTableColumns with the payload array; partial arrays drop other columns. Call with layout dashboardWidget and actionViewId set to the widget's actionViewId; pass merged columns on filter.pivotTableColumns. Each column must include columnId and type. Omit conditionalFormatting. Formula values omit a leading equals sign; use DAYS(end, start) for date differences.
updateUserProfile
ChatGPTUpdates a workspace member's profile, managers, work dates, utilization target, or resourcing rates. Always pass the target userId. Editing another member requires workspace-admin access; use billRateFloat and costRateFloat rather than deprecated integer rate fields.
updateUserTags
ChatGPTAdds or removes one custom resource tag for specified workspace users. Returns per-user updated, skipped, failed, and unresolved outcomes without aborting remaining users. Pass explicit user IDs after resolving any team membership; role tags use insertUserTag instead. Requires resourcing and tag-update access; missing or non-custom tags reject the whole batch.
updateVendorBill
ChatGPTEdits a draft bill. Draft only — approval is what fixes numbers somebody else authorized, and a posted bill is corrected by voiding it and recording the right one. Access: 'purchasingCreate' in a workspace where finance is enabled.
updateWebhook
ChatGPTUpdate an existing webhook. Admin-only.
updateWipSettings
ChatGPTUpdates work-in-progress posting settings.
updateWorkspaceFeatures
ChatGPTTurns workspace apps (features) on or off, e.g. { appWorkflows: true } enables the Workflows app. Caller must be a workspace admin; add-on and plan checks still apply server-side. Read getWorkspace.features afterwards to verify the change.
updateWorkspaceSettings
ChatGPTUpdate workspace settings. Admin only. When settings.notificationPolicy is set: the workspace policy is saved first, then locked fields are propagated to member UserSettings. If propagation fails, the mutation errors with NOTIFICATION_POLICY_PROPAGATION_FAILED while the workspace policy remains saved — retry the save (do not assume a full rollback).
upsertAccountingMapping
ChatGPTCreates or updates an accounting mapping.
upsertCampaignRecipientPlans
ChatGPTBatch form of upsertCampaignRecipientPlan: adds, suppresses, or excludes many campaign recipients in one call, keyed by workspace, campaign, and person, with optional strategy and execution plan. Access: CRM access in every workspace named by the inputs. Errors: campaign or person not found; additional attendee not a workspace member.
upsertCrmPipeline
ChatGPTCreates or updates a workspace CRM pipeline and its ordered stages. Access: workspace admins. Errors: invalid names, probabilities, outcomes, or stage identifiers are rejected.
upsertCustomFields
ChatGPTCreates or updates action and project custom-field definitions. New fields receive generated IDs; updates use the existing field ID with the replacement definition.
upsertDocumentNumberSequence
ChatGPTCreates or updates a finance document-number sequence.
upsertFieldDefs
ChatGPTAdd or update fields (columns) on an existing Hive Table. Use for table schema changes; use createTables for a new table and updateRecordCells for row values. Access: Table editors, table creator, or workspace admins.
upsertOpportunityLines
ChatGPTAdds or edits priced lines (products, services, discounts) on an opportunity; lines with an existing _id are updated, others are created, and unlisted lines are left alone. Recomputes percentage discounts and fees and syncs the opportunity amount unless it was manually overridden or a primary proposal supplies it. Access: workspace members with CRM access. Errors: opportunity not found, currency mismatch, invalid discount, fee, weeks or billing rule, catalog capacity exceeded.
upsertPersonsByEmail
ChatGPTCreates or updates CRM people, matching existing people by email address.
upsertRecords
ChatGPTCreate or update records by immutable integration identity.
upsertVendorTaxProfile
ChatGPTCreates or updates a vendor tax profile.
voidCustomerInvoice
ChatGPTVoids a customer invoice.
voidReceipt
ChatGPTVoids a posted receipt: reverses the journal that posted it and puts every invoice it applied to back to the balance it carried before. The reversal is numbered after the original journal with a -VOID suffix rather than drawn from the series. Refused on a receipt already voided, one that never posted, one whose journal is cleared on a bank reconciliation, and one recorded in a currency other than the workspace's.
voidRetainer
ChatGPTCancels a retainer agreement and returns the unused funded balance, reversing it out of the retainer liability into the bank the money arrived in. Refuses when nothing is left funded — a fully drawn retainer is closed, not voided. Access: signed-in members of the retainer's workspace with the accountingUnpost permission, in a workspace where finance is enabled. Errors: retainer not found; retainer already voided; nothing left funded to return; funded liability does not match the unapplied balance (reconcile first); funded through more than one cash account; no retainer liability account configured for a retainer that has no funding journal; posting date inside closed books; and a refusal to post at all when the deployment cannot run the write in a transaction, which keeps the cancellation and its reversal together.
voidVendorBill
ChatGPTReverses a posted bill out of the books and closes it. A void, not an unpost: the original entry and its reversal both stand, which is what an audited ledger requires. Access: 'accountingUnpost' in a workspace where finance is enabled. Errors: refuses a bill that is not posted, an empty reason, a void into a closed period, and a bill any payment has been applied to — void the payment first.
voidVendorPayment
ChatGPTReverses, in the Hive ledger only, a vendor payment record by writing the offsetting payment that cancels it, and returns that offsetting document. Does not recall, cancel or refund any real payment. The void is a document, not a status: it carries the negative of the original's amount and allocations under the original's number suffixed '-VOID', and posts a reversing journal through the shared reversal builder, so every AP read that sums payments over a window — 1099 detail, cash-basis P&L, AP aging — nets it out without being taught about voids. The bills the original settled are reopened to what they owed before it, which is what makes them payable again; the original payment stays posted and is stamped with the void. Access: 'accountingPost' in a workspace where finance is enabled — the void posts a document rather than unposting one, and is the same authority that recorded the payment. Errors: refuses a payment with no journal of ours (a synced payment), one already voided, the offsetting document itself, an empty reason, and a void into a closed period.
webhooks
ChatGPTGet webhooks for a workspace with pagination, search, and sort. Admin-only.
writeOffWorksheetLine
ChatGPTWrites off a billing worksheet line.