Special workflows for ServiceTitan.
Each scenario shows the trigger, the Volimox handoff, and the human checkpoint. These are concrete workflow blueprints, not a claim that every connection is live today.
Lead intake to ServiceTitan customer
Send a qualified service request into the ServiceTitan customer and lead path.
Starts when
Volimox receives a request that passes the service and location rules.
Result
ServiceTitan receives a qualified lead with enough context for dispatch.
Volimox workflow
- 01Volimox checks for an existing ServiceTitan customer and lead.
- 02Volimox creates or updates the lead with the conversation summary and source.
- 03The dispatcher reviews the request and chooses the appointment or callback action.
Human checkpoint
Duplicate customer matching and location routing happen before provider writes.
Job status to customer update
Keep customers informed as a ServiceTitan appointment or job changes state.
Starts when
A linked ServiceTitan appointment or job status changes.
Result
Dispatch state and customer communication move together.
Volimox workflow
- 01Volimox verifies the status transition and loads the matching conversation.
- 02Volimox prepares the approved customer update or internal dispatch task.
- 03The operator confirms the action and the workflow records the result.
Human checkpoint
Unsupported or stale status transitions pause for human review.
Supported triggers and actions.
A trigger starts the workflow. An action is the controlled operation Volimox performs after the rules pass.
Triggers
- Lead created
- Appointment updated
- Job status changed
Actions
- Create lead
- Create customer
- Create appointment
- Update job
Detailed connection code.
This server-side TypeScript reference follows the same connection → action → mapped input pattern used by modern automation platforms. Provider credentials remain inside the approved connection; browser code never receives them.
TypeScript · server only
Create a ServiceTitan lead
import { createZapierSdk } from "@zapier/zapier-sdk"
const zapier = createZapierSdk({
apiKey: process.env.ZAPIER_API_KEY,
})
export async function runServiceTitanAction() {
const { data: connection } = await zapier.findFirstConnection({
app: "servicetitan",
owner: "me",
})
if (!connection) {
throw new Error("No approved ServiceTitan connection was found")
}
const result = await zapier.runAction({
app: "servicetitan",
action: "create_lead",
connection: connection.id,
input:
{
"tenantId": "{{env.SERVICETITAN_TENANT_ID}}",
"businessUnitId": "{{env.SERVICETITAN_BUSINESS_UNIT_ID}}",
"customerName": "{{lead.name}}",
"phone": "{{lead.phone}}",
"summary": "{{lead.summary}}",
"campaignId": "{{env.SERVICETITAN_CAMPAIGN_ID}}"
},
})
return result.data
}Connection setup.
The setup path is specific to the provider. We will never ask you to paste credentials into a public page.
Partner API credentials
A reviewable connection, step by step.
- 01ServiceTitan partner access
- 02Integration environment
- 03Tenant and business-unit mapping
This app is cataloged and its workflow contract is defined. We will enable the connection after provider access and sandbox verification.
Related apps