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
- WorkBuddy — Interact with WorkBuddy API - Field service management
- WorkBuddy Trigger Trigger — Triggers when a WorkBuddy event occurs
Supported operations
| Resource | Operation | Description |
|---|---|---|
| Jobs | List Job actions | Metadata 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. |
| Jobs | Run a Job action | Runs 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. |
| Jobs | Search jobs or stages with complex filters | Advanced 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. |
| Jobs | Get job by ID or job number | Retrieve a single job by its ID, human-readable job number, or external integration ID. |
| Jobs | Cancel a job | Cancel 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. |
| Jobs | Create a new job | Create a new job with the specified details. Requires either customerId or inline customer object. |
| Jobs | Create a new job from template | Create a job using a job template. Template-owned fields win over request values before final job validation. |
| Jobs | Set job finance marks | Mark 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. |
| Jobs | Update job status | Change an existing job status and cascade the change to stages through the job domain command. |
| Jobs | Update a job | Partially update a job. Only provided fields will be modified. |
| Jobs | Dispatch a job | Change job status to dispatched, making it ready for field work. |
| Jobs | List job stages | Get all stages (work orders) for a job. |
| Jobs | Get job stage | Get a specific stage within a job. |
| Jobs | List stage items | Get all items (line items) for a stage. |
| Jobs | Create stage items | Add one or more catalogue-backed line items to a stage. |
| Jobs | Get stage item | Get a specific item within a stage. |
| Jobs | Update stage item | Update mutable fields on a stage line item. |
| Jobs | Delete stage item | Permanently remove a stage item. Refused with 409 when the tenant prevents deletion of stages and items; cancel the item instead. |
| Items | Find job line items | Find a job line item by external integration ID. |
| Pending Items | Find a pending item | Find a pending stage item by its external integration ID. |
| Stages Pending Items | List stage pending items | List items awaiting approval for a stage. |
| Stages Pending Items | Create stage pending items | Create one or more items awaiting approval. |
| Stages Pending Items | Get stage pending item | Get a specific pending item within a stage. |
| Stages Pending Items | Update stage pending item | Update general pending-item fields. Use the status route for itemStatus. |
| Stages Pending Items | Delete stage pending item | Delete or decline a pending item according to tenant deletion settings. |
| Stages Pending Items | Update pending-item status | Set the dedicated pending-item status. No general item fields are accepted. |
| Stages Pending Items | Approve stage pending item | Approve a pending item and promote it to a standard stage item. |
| Stages | Create a new stage | Create a new stage (work order) within a job. Stages represent discrete phases of work. |
| Stages | Set stage finance marks | Mark 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. |
| Stages | Update a stage | Partially update a stage. Only provided fields will be modified. |
| Stages | Delete a stage | Permanently remove a stage. Refused with 409 when the tenant prevents deletion of stages and items; cancel the stage through its status instead. |
| Stages | Dispatch a stage | Change stage status to dispatched, making it ready for field work. |
| Stages | Complete a stage | Mark 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). |
| Stages | Mark a stage in progress | Set 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). |
| Stages | Finalise a stage | Finalise a completed stage. This typically indicates billing/invoicing is complete. |
| Stages | Cancel a stage | Cancel a stage. Provide a reason/note for the cancellation. |
| Stages | Put a stage on hold | Set 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. |
| Stages | Reverse stage status | Reverse (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. |
| Stages | Reissue dispatch notifications | Resend dispatch notifications to all resources and contractor assigned to this stage. |
| Stages Resources | List stage resources | List 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 Resources | Assign resource to stage | Assign 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 Resources | Get stage resource | Get 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 Resources | Unassign resource from stage | |
| Stages Resources | Reissue dispatch notification | |
| Stages Resources | Update resource status | Update status (completed, onhold). |
| Stages Appointments | List stage appointments | |
| Stages Appointments | Create a stage appointment | start 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 Appointments | Update an appointment status or booking | |
| Settings Reference Data | List entity statuses | Retrieve all active statuses for a given entity type. Supported entities: customer, contractor, supplier, contact, external-user, pending-item, item |
| Settings Reference Data | List job statuses | Retrieve all possible job statuses. These are system-defined status values that represent the aggregated state of a job based on its stages. |
| Settings Reference Data | List job types | Retrieve 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 Data | List job templates | Retrieve all active, public job templates configured for the tenant. Use the returned id as the templateId for POST /jobs/template/:templateId. |
| Settings Reference Data | List priorities | Retrieve all active priority levels configured for the tenant. Priorities indicate the urgency of jobs (e.g., Critical, High, Medium, Low). |
| Settings Reference Data | List pricebooks | Discover 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 Data | Get pricebook | Retrieve 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 Data | List stage statuses | Retrieve 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 Data | List tags | Retrieve 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 Data | Upsert a tag | Create 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 Data | List zones | Retrieve all active zones configured for the tenant. Zones represent geographic regions used for job assignment, routing, and resource allocation. |
| Settings Reference Data | List work types | Retrieve all active work types configured for the tenant (e.g., Labour, Travel, Administration) for time tracking and billing purposes. |
| Settings Reference Data | List client portal roles | Roles 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 Data | List contractor portal roles | Roles 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 Templates | List email templates for entity type | Retrieve all active email templates for the specified entity type (job or stage). |
| Settings Templates | List SMS templates for entity type | Retrieve all active SMS templates for the specified entity type (job or stage). |
| Settings Items | List items | Retrieve paginated editable settings items. |
| Settings Items | Create item | Create a settings item. This endpoint does not upsert. |
| Settings Items | Upsert item | Create or partially update a settings item using integrationId when supplied, otherwise name. Create still requires mandatory item fields. |
| Settings Items | Get item | Retrieve a settings item by ID, name, or integration ID. |
| Settings Items | Update item | Update a settings item by ID. |
| Settings Items | Delete item | Deactivate a settings item by ID. |
| Settings Items | List item categories | Retrieve active item categories and sub-categories. Use search, name, or id to filter by category/sub-category name or id. |
| Settings Items | Upsert item category | Create a category/sub-category pair if it does not already exist. |
| Settings Items | List UOMs | Retrieve active units of measure for item create/update. |
| Settings Custom Fields | List job custom fields | Retrieve configured custom fields that may be used in Job customFields payloads. |
| Settings Custom Fields | List stage custom fields | Retrieve configured custom fields that may be used in Stage customFields payloads. |
| Settings Custom Fields | List account custom fields | Retrieve configured custom fields that may be used in CRM account customFields payloads. |
| Settings Custom Fields | List item custom fields | Retrieve configured custom fields that may be used in settings item customFields payloads. |
| Attachments | Create upload session | Creates 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 |
| Attachments | Download attachment | Downloads 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 Activities | List activities (Jobs) | |
| Jobs Activities | List 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 Activities | List 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 Activities | Get activity by ID (Jobs) | |
| Jobs Activities | Delete activity (Jobs) | |
| Jobs Activities | Create note activity (Jobs) | |
| Jobs Activities | Create email activity (Jobs) | |
| Jobs Activities | Create 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 Activities | Preview 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 Activities | Preview 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 Activities | Create phone activity (Jobs) | |
| Jobs Activities | Create integration activity (Jobs) | |
| Jobs Activities | Create thread activity (Jobs) | |
| Stages Activities | List activities (Stages) | |
| Stages Activities | List 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 Activities | List 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 Activities | Get activity by ID (Stages) | |
| Stages Activities | Delete activity (Stages) | |
| Stages Activities | Create note activity (Stages) | |
| Stages Activities | Create email activity (Stages) | |
| Stages Activities | Create 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 Activities | Preview 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 Activities | Preview 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 Activities | Create phone activity (Stages) | |
| Stages Activities | Create integration activity (Stages) | |
| Stages Activities | Create thread activity (Stages) | |
| Jobs Files | List files (Jobs) | |
| Jobs Files | Create file (Jobs) | |
| Jobs Files | Get file by ID (Jobs) | |
| Jobs Files | Delete file (Jobs) | |
| Stages Files | List files (Stages) | |
| Stages Files | Create file (Stages) | |
| Stages Files | Get file by ID (Stages) | |
| Stages Files | Delete file (Stages) | |
| Jobs Tasks | List tasks (Jobs) | |
| Jobs Tasks | Create task (Jobs) | |
| Jobs Tasks | Get task by ID (Jobs) | |
| Jobs Tasks | Update task (Jobs) | |
| Jobs Tasks | Delete task (Jobs) | |
| Jobs Tasks | Submit task evidence (Jobs) | |
| Jobs Tasks | List task statuses | Retrieve 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 Tasks | List tasks (Stages) | |
| Stages Tasks | Create task (Stages) | |
| Stages Tasks | Get task by ID (Stages) | |
| Stages Tasks | Update task (Stages) | |
| Stages Tasks | Delete task (Stages) | |
| Stages Tasks | Submit task evidence (Stages) | |
| Jobs Contacts | List contact links | |
| Jobs Contacts | Create contact link | |
| Jobs Contacts | Get contact link by ID | |
| Jobs Contacts | Delete contact link | |
| Crm Customers | List customers | |
| Crm Customers | Create customer | |
| Crm Customers | Get customer by ID | |
| Crm Customers | Update customer | |
| Crm Customers | Delete customer | |
| Crm Customers | Update customer status | |
| Crm Customers | List contacts for customer (contacts + external users) | |
| Crm Customers | Create customer contact | |
| Crm Customers | Delete customer contact | |
| Crm Customers | Invite contact (CRM) | |
| Crm Customers | List sites for customer | |
| Crm Employees | List employees | |
| Crm Employees | Get employee by ID | |
| Crm Contractors | List contractors | |
| Crm Contractors | Create contractor | |
| Crm Contractors | Get contractor by ID | |
| Crm Contractors | Update contractor | |
| Crm Contractors | Delete contractor | |
| Crm Contractors | Update contractor status | |
| Crm Contractors | List contacts for contractor (contacts + external users) | |
| Crm Contractors | Create contractor contact | |
| Crm Contractors | Delete contractor contact | |
| Crm Contractors | Invite contact (CRM > Contractors) | |
| Crm Suppliers | List suppliers | |
| Crm Suppliers | Create supplier | |
| Crm Suppliers | Get supplier by ID | |
| Crm Suppliers | Update supplier | |
| Crm Suppliers | Delete supplier | |
| Crm Suppliers | Update supplier status | |
| Crm Companies | List companies | |
| Crm Companies | Get company by ID | |
| Crm External Users | List external users | |
| Crm External Users | Get external user by ID | Login Contact (portal user). parents lists active parent accounts only; portal role is parents[].role. |
| Crm Contacts | List contacts (contacts + external users) | |
| Crm Contacts | Get contact by ID | Returns 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 Contacts | Update contact | |
| Crm Contacts | Update contact status | |
| Crm Invites | List pending invites | |
| Crm Invites | Get invite by ID | |
| Crm Sites | List all sites | List 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 Sites | Get site by ID | Retrieve 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 Sites | List contacts for site | List contacts linked to this site (same pattern as GET /customers/{id}/contacts). Returns basic contacts and external users parented to the site. |
| Webhooks V2 | List webhook-supported entity types and their available events | |
| Webhooks V2 | List the webhook events available for a given entity type | |
| Webhooks V2 | List the filter fields available when subscribing to a given entity type | |
| Webhooks V2 | List webhook subscriptions | |
| Webhooks V2 | Create a webhook subscription | |
| Webhooks V2 | Get a webhook subscription by ID | |
| Webhooks V2 | Update a webhook subscription | |
| Webhooks V2 | Delete a webhook subscription | |
| Webhooks V2 | Regenerate the signing secret for a webhook subscription | |
| Webhooks V2 | Send a test event to a webhook subscription | |
| Webhooks V2 | List recent delivery attempts for a webhook subscription | |
| Data Export | Export entity data | Bulk export data from a MongoDB view. Returns raw view documents with pagination. Financial fields are stripped unless the token has the jobs:financial scope. |
| Agents | Write an agent run event | Used by an external agent to report progress, action-required, completed, failed, heartbeat, or message events for an existing run. |
| Agents | Resolve an action-required run state | Used by an external agent to post the resolution payload for a run that previously entered action-required state. |
| Flags | Create a flag on an entity | |
| Flags | Close a flag | |
| Flags | List flags for an entity | |
| Service Plans | Create a Service Plan | Creates only the Service Plan contract header. Lines and Tasks are added through their nested endpoints. |
| Service Plans | Get a Service Plan | Resolves a WorkBuddy ID first, then the authenticated caller's integrationId. |
| Service Plans | Start a Service Plan | Validates and starts a fully assembled Service Plan. |
| Service Plans | Pause a Service Plan | Stops future scheduled work while preserving history. |
| Service Plans | Archive a Service Plan | Archives a paused Service Plan and reconciles future scheduled work. |
| Service Plans Lines | List Service Lines | |
| Service Plans Lines | Create a Service Line | |
| Service Plans Lines | Get a Service Line | |
| Service Plans Lines | Update a Service Line | |
| Service Plans Lines Tasks | List root Service Line Tasks | |
| Service Plans Lines Tasks | Create root Service Line Tasks | Pass 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 Tasks | Get a root Service Line Task | |
| Service Plans Lines Tasks | Update a root Service Line Task | |
| Service Plans Lines Tasks Subtasks | List Subtasks | |
| Service Plans Lines Tasks Subtasks | Create Subtasks | Pass 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 Subtasks | Get a Subtask | |
| Service Plans Lines Tasks Subtasks | Update a Subtask | |
| Mcp | MCP SSE stream (not supported) | Returns 405 — server-initiated SSE is not supported. |
| Mcp | MCP v3 Streamable HTTP endpoint | Handles MCP JSON-RPC 2.0 requests against the collapsed tool set. |
| Mcp | MCP session termination (not supported) | Returns 405 — stateless server, no sessions to terminate. |
Parsed automatically from the published npm package; may be incomplete.
Links
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.