Explore the WorkflowMax data model

See how the various WorkflowMax endpoints relate to each other, using our handy Entity Relationship Diagram.

Background

Pulling data from WorkflowMax is only the first part of your reporting. You also need to understand the relationships between different endpoints - something that APIs typically fail to convey.

At SyncHub, we not only pull your WorkflowMax endpoints down into a reportable format, we also describe their relationships (e.g. in terms of foreign keys) so that you can quickly get a grasp of your data and how it fits together. This page is intended as technical documentation of these relationships.

Endpoints

Category

Documentation: https://www.workflowmax.com/api/v3/category-methods

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Name string - -

ClientDetails

Documentation: https://www.workflowmax.com/api/v3/client-methods

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted string - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Name string - -
Email string - -
Addressee string - -
City string - -
Region string - -
PostCode string - -
Country string - -
PostalAddress string - -
PostalCity string - -
PostalRegion string - -
PostalPostCode string - -
PostalCountry string - -
Phone string - -
Fax string - -
Website string - -
ReferralSource string - -
ExportCode string - -
IsProspect string - -
IsArchived string - -
TypeName string - -
TypePaymentTerm string - -
TypeCostMarkup decimal - -
TypePaymentDay int - -
AccountManagerUUID guid Staff → UUID -
AccountManagerName string - -
JobManagerUUID guid Staff → UUID -
JobManagerName string - -
NoteSummary string - -

ClientCustomField

Documentation: https://www.workflowmax.com/api/v3/custom-field-methods

Column Type Relates to Notes
RemoteID string - -
ClientCustomFieldRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid CustomFieldDefinition → UUID -
Name string - -
ClientUUID guid ClientDetails → UUID -
Date datetime - -
DecimalLocalized string -
  • 31 Aug 2020 The decimal value is separated with commas. We use the following properties to convert it to the correct format.
Decimal decimal - -
Number decimal - -
Boolean boolean - -
Text string - -

ClientGroupDetails

Documentation: https://www.workflowmax.com/api/v3/client-group-methods

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Name string - -
Taxable string - -

Client

Column Type Relates to Notes
RemoteID string - -
ClientRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid ClientDetails → UUID -
Name string - -
ClientGroupUUID guid ClientGroupDetails → UUID -

Cost

Documentation: https://www.workflowmax.com/api/v3/cost-methods

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Description string - -
Code string - -
Note string - -
UnitCost decimal - -
UnitPrice decimal - -
IncomeAccount string - -
CostOfSaleAccount string - -
SupplierUUID guid Supplier → UUID -

CustomFieldDefinition

Documentation: https://www.workflowmax.com/api/v3/custom-field-methods

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Name string - -
Type string - -
LinkUrl string - -
Options string -
  • 22 Apr 2020 Although the field name suggests an array, this is actually a single string with each option separated by a line break
UseClient boolean - -
UseContact boolean - -
UseSupplier boolean - -
UseJob boolean - -
UseLead boolean - -
UseJobTask boolean - -
UseJobCost boolean - -
UseJobTime boolean - -
ValueElement string - -

CustomFieldDefinitionOption

Column Type Relates to Notes
RemoteID string - -
CustomFieldDefinitionOptionRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
CustomFieldUUID guid CustomFieldDefinition → UUID -
Value string - -

Invoice

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
ID string -
  • 22 Apr 2020 The ID field is used as the primary identifier when requesting on a per-invoice basis
Type string - -
Status string - -
JobText string - -
Date datetime - -
DueDate datetime - -
Amount decimal - -
AmountTax decimal - -
AmountIncludingTax decimal - -
AmountPaid decimal - -
AmountOutstanding decimal - -
ClientUUID guid ClientDetails → UUID -
ContactUUID guid - -

InvoiceCost

Column Type Relates to Notes
RemoteID string - -
InvoiceCostRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
InvoiceID string Invoice → ID -
JobID string JobDetails → ID -
LineNumber int - -
Quantity decimal - -
UnitCost decimal - -
UnitPrice decimal - -
Amount decimal - -
AmountTax decimal - -
AmountIncludingTax decimal - -
Code string - -
Billable string - -

InvoiceTask

Documentation: https://www.workflowmax.com/api/v3/invoice-methods

Column Type Relates to Notes
RemoteID string - -
InvoiceTaskRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid -
  • 5 Nov 2020 This is the InvoiceTask relationship, not a Task.UUID itself
Name string - -
Description string - -
InvoiceID string Invoice → ID -
JobID string JobDetails → RemoteID -
Minutes decimal - -
BillableRate decimal - -
Billable string - -
LineNumber int - -
Amount decimal - -
AmountTax decimal - -
AmountIncludingTax decimal - -

JobDetails

