View as Markdown
ServiceM8 icon

ServiceM8 ACTION

Update Job Material

Update a job material line (loads the record, merges your fields, then POSTs). See the documentation
  • Action
  • Writes data
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's ServiceM8 account once, then configure and run Update Job Material from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "servicem8-update-job-material",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    servicem8: { authProvisionId: "apn_xxxxxxx" },
    uuid: "Job material to update",
    jobUuid: "Job",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Update Job Material inputs
Property Type Description
uuid Job material to update string
Unique identifier for this job material record — the line to load, merge, and save (search or paste UUID).
Required Dynamic
jobUuid Job string
The UUID of the job this material is associated with. Establishes the relationship between the job material and its parent job.
Optional Dynamic
materialUuid Material (catalog) string
The UUID of the material catalog item this job material is based on.
Optional Dynamic
name Name string
The name of the material on the job (shown on invoices; max 500 characters). Can differ from the catalog material name.
Optional
quantity Quantity string
The quantity of this material used on the job (required; cannot be empty; max 100 characters).
Required
price Price string
Unit price excluding tax. The system may adjust this for tax-inclusive pricing consistency.
Optional
displayedAmount Displayed amount string
Unit price as shown on invoices and quotes (required; tax-inclusive or exclusive per “Displayed amount is tax inclusive”).
Required
displayedAmountIsTaxInclusive Displayed amount is tax inclusive boolean
Whether the displayed amount includes tax (displayed_amount_is_tax_inclusive).
Required
taxRateUuid Tax rate string
The UUID of the tax rate for this line item.
Optional Dynamic
sortOrder Sort order string
Display order of materials on the job (lower values first).
Optional
cost Cost string
Material cost for this job (ex-tax amount).
Optional
displayedCost Displayed cost string
Cost as displayed (required; inc-tax or ex-tax depending on displayed_amount_is_tax_inclusive).
Required
jobMaterialBundleUuid Job material bundle UUID string
UUID of a JobMaterialBundle this line belongs to. Leave blank if not part of a bundle.
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
servicem8-update-job-material
Version
0.0.2
App
ServiceM8
Authentication
OAuth
Read-only
No
Destructive
No
Open world
Yes