Home / WorkBuddy / @workbuddy/n8n-nodes-workbuddy-vnext

WorkBuddy n8n community node

@workbuddy/n8n-nodes-workbuddy-vnext — n8n nodes for WorkBuddy - Field service management

Weekly downloads324
Change vs prior week+197
Latest versionv1.0.150
Last published2026-11-01
First published2026-03-05
LicenseMIT

Install

In n8n, open Settings → Community Nodes → Install and enter:

@workbuddy/n8n-nodes-workbuddy-vnext

Unverified community nodes can only be installed on self-hosted n8n with community packages enabled. Review the code before installing.

Nodes in this package

Supported operations

ResourceOperationDescription
JobsList Job actionsMetadata actions that can run on one Job: commands (change status, add note) and bulk-updatable fields as set-field actions. Each lists its input JSON Schema, required security rights and whether the UI confirms it first.
JobsRun a Job actionRuns one action listed by GET /jobs/actions on a single Job, through the same executor as the board. Actions the UI confirms first run without confirmation here; the caller is authorised by its rights.
JobsSearch jobs or stages with complex filtersAdvanced search endpoint for complex queries. Use mode='jobs' (default) to search jobs, or mode='stages' to search stages with embedded job context. Supports multiple filters, date ranges, and field projection via JSON body.
JobsGet job by ID or job numberRetrieve a single job by its ID, human-readable job number, or external integration ID.
JobsCancel a jobCancel a job by ID or job number. Jobs cannot be permanently deleted, only cancelled. This changes the job status to 'cancelled'. A reason must be provided.
JobsCreate a new jobCreate a new job with the specified details. Requires either customerId or inline customer object.
JobsCreate a new job from templateCreate a job using a job template. Template-owned fields win over request values before final job validation.
JobsSet job finance marksMark or unmark a job Non-Billable and/or Non-Payable. Dispatches the domain finance-lock command once per changed side. Same value is a no-op. Requires jobs:financial.
JobsUpdate job statusChange an existing job status and cascade the change to stages through the job domain command.
JobsUpdate a jobPartially update a job. Only provided fields will be modified.
JobsDispatch a jobChange job status to dispatched, making it ready for field work.
JobsList job stagesGet all stages (work orders) for a job.
JobsGet job stageGet a specific stage within a job.
JobsList stage itemsGet all items (line items) for a stage.
JobsCreate stage itemsAdd one or more catalogue-backed line items to a stage.
JobsGet stage itemGet a specific item within a stage.
JobsUpdate stage itemUpdate mutable fields on a stage line item.
JobsDelete stage itemPermanently remove a stage item. Refused with 409 when the tenant prevents deletion of stages and items; cancel the item instead.
ItemsFind job line itemsFind a job line item by external integration ID.
Pending ItemsFind a pending itemFind a pending stage item by its external integration ID.
Stages Pending ItemsList stage pending itemsList items awaiting approval for a stage.
Stages Pending ItemsCreate stage pending itemsCreate one or more items awaiting approval.
Stages Pending ItemsGet stage pending itemGet a specific pending item within a stage.
Stages Pending ItemsUpdate stage pending itemUpdate general pending-item fields. Use the status route for itemStatus.
Stages Pending ItemsDelete stage pending itemDelete or decline a pending item according to tenant deletion settings.
Stages Pending ItemsUpdate pending-item statusSet the dedicated pending-item status. No general item fields are accepted.
Stages Pending ItemsApprove stage pending itemApprove a pending item and promote it to a standard stage item.
StagesCreate a new stageCreate a new stage (work order) within a job. Stages represent discrete phases of work.
StagesSet stage finance marksMark or unmark a stage Non-Billable and/or Non-Payable. Dispatches the domain finance-lock command once per changed side. Same value is a no-op. Unmarking a stage while the job holds that mark is refused. Requires jobs:financial.
StagesUpdate a stagePartially update a stage. Only provided fields will be modified.
StagesDelete a stagePermanently remove a stage. Refused with 409 when the tenant prevents deletion of stages and items; cancel the stage through its status instead.
StagesDispatch a stageChange stage status to dispatched, making it ready for field work.
StagesComplete a stageMark a stage as completed. Field work is done but stage may still need finalisation/billing. Optional statusId selects a tenant Completed status from GET /settings/stage-statuses (systemStatus Completed); omit to use the system Completed status (MAI-2101).
StagesMark a stage in progressSet the stage to an In Progress status. Pass statusId from GET /settings/stage-statuses with systemStatus In Progress (multiple peer statuses may share that systemStatus) (MAI-2101).
StagesFinalise a stageFinalise a completed stage. This typically indicates billing/invoicing is complete.
StagesCancel a stageCancel a stage. Provide a reason/note for the cancellation.
StagesPut a stage on holdSet the stage to an On Hold status. Pass statusId from GET /settings/stage-statuses with systemStatus On Hold (multiple peer statuses may share that systemStatus). Blocked from Completed, Closed, or Finalised.
StagesReverse stage statusReverse (reopen) a stage to a previous status. This is an admin action that bypasses normal transition rules and clears fields appropriate to the target status.
StagesReissue dispatch notificationsResend dispatch notifications to all resources and contractor assigned to this stage.
Stages ResourcesList stage resourcesList people assigned to the stage via this API: employees (resource rows) and the stage contractor when set. Contractors assigned with POST .../resources appear here with isContractor=true (same shape as the assign response) (WBS-10448). Login contacts auto-created for contractor dispatch are excluded.
Stages ResourcesAssign resource to stageAssign an Employee or Subcontractor by contactId. Employee → resource row. Subcontractor → stage contractor (isContractor=true). Both appear on GET list (WBS-10448). contactId is a person Contact id (use /employees for staff), not a CRM Contact from /contacts (WBS-10445 / WBS-10442).
Stages ResourcesGet stage resourceGet one assignment by id. Employee rows use the resource/contact id; the stage contractor uses the contractor contact id (same id as POST assign when isContractor=true) (WBS-10448).
Stages ResourcesUnassign resource from stage
Stages ResourcesReissue dispatch notification
Stages ResourcesUpdate resource statusUpdate status (completed, onhold).
Stages AppointmentsList stage appointments
Stages AppointmentsCreate a stage appointmentstart and end are a local clock with no timezone, read in the stage site timezone. A status other than Open is applied after the appointment is created.
Stages AppointmentsUpdate an appointment status or booking
Settings Reference DataList entity statusesRetrieve all active statuses for a given entity type. Supported entities: customer, contractor, supplier, contact, external-user, pending-item, item
Settings Reference DataList job statusesRetrieve all possible job statuses. These are system-defined status values that represent the aggregated state of a job based on its stages.
Settings Reference DataList job typesRetrieve all active job types configured for the tenant. Job types categorize jobs by the type of work being performed (e.g., Maintenance, Installation, Repair).
Settings Reference DataList job templatesRetrieve all active, public job templates configured for the tenant. Use the returned id as the templateId for POST /jobs/template/:templateId.
Settings Reference DataList prioritiesRetrieve all active priority levels configured for the tenant. Priorities indicate the urgency of jobs (e.g., Critical, High, Medium, Low).
Settings Reference DataList pricebooksDiscover tenant pricebooks for a category (customer / contractor / supplier). Use category=customer&status=current&assignableOnly=true for job-create candidates. Optional accountId scopes to a CRM account (includeGlobal defaults true). Each item includes company (owning company) and optional account — both match Settings UI fields.
Settings Reference DataGet pricebookRetrieve a pricebook by id (preferred) or exact name (case-insensitive). Pass category when the name may exist in more than one category. Response includes company (owning company) and optional account, matching Settings UI.
Settings Reference DataList stage statusesRetrieve active stage statuses configured for the tenant (Settings > Stage Status). Soft-deleted statuses are omitted. Each item is a workflow state a stage (work order) can use (e.g. New, Dispatched, En Route, On Site, Completed, Finalised). Response fields include: - identity: id, name, systemName, systemStatus, sortOrder - description (nullable) - activityOptions: shareWithCustomer, shareWithField (always present; unset = false) - displayOptions: showInContractorPortal, showInFieldApp (always present) Display Options rules (match Settings UI): - Only systemStatus On Hold or In Progress support display options; other systemStatus values return both flags as false - showInFieldApp is not configurable for In Progress and is always false - When supported and not configured, visibility defaults to true (Settings UI default) Requires scope: settings:read
Settings Reference DataList tagsRetrieve all active tags (labels) configured. Use the optional `type` query parameter to filter by label type. Defaults to `job` if not specified. `colors` is the Settings label-picker palette used by PUT /settings/tags for non-service-type tags. `icons` is the Settings icon-picker names used by PUT /settings/tags for service-type. Supported types: job, scheduling, quote, customer, user, overheads, form, finance, system, work-order-system, account, contact, zone, work-categories, lead-source, lead, opportunity, opportunity-lost, project, project-type, payment-type, file, asset, item-location, task, phase, site, service-type, service-scope, subscriptions, agreement, work, integration-types, flag-category.
Settings Reference DataUpsert a tagCreate a tag, or return the existing active tag with the same type and name (case-insensitive). Limited to service-type, service-scope, and work-categories. service-type uses icon (Settings icon-picker name; omitted on create → tag) and rejects color. Other types use color (Settings palette hex; omitted on create → hashed from the name) and reject icon. A sent icon or color is written onto an existing match; omitted leaves the stored visual. Invalid palette hex or icon name → 400. Requires settings:tags:write — not settings:write.
Settings Reference DataList zonesRetrieve all active zones configured for the tenant. Zones represent geographic regions used for job assignment, routing, and resource allocation.
Settings Reference DataList work typesRetrieve all active work types configured for the tenant (e.g., Labour, Travel, Administration) for time tracking and billing purposes.
Settings Reference DataList client portal rolesRoles assignable to customer login contacts (UserType.Client). Includes custom client roles; includes built-in system client roles only when Enable System Security Roles is on for the tenant. Use item.id as roleId when login is true on contact create/invite.
Settings Reference DataList contractor portal rolesRoles assignable to contractor login contacts (UserType.Subcontractor). Includes custom contractor roles; includes built-in system contractor roles only when Enable System Security Roles is on for the tenant. Use item.id as roleId when login is true on contact create/invite.
Settings TemplatesList email templates for entity typeRetrieve all active email templates for the specified entity type (job or stage).
Settings TemplatesList SMS templates for entity typeRetrieve all active SMS templates for the specified entity type (job or stage).
Settings ItemsList itemsRetrieve paginated editable settings items.
Settings ItemsCreate itemCreate a settings item. This endpoint does not upsert.
Settings ItemsUpsert itemCreate or partially update a settings item using integrationId when supplied, otherwise name. Create still requires mandatory item fields.
Settings ItemsGet itemRetrieve a settings item by ID, name, or integration ID.
Settings ItemsUpdate itemUpdate a settings item by ID.
Settings ItemsDelete itemDeactivate a settings item by ID.
Settings ItemsList item categoriesRetrieve active item categories and sub-categories. Use search, name, or id to filter by category/sub-category name or id.
Settings ItemsUpsert item categoryCreate a category/sub-category pair if it does not already exist.
Settings ItemsList UOMsRetrieve active units of measure for item create/update.
Settings Custom FieldsList job custom fieldsRetrieve configured custom fields that may be used in Job customFields payloads.
Settings Custom FieldsList stage custom fieldsRetrieve configured custom fields that may be used in Stage customFields payloads.
Settings Custom FieldsList account custom fieldsRetrieve configured custom fields that may be used in CRM account customFields payloads.
Settings Custom FieldsList item custom fieldsRetrieve configured custom fields that may be used in settings item customFields payloads.
AttachmentsCreate upload sessionCreates an upload session and returns a SAS URL for direct upload to Azure Blob Storage. **Upload Flow:** 1. POST to this endpoint with file metadata 2. Use the returned `uploadUrl` to PUT your file directly to blob storage 3. Include the required headers from the response in your PUT request 4. Store the `attachment.id` for later reference **Constraints:** - Maximum file size: 50MB - Allowed content types: application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/pdf, text/plain, application/vnd.ms-excel.sheet.macroEnabled.12... - Allowed extensions: .doc, .docx, .pdf, .txt, .xlsx, .xls, .xlsm, .csv, .json, .xml... - Upload URL expires in 20 minutes
AttachmentsDownload attachmentDownloads an attachment by redirecting to a time-limited SAS URL. **Response:** - 302 redirect to Azure Blob Storage with SAS token - Content-Disposition header set for proper filename **Note:** The SAS URL expires after 20 minutes. If expired, request a new download.
Jobs ActivitiesList activities (Jobs)
Jobs ActivitiesList email or SMS templates for this record (Jobs)Published templates of the channel this record may send: its own entity's (and, on a stage, the job's), narrowed by each template's company, job type and work category scope exactly as the send applies it. Pass an `id` as `templateId` to the email or SMS create or preview.
Jobs ActivitiesList merge fields for this record's templates (Jobs)The merge fields this record's email and SMS templates may use, custom fields included, with keys as templates name them (`<span data-wb-merge="job.jobNumber">` or `{{job.jobNumber}}`).
Jobs ActivitiesGet activity by ID (Jobs)
Jobs ActivitiesDelete activity (Jobs)
Jobs ActivitiesCreate note activity (Jobs)
Jobs ActivitiesCreate email activity (Jobs)
Jobs ActivitiesCreate SMS activity (Jobs)Queues an SMS: the response is the stored activity with `sendStatus` `pending`; read the activity again for `sent` or `failed`. With `templateId`, the template is rendered for the record and fills the message and recipients the body leaves out; preview the same body at `sms/preview` first.
Jobs ActivitiesPreview an email activity (Jobs)Renders the email create body with the create's own template renderer and reports the subject, body, sender and recipients the send would use, the merge fields it uses and diagnostics. Nothing is saved or sent. An `error` diagnostic is exactly what the create refuses with 400; `warning`s do not block it.
Jobs ActivitiesPreview an SMS activity (Jobs)Renders the SMS create body with the create's own template renderer and reports the message, sender and recipients the send would use, the merge fields it uses and diagnostics. Nothing is saved or sent. An `error` diagnostic is exactly what the create refuses with 400; `warning`s do not block it.
Jobs ActivitiesCreate phone activity (Jobs)
Jobs ActivitiesCreate integration activity (Jobs)
Jobs ActivitiesCreate thread activity (Jobs)
Stages ActivitiesList activities (Stages)
Stages ActivitiesList email or SMS templates for this record (Stages)Published templates of the channel this record may send: its own entity's (and, on a stage, the job's), narrowed by each template's company, job type and work category scope exactly as the send applies it. Pass an `id` as `templateId` to the email or SMS create or preview.
Stages ActivitiesList merge fields for this record's templates (Stages)The merge fields this record's email and SMS templates may use, custom fields included, with keys as templates name them (`<span data-wb-merge="job.jobNumber">` or `{{job.jobNumber}}`).
Stages ActivitiesGet activity by ID (Stages)
Stages ActivitiesDelete activity (Stages)
Stages ActivitiesCreate note activity (Stages)
Stages ActivitiesCreate email activity (Stages)
Stages ActivitiesCreate SMS activity (Stages)Queues an SMS: the response is the stored activity with `sendStatus` `pending`; read the activity again for `sent` or `failed`. With `templateId`, the template is rendered for the record and fills the message and recipients the body leaves out; preview the same body at `sms/preview` first.
Stages ActivitiesPreview an email activity (Stages)Renders the email create body with the create's own template renderer and reports the subject, body, sender and recipients the send would use, the merge fields it uses and diagnostics. Nothing is saved or sent. An `error` diagnostic is exactly what the create refuses with 400; `warning`s do not block it.
Stages ActivitiesPreview an SMS activity (Stages)Renders the SMS create body with the create's own template renderer and reports the message, sender and recipients the send would use, the merge fields it uses and diagnostics. Nothing is saved or sent. An `error` diagnostic is exactly what the create refuses with 400; `warning`s do not block it.
Stages ActivitiesCreate phone activity (Stages)
Stages ActivitiesCreate integration activity (Stages)
Stages ActivitiesCreate thread activity (Stages)
Jobs FilesList files (Jobs)
Jobs FilesCreate file (Jobs)
Jobs FilesGet file by ID (Jobs)
Jobs FilesDelete file (Jobs)
Stages FilesList files (Stages)
Stages FilesCreate file (Stages)
Stages FilesGet file by ID (Stages)
Stages FilesDelete file (Stages)
Jobs TasksList tasks (Jobs)
Jobs TasksCreate task (Jobs)
Jobs TasksGet task by ID (Jobs)
Jobs TasksUpdate task (Jobs)
Jobs TasksDelete task (Jobs)
Jobs TasksSubmit task evidence (Jobs)
Jobs TasksList task statusesRetrieve the tenant's active task statuses in display order. Use id or name in a task update's taskStatus; send a reason (id or name from reasons) when reasonRequired is true.
Stages TasksList tasks (Stages)
Stages TasksCreate task (Stages)
Stages TasksGet task by ID (Stages)
Stages TasksUpdate task (Stages)
Stages TasksDelete task (Stages)
Stages TasksSubmit task evidence (Stages)
Jobs ContactsList contact links
Jobs ContactsCreate contact link
Jobs ContactsGet contact link by ID
Jobs ContactsDelete contact link
Crm CustomersList customers
Crm CustomersCreate customer
Crm CustomersGet customer by ID
Crm CustomersUpdate customer
Crm CustomersDelete customer
Crm CustomersUpdate customer status
Crm CustomersList contacts for customer (contacts + external users)
Crm CustomersCreate customer contact
Crm CustomersDelete customer contact
Crm CustomersInvite contact (CRM)
Crm CustomersList sites for customer
Crm EmployeesList employees
Crm EmployeesGet employee by ID
Crm ContractorsList contractors
Crm ContractorsCreate contractor
Crm ContractorsGet contractor by ID
Crm ContractorsUpdate contractor
Crm ContractorsDelete contractor
Crm ContractorsUpdate contractor status
Crm ContractorsList contacts for contractor (contacts + external users)
Crm ContractorsCreate contractor contact
Crm ContractorsDelete contractor contact
Crm ContractorsInvite contact (CRM > Contractors)
Crm SuppliersList suppliers
Crm SuppliersCreate supplier
Crm SuppliersGet supplier by ID
Crm SuppliersUpdate supplier
Crm SuppliersDelete supplier
Crm SuppliersUpdate supplier status
Crm CompaniesList companies
Crm CompaniesGet company by ID
Crm External UsersList external users
Crm External UsersGet external user by IDLogin Contact (portal user). parents lists active parent accounts only; portal role is parents[].role.
Crm ContactsList contacts (contacts + external users)
Crm ContactsGet contact by IDReturns a people contact (basic or Login Contact). parents lists active parent accounts only (inactive/soft-deleted omitted); portal role for Login Contacts is parents[].role.
Crm ContactsUpdate contact
Crm ContactsUpdate contact status
Crm InvitesList pending invites
Crm InvitesGet invite by ID
Crm SitesList all sitesList CRM sites for the tenant (Managed and Account only — Adhoc sites are excluded). Each item includes type (Managed | Account), optional primaryContact, and address. Optional search filters by site name/address tokens (space-separated words; all must match).
Crm SitesGet site by IDRetrieve a CRM site by id (Managed or Account only). Adhoc sites are not exposed. Includes primaryContact when set (UI Primary Contact). type is CRM Site Type — not address.type.
Crm SitesList contacts for siteList contacts linked to this site (same pattern as GET /customers/{id}/contacts). Returns basic contacts and external users parented to the site.
Webhooks V2List webhook-supported entity types and their available events
Webhooks V2List the webhook events available for a given entity type
Webhooks V2List the filter fields available when subscribing to a given entity type
Webhooks V2List webhook subscriptions
Webhooks V2Create a webhook subscription
Webhooks V2Get a webhook subscription by ID
Webhooks V2Update a webhook subscription
Webhooks V2Delete a webhook subscription
Webhooks V2Regenerate the signing secret for a webhook subscription
Webhooks V2Send a test event to a webhook subscription
Webhooks V2List recent delivery attempts for a webhook subscription
Data ExportExport entity dataBulk export data from a MongoDB view. Returns raw view documents with pagination. Financial fields are stripped unless the token has the jobs:financial scope.
AgentsWrite an agent run eventUsed by an external agent to report progress, action-required, completed, failed, heartbeat, or message events for an existing run.
AgentsResolve an action-required run stateUsed by an external agent to post the resolution payload for a run that previously entered action-required state.
FlagsCreate a flag on an entity
FlagsClose a flag
FlagsList flags for an entity
Service PlansCreate a Service PlanCreates only the Service Plan contract header. Lines and Tasks are added through their nested endpoints.
Service PlansGet a Service PlanResolves a WorkBuddy ID first, then the authenticated caller's integrationId.
Service PlansStart a Service PlanValidates and starts a fully assembled Service Plan.
Service PlansPause a Service PlanStops future scheduled work while preserving history.
Service PlansArchive a Service PlanArchives a paused Service Plan and reconciles future scheduled work.
Service Plans LinesList Service Lines
Service Plans LinesCreate a Service Line
Service Plans LinesGet a Service Line
Service Plans LinesUpdate a Service Line
Service Plans Lines TasksList root Service Line Tasks
Service Plans Lines TasksCreate root Service Line TasksPass one Task, or `{ items }` with 1–100 Tasks. Bulk ingest is a bounded domain command — not N public creates — and returns per-item created, existing, conflict, and invalid outcomes.
Service Plans Lines TasksGet a root Service Line Task
Service Plans Lines TasksUpdate a root Service Line Task
Service Plans Lines Tasks SubtasksList Subtasks
Service Plans Lines Tasks SubtasksCreate SubtasksPass one Subtask, or `{ items }` with 1–100 Subtasks. Bounded domain ingest — not N public creates. Schedule and start-date fields are rejected.
Service Plans Lines Tasks SubtasksGet a Subtask
Service Plans Lines Tasks SubtasksUpdate a Subtask
McpMCP SSE stream (not supported)Returns 405 — server-initiated SSE is not supported.
McpMCP v3 Streamable HTTP endpointHandles MCP JSON-RPC 2.0 requests against the collapsed tool set.
McpMCP session termination (not supported)Returns 405 — stateless server, no sessions to terminate.

Parsed automatically from the published npm package; may be incomplete.

Links

npmHomepage

Maintainers: workbuddy_developer

Other WorkBuddy community nodes

WorkBuddy
@workbuddy/n8n-nodes-workbuddy-edge
n8n nodes for WorkBuddy - Field service management
36 / weekv1.0.40updated 11 days ago209 ops
WorkBuddy
@workbuddy/n8n-nodes-workbuddy
n8n nodes for WorkBuddy - Field service management
0 / weekv1.0.5updated 3 mo ago

New community nodes, every week

One short email: the most useful new and fast-growing community nodes, plus ones that went stale. Free.

You'll get a confirmation email first. Trouble? Use the signup page.