Documentation: https://www.workflowmax.com/api/v3/job-methods

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
ID string - -
Name string - -
Description string - -
ClientUUID guid - -
ClientOrderNumber string - -
Budget decimal - -
State string - -
Type string - -
StartDate datetime - -
DueDate datetime - -
JobContactUUID guid - -
CompletedDate datetime - -
ManagerUUID guid Staff → UUID -
ManagerName string - -
PartnerUUID guid Staff → UUID -
PartnerName string - -

JobAssignee

Column Type Relates to Notes
RemoteID string - -
JobAssigneeRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid Staff → UUID -
Name string - -
JobID string JobDetails → ID -
StaffID guid Staff → UUID -

JobCost

Documentation: https://www.workflowmax.com/api/v3/job-methods

Column Type Relates to Notes
RemoteID string - -
JobCostRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Description string - -
JobID string JobDetails → ID -
Quantity decimal - -
Date datetime - -
Billable boolean - -
Code string - -
Note string - -
UnitCost decimal - -
UnitPrice decimal - -
SupplierUUID guid Supplier → UUID -

JobCostCustomField

Documentation: https://api.xero.com/workflowmax/3.0/job.api/cost/[identifier]/customfield

Column Type Relates to Notes
RemoteID string - -
JobCostCustomFieldRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
CustomFieldDefinitionUUID guid CustomFieldDefinition → UUID -
JobCostUUID guid JobCost → UUID -
Date datetime - -
DecimalLocalized string -
  • 31 Aug 2020 The decimal value is separated with commas. We use the following properties to convert it to the correct format.
Decimal decimal - -
Number decimal - -
Boolean boolean - -
Text string - -

JobCustomField

Documentation: https://www.workflowmax.com/api/v3/custom-field-methods

Column Type Relates to Notes
RemoteID string - -
JobCustomFieldRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid CustomFieldDefinition → UUID -
Name string - -
JobID string JobDetails → ID -
Date datetime - -
DecimalLocalized string -
  • 31 Aug 2020 The decimal value is separated with commas. We use the following properties to convert it to the correct format.
Decimal decimal - -
Number decimal - -
Boolean boolean - -
Text string - -

Milestone

Column Type Relates to Notes
RemoteID string - -
MilestoneRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Description string - -
JobID string JobDetails → ID -
Date datetime - -
Completed boolean - -
Folder string - -

Note

Column Type Relates to Notes
RemoteID string - -
NoteRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
JobID string JobDetails → ID -
Title string - -
Folder string - -
Text string - -
Date datetime - -
CreatedBy string - -

Comment

Column Type Relates to Notes
RemoteID string - -
CommentRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Text string - -
Date datetime - -
CreatedBy string - -
NoteUUID guid Note → UUID -

JobTask

Column Type Relates to Notes
RemoteID string - -
TaskRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid -
  • 23 Apr 2020 This is the JobTaskID - not the TaskID
Name string - -
Description string - -
EstimatedMinutes decimal - -
ActualMinutes decimal - -
Billable boolean - -
Completed boolean - -
StartDate datetime - -
DueDate datetime - -
ContactUUID guid - -
ManagerUUID guid - -
PartnerUUID guid - -

JobTaskAssignee

Column Type Relates to Notes
RemoteID string - -
TaskAssigneeRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid Staff → UUID
  • 22 Apr 2020 This is the ID of the staff member, not the TaskAssignee relationship
Name string - -
StaffID guid Staff → UUID -
JobTaskID guid - -
AllocatedMinutes decimal - -

JobTaskCustomField

Documentation: https://api.xero.com/workflowmax/3.0/job.api/task/[identifier]/customfield

Column Type Relates to Notes
RemoteID string - -
JobTaskCustomFieldRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
CustomFieldDefinitionUUID guid CustomFieldDefinition → UUID -
JobTaskUUID guid JobTask → UUID -
Date datetime - -
DecimalLocalized string -
  • 31 Aug 2020 The decimal value is separated with commas. We use the following properties to convert it to the correct format.
Decimal decimal - -
Number decimal - -
Boolean boolean - -
Text string - -

Lead

Documentation: https://www.workflowmax.com/api/v3/lead-methods

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Name string - -
Description string - -
State string - -
EstimatedValue decimal - -
Date datetime - -
DateWonLost string - -
Category string - -
Dropbox string - -
ClientUUID guid ClientDetails → UUID -
ContactUUID guid - -
OwnerUUID guid Staff → UUID -

LeadCustomField

Documentation: https://www.workflowmax.com/api/v3/custom-field-methods

Column Type Relates to Notes
RemoteID string - -
LeadCustomFieldRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid CustomFieldDefinition → UUID -
Name string - -
LeadUUID guid Lead → UUID -
Date datetime - -
DecimalLocalized string -
  • 31 Aug 2020 The decimal value is separated with commas. We use the following properties to convert it to the correct format.
Decimal decimal - -
Number decimal - -
Boolean boolean - -
Text string - -

PurchaseOrderDetails

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
TimeZone string - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID string - -
Description string - -
State string - -
Date datetime - -
DeliveryAddress string - -
Amount decimal - -
AmountTax decimal - -
AmountIncludingTax decimal - -
JobID string JobDetails → ID -
SupplierUUID guid Supplier → UUID -

PurchaseOrderDetailsCost

Column Type Relates to Notes
RemoteID string - -
PurchaseOrderDetailsCostRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Description string - -
Note string - -
Code string - -
Quantity decimal - -
UnitCost decimal - -
Amount decimal - -
AmountTax decimal - -
AmountIncludingTax decimal - -
PurchaseOrderID string PurchaseOrderDetails → ID -
LineNumber int - -

Quote

Documentation: https://www.workflowmax.com/api/v3/quote-methods

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
TimeZone string - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID string - -
Name string - -
Description string - -
Type string - -
State string - -
Budget decimal - -
OptionExplanation string - -
Date datetime - -
ValidDate datetime - -
EstimatedCost decimal - -
EstimatedCostTax decimal - -
EstimatedCostIncludingTax decimal - -
Amount decimal - -
AmountTax decimal - -
AmountIncludingTax decimal - -
ClientUUID guid ClientDetails → UUID -
ContactUUID guid - -

QuoteCost

Column Type Relates to Notes
RemoteID string - -
QuoteCostRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Description string - -
QuoteID string Quote → ID -
CostNumber int - -
Note string - -
Code string - -
Billable string - -
Quantity decimal - -
UnitCost decimal - -
UnitPrice decimal - -
Amount decimal - -
AmountTax decimal - -
AmountIncludingTax decimal - -

QuoteOption

Column Type Relates to Notes
RemoteID string - -
QuoteOptionRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Description string - -
QuoteID string Quote → ID -
OptionNumber int - -
Note string - -
Code string - -
Quantity decimal - -
UnitCost decimal - -
UnitPrice decimal - -
Amount decimal - -
AmountTax decimal - -
AmountIncludingTax decimal - -

QuoteTask

Column Type Relates to Notes
RemoteID string - -
QuoteTaskRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
Description string - -
QuoteID string Quote → ID -
TaskNumber int - -
EstimatedMinutes decimal - -
BillableRate decimal - -
Billable string - -
Amount decimal - -
AmountTax decimal - -
AmountIncludingTax decimal - -

Staff

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Name string - -
Email string - -
Phone string - -
Mobile string - -
Address string - -
PayrollCode string - -

Supplier

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Name string - -
Address string - -
City string - -
Region string - -
PostCode string - -
Country string - -
PostalAddress string - -
PostalCity string - -
PostalRegion string - -
PostalPostCode string - -
PostalCountry string - -
Phone string - -
Fax string - -
Website string - -

SupplierCustomField

Documentation: https://www.workflowmax.com/api/v3/custom-field-methods

Column Type Relates to Notes
RemoteID string - -
SupplierCustomFieldRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid CustomFieldDefinition → UUID -
Name string - -
SupplierUUID guid Supplier → UUID -
Date datetime - -
DecimalLocalized string -
  • 31 Aug 2020 The decimal value is separated with commas. We use the following properties to convert it to the correct format.
Decimal decimal - -
Number decimal - -
Boolean boolean - -
Text string - -

Task

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Name string - -
Description string - -

Template

Documentation: https://www.workflowmax.com/api/v3/template-methods

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
Name string - -

Time

Documentation: https://www.workflowmax.com/api/v3/time-methods

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid - -
ID string - -
JobID string JobDetails → ID -
StaffMemberUUID guid Staff → UUID -
TaskUUID guid JobTask → UUID
  • 4 Nov 2020 The tasks refer to the JobTask, not the tasks from the dedicated /Tasks endpoint itself. WFM has a distinction between these JobTasks and the latter business-level tasks.
Date datetime - -
Minutes int - -
Note string - -
Billable boolean - -
InvoiceUUID guid Invoice → UUID
  • 24 Jun 2020 This field is in the API docs, but we have not seen it come down
InvoiceTaskUUID guid InvoiceTask → UUID
  • 14 Oct 2020 This field is only present in the XML response if it is non-NULL
Start string -
  • 14 Oct 2020 This field is only present in the XML response if it is non-NULL
End string -
  • 14 Oct 2020 This field is only present in the XML response if it is non-NULL

TimeCustomField

Documentation: https://www.workflowmax.com/api/v3/custom-field-methods

Column Type Relates to Notes
RemoteID string - -
TimeCustomFieldRemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UUID guid CustomFieldDefinition → UUID -
Name string - -
TimeUUID guid Time → UUID -
Date datetime - -
DecimalLocalized string -
  • 31 Aug 2020 The decimal value is separated with commas. We use the following properties to convert it to the correct format.
Decimal decimal - -
Number decimal - -
Boolean boolean - -
Text string - -

Need more?

Why not check out our interactive Entity Relationship Diagram.