Objects
Object types are the most common type within GraphQL, they represent an object that can be fetched from the Worksome GraphQL API.
Address
An address.
| Fields |
|---|
addressString |
postCodeString |
cityString |
stateString |
countryCountry |
formattedAddressString |
Approval
An approval flow that defines a review process triggered by specific events on hires.
Approvals are configured by companies to require sign-off before certain actions take effect. Currently, approval flows can only be applied to hires. The supported automatic triggers are:
- HIRE_CREATED — require approval when a new hire is created (e.g. rate exceeds a budget threshold). - HIRE_CHANGED — require approval when an existing hire’s contract is modified (e.g. rate or end date changes). - CLASSIFICATION_CREATED — require approval when a worker classification (e.g. IR35, US worker classification) is completed on a hire.
A trigger of NONE means the approval flow will not be automatically evaluated.
Approval flows cannot currently be applied to jobs, payment requests, or other entities.
Each approval has a trigger (the event that starts the flow), one or more rules (conditions that determine when approval is needed), and approvers (user groups who must review and approve). When a matching event occurs, an approval request is created and the action is blocked until all required approvers have acted. The outcome of rejection depends on the trigger: for HIRE_CREATED, the hire is cancelled; for HIRE_CHANGED, the pending contract change is reverted; for CLASSIFICATION_CREATED, the classification result is discarded.
Use the Workflow type and its mutations (createWorkflow, updateWorkflow) to manage approvals as a complete tree structure (root + rules + approvers) in a single operation.
| Fields |
|---|
idID! |
nameString! |
versionInt! |
statusApprovalStatus!Only ACTIVE approvals are evaluated when triggering events occur. |
triggerApprovalTrigger!Possible values: - HIRE_CREATED — evaluated when a new hire is created. - HIRE_CHANGED — evaluated when a hire’s contract terms are modified. - CLASSIFICATION_CREATED — evaluated when a worker classification completes on a hire.Approval flows for jobs, payment requests, or other entities are not currently supported. |
descriptionString |
companyCompany! |
approvalRules[ApprovalRule!]!Each rule specifies conditions (e.g. “rate > 100”) and a sequence of approver groups. When the trigger fires, the system evaluates rules to determine which approval path applies. |
createdAtDateTime! |
updatedAtDateTime! |
latestVersionIdString!Approvals are versioned — when updated, a new version is created. Use this to navigate to the most recent version. |
ApprovalApprovable
An approval request — a runtime instance created when a triggering event on a hire matches an approval rule.
Approval requests are currently only created for hires. The supported triggering events are: - A hire is created (HIRE_CREATED) - A hire’s contract is changed (HIRE_CHANGED) - A worker classification is completed on a hire (CLASSIFICATION_CREATED)
Jobs, payment requests, and other entities do not go through approval workflows.
When a trigger fires and an active approval rule’s conditions match, the system creates an ApprovalApprovable linking the hire to the matched rule. The outcome of rejection depends on the trigger: for HIRE_CREATED, the hire is cancelled; for HIRE_CHANGED, the pending contract change is reverted; for CLASSIFICATION_CREATED, the classification result is discarded.
Each approval request tracks its history of actions through approvalStates — showing who approved, rejected, or requested changes and when.
| Fields |
|---|
idID! |
approvalApproval! |
approvalRuleApprovalRule! |
approvalStates[ApprovalState!]!States are recorded in chronological order as each approver acts. |
approvableApprovable |
viewerCanActionBoolean!Returns true when the user is a member of the next approver group in the sequence and the request is still pending their review. |
ApprovalApprovablePaginator
A paginated list of ApprovalApprovable items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[ApprovalApprovable!]! |
ApprovalPaginator
A paginated list of Approval items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Approval!]! |
ApprovalRule
A rule within an approval flow that defines when approval is required and who must approve.
Each rule belongs to an approval and contains two key parts: 1. Conditions (rules): Variable comparisons that determine whether this rule applies. For example, “hourly rate > 100” or “budget >= 50000”. Conditions use workflow variables (system fields like rate/budget, or custom fields configured on the company). 2. Approvers: An ordered sequence of user groups who must review and approve items that match this rule’s conditions. Approvers are processed in position order.
When a triggering event occurs (e.g. a hire is created), the system evaluates each active rule’s conditions against the item. If a rule matches, approval requests are sent to its approvers.
| Fields |
|---|
idID! |
approvalApproval! |
fields[CustomField!]!These are the company-configured fields used as variables in the rule’s conditions. |
rules[WorkflowVariableRule!]!Each condition compares a workflow variable (e.g. hourly rate, budget, or a custom field) against a value using an operator (e.g. greater than, equals). All conditions must be met for the rule to trigger. |
approvers[Approver!]! |
approverCountInt! |
createdAtDate! |
updatedAtDate! |
ApprovalRulePaginator
A paginated list of ApprovalRule items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[ApprovalRule!]! |
ApprovalState
A recorded action on an approval request — an entry in the approval audit trail.
Each time an approver acts on an approval request (approves, rejects, or requests changes), an ApprovalState is created to record the decision, the user who made it, and any message. The system also creates states when an approval is automatically cancelled (e.g. the hire was cancelled or the job was closed).
| Fields |
|---|
idID! |
stateApprovalApprovableState!REQUESTED, APPROVED, REJECTED, NEEDS_CHANGE, or CANCELLED. |
actionedByUser! |
messageString |
cancellationReasonApprovalCancellationReasonOnly present when state is CANCELLED. For example, the hire may have been cancelled or the associated job closed before the approval was completed. |
approverApprover! |
approvalApprovableApprovalApprovable! |
createdAtDateTime |
ApprovalStatePaginator
A paginated list of ApprovalState items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[ApprovalState!]! |
Approver
An approver assignment — a user group assigned to review items that match an approval rule.
Approvers are ordered by position within a rule. When an approval request is created, the system notifies the first approver group (position 1). Once they approve, the next group (position 2) is notified, and so on. All approvers in the sequence must approve for the overall request to be approved.
| Fields |
|---|
idID! |
approvalRuleApprovalRule! |
userGroupUserGroup! |
positionInt! |
createdAtDate! |
updatedAtDate! |
ApproverPaginator
A paginated list of Approver items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Approver!]! |
BankDetail
Bank account details.
| Fields |
|---|
idID! |
nameString! |
bankAddressString! |
bankCountryString! |
bankNameString! |
beneficiaryNameString! |
bbanBban |
ibanString |
swiftString |
Batch
A batch of items for processing.
Batches are a way to group multiple items (such as payment requests) together so that you can perform bulk actions on them. They’re mainly intended for operational workflows inside the platform (e.g., approving or processing large sets of items at once). For most external integrations, batches are not usually needed – you’ll likely want to work directly with the individual items instead.
| Fields |
|---|
idID! |
nameString! |
typeBatchType! |
accountAccount! |
itemsCountByStatusInt! |
createdAtDateTime! |
updatedAtDateTime! |
deletedAtDateTime |
itemsBatchItemPaginator! |
BatchItemPaginator
A paginated list of BatchItem items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[BatchItem!]! |
BatchPaginator
A paginated list of Batch items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Batch!]! |
Bban
The BBAN type details.
| Fields |
|---|
bsbString |
bankIdString |
bankCodeString |
branchIdString |
branchCodeString |
accountNumberString |
accountSuffixString |
institutionNumberString |
transitNumberString |
registrationNumberString |
routingCodeString |
sortCodeString |
purposeOfPaymentString |
Bid
Represents a bid sent on a job.
| Fields |
|---|
idID! |
statusBidStatus! |
jobJob! |
conversationConversation! |
messageMessage! |
workerWorker! |
supplierAccount |
BidPaginator
A paginated list of Bid items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Bid!]! |
BusinessEntity
A business entity.
| Fields |
|---|
idID! |
typeBusinessEntityType! |
nameString! |
localisedNameString! |
companyNameString |
companyNumberString |
taxNumberString |
nationalIdentifierString |
BusinessEntityPaginator
A paginated list of BusinessEntity items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[BusinessEntity!]! |
Classification
A classification represents a worker classification (SDS/WCR) for a hire. This can be various types of classifications like IR35, US Worker Classification, etc.
| Fields |
|---|
idID! |
userUser! |
hireHire! |
companyCompany! |
freelancerWorker! |
typeClassificationType! |
descriptionString |
complianceNameString! |
statusClassificationStatus! |
acceptedStatusBoolean! |
resultClassificationResultDetails! |
pdfUrlString! |
overridesAnotherBoolean! |
overrideReasonString |
overrideUserUser |
disputesAnotherBoolean! |
hasUnknownAnswersBoolean! |
hasUpdatedAnswersBoolean! |
hasWorkerCompletedAnswersBoolean! |
canChangeBoolean! |
canOverrideBoolean! |
hasHireBlockingConditionBoolean! |
currentApprovalStateApprovalState |
hasPendingApprovalBoolean! |
titleString! |
wcrTermString! |
hasUpdatedHireBoolean! Deprecated |
isReclassificationRequiredBoolean! |
isClassificationActionRequiredBoolean! |
createdAtDateTime |
updatedAtDateTime |
ClassificationPaginator
A paginated list of Classification items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Classification!]! |
ClassificationResultDetails
Detailed information about a classification result including outcome, label, and title.
| Fields |
|---|
outcomeClassificationResult! |
labelString! |
titleString! |
Client
The relationship between a worker and a company as seen from the workers perspective.
An equivalent relationship can be found for companies called TrustedContacts.
| Fields |
|---|
idID! |
companyCompany! |
statusContactStatus! |
statusUpdatedAtDate! |
invitedAtDate! |
tokenString! |
originTrustedContactOrigin! |
originChannelTrustedContactOriginChannel! |
requiresOnboardingBoolean! |
canLeaveClientBoolean! |
onboardingDocuments[OnboardingDocument!]! |
onboardingStatusTrustedContactOnboardingStatus |
requiredCustomFieldsCompleteBoolean! |
customFieldValues[CustomFieldValue!]! |
Company
A company account — the primary hiring entity on Worksome.
Companies create jobs, manage a Talent Pool of trusted contacts, make hires, and process payments. A company may belong to one or more organisations and can work with staffing agencies and partners.
| Fields |
|---|
idID! |
nameString! |
currencyString! |
marketMarketCode! |
avatarURL |
profileProfile |
contactInviteUrlString |
personalInviteUrlStringThis link allows auto-approval to the company’s Talent Pool. |
settingsCompanySettings |
addressAddress |
hasActiveWebhooksBoolean! |
hasMultipleBusinessEntitiesBoolean! |
usedEngagementTypeSetups[EngagementTypeSetup!]! |
externalIdentifierString |
trustedContactsTrustedContactPaginator! |
teamMembersUserPaginator! |
teamMembersAndOwnersUserPaginator! |
organisationsOrganisationPaginator! |
customFieldsCustomFieldPaginator! |
staffingAgenciesCompanyRecruiterPaginator! |
CompanyPaginator
A paginated list of Company items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Company!]! |
CompanyRecruiter
A company recruiter relationship.
| Fields |
|---|
idID! |
emailString |
statusContactStatus! |
tokenString |
messageString |
recruiterFeeFloat |
recruiterOwnershipDaysInt |
recruiterOwnershipDaysLeftInt! |
recruiterManagesWorkersBoolean!Resolved from the per-relationship override if set, otherwise falls back to the company-level default. |
hasHiresBoolean! |
recruiterRecruiter! |
companyCompany! |
tags[Tag!]! |
externalIdentifierString |
customFieldValues[CustomFieldValue!]! |
CompanyRecruiterPaginator
A paginated list of CompanyRecruiter items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[CompanyRecruiter!]! |
CompanySettings
Company settings.
| Fields |
|---|
projectTrackingBoolean |
requiredJobBudgetBoolean |
multiCurrencyContractsDisabledBoolean |
staffingAgencyManagesWorkerBooleanThis can be overridden per staffing agency relationship and per hire. |
defaultMessageRemindWorkerToBillString |
Compliance
A compliance requirement that must be met for business processes to proceed.
| Fields |
|---|
actorComplianceActorTypes! |
nameComplianceName! |
applicableBoolean! |
completedBoolean! |
typeString |
titleString! |
descriptionString! |
actionComplianceAction |
validationDetailsComplianceValidationDetails |
ComplianceAction
A compliance action represents an action that can be taken to complete a compliance requirement.
| Fields |
|---|
actionString! |
titleString! |
descriptionString! |
buttonTextString |
tooltipString |
ComplianceValidationDetails
Validation details for a compliance requirement.
| Fields |
|---|
isValidBoolean! |
issues[String!]! |
Contract
A legal agreement between a company and a worker within a hire.
A hire may have multiple contracts over its lifetime (e.g. an initial draft, an active contract, and amended versions). The activeContract on a hire is the currently accepted agreement between the parties.
| Fields |
|---|
idID! |
jobNameString! |
jobDescriptionString! |
locationPreferenceLocationPreference |
statusContractStatus! |
startDateDate |
endDateDate |
locationAddress |
addressString |
currencyCurrency! |
rateTypeRateType |
rateFloat |
purchaseOrderNumberString |
companyCvrStringFor more information, visit: https://datacvr.virk.dk |
pdfUrlURLThis URL will link to a PDF for the contract. This URL cannot be used for saving in external systems as it might change over time or be regenerated. If a permanent URL is needed for the contract, it should be stored in the clients own system. |
paymentTermMethodPaymentTermMethod! |
paymentTermInt!Example paymentTerm: 10 means Worksome will pay the worker’s approved payment requests within 10 days. |
termsAcceptedBoolean! |
termsAcceptedAtDateTime |
workerAcceptedAtDateTime |
workerSignatureString |
jobJob! |
workerWorker |
companyCompany! |
companyContactUser |
businessEntityBusinessEntity |
companyNameString |
companyLocationAddress |
files[File!]! |
contractDocuments[ContractDocument!]! |
milestoneDetailsMilestoneDetailPaginator! |
ContractDocument
A document associated with a contract (e.g. KID, onboarding document).
| Fields |
|---|
idID! |
docTypeString |
pdfUrlString |
createdAtDateTime |
updatedAtDateTime |
ContractPaginator
A paginated list of Contract items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Contract!]! |
Conversation
A conversation between a company and a worker.
| Fields |
|---|
idID! |
subjectString! |
jobJob |
latestMessageMessage |
urlURL! |
createdAtDate! |
isClosedBoolean! |
isUnreadBoolean! |
closedAtDate |
messagesMessagePaginator! |
participantsParticipantPaginator! |
ConversationPaginator
A paginated list of Conversation items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Conversation!]! |
Country
A country.
| Fields |
|---|
isoCodeCountryCode!This is a two-letter country identifier (e.g. US). |
nameString |
CreateCustomTimeSheetResponse
The response from creating a custom timesheet.
| Fields |
|---|
providedRegistrationsInt! |
successfulRegistrationsInt! |
CreateExportResponse
A response with data from the export creation.
| Fields |
|---|
statusExportResponseStatus! |
messageString! |
CustomField
A custom field.
| Fields |
|---|
idID! |
userUserThe user may have been deleted in which case we return null. |
accountAccount! |
titleString! |
slugString |
descriptionString |
fieldTypeCustomFieldType! |
appliesToTypeSupportingCustomFieldValues! |
customFieldOptions[CustomFieldOption!]! |
settingsCustomFieldSettings!For example, validation rules. |
visibilityCustomFieldVisibility! |
customFieldValues[CustomFieldValue!]! |
isUsedInFieldValuesBoolean! |
ruleWorkflowVariableRule |
approvalBoolean! |
viewerCanUpdateBoolean! |
apiOnlyBoolean! |
workerInputAllowedBoolean! |
recruiterInputAllowedBoolean! |
viewerCanManageFieldValuesBoolean! |
createdAtDateTime! |
updatedAtDateTime |
deletedAtDateTime |
CustomFieldOption
A custom field option.
| Fields |
|---|
idID! |
customFieldCustomField! |
displayOrderInt!This is an unsigned integer. |
valueString! |
CustomFieldPaginator
A paginated list of CustomField items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[CustomField!]! |
CustomFieldSettings
The settings for a custom field.
| Fields |
|---|
validation[CustomFieldValidationRules!]! |
CustomFieldValue
A custom field value.
Those represents the custom fields value filled for an entity supporting custom fields.
e.g: You’ve defined a free-text “sector” custom field applying to Job entities. Say you have a job which is in the “IT” sector. You’d need to create a custom field value with field_id = <sector field id>, and content = "IT".
| Fields |
|---|
idID! |
accountAccount! |
userUser! |
appliesToSupportsCustomFieldValue! |
customFieldCustomField! |
customFieldOptionCustomFieldOptionThis will be present for a single-select field type. |
contentStringThis will be present for a free-text field type. |
displayValueStringThis gives a “human” representation of the custom field value no matter the field type. For example, this will return content for a free-text value, or will return the custom field option value for a single-select value. |
Employment
An employment record for a worker engaged on payroll through Worksome or an Employer of Record (EoR) partner.
Employment records track the formal payroll relationship when a worker is employed rather than operating as an independent contractor. A hire may have an associated employment when the engagement uses a payroll arrangement; not all hires have one.
| Fields |
|---|
idID! |
workerWorker! |
employerOfRecordAccount |
hiringManagers[User!]! |
statusEmploymentStatus! |
onboardingStatusEmployerRecordStatus! |
startDateDate |
endDateDate |
firstPayrolledAtDateTime |
previouslyHiredBoolean |
createdAtDateTime |
updatedAtDateTime |
isOnboardedBoolean |
onboardedAtDateTime |
hiresHirePaginator! |
employmentCostsEmploymentCostPaginator! |
EmploymentCost
An employment cost.
| Fields |
|---|
idID! |
categoryEmploymentCostCategory! |
typeEmploymentCostType! |
frequencyEmploymentCostFrequency! |
amountFloat! |
currencyString |
createdAtDateTime |
updatedAtDateTime |
EmploymentCostPaginator
A paginated list of EmploymentCost items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[EmploymentCost!]! |
EmploymentPaginator
A paginated list of Employment items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Employment!]! |
Expense
An expense line item within an expense report.
Expenses represent individual costs incurred by a worker during an engagement, such as travel or materials. They are grouped into expense reports and submitted alongside payment requests for approval.
| Fields |
|---|
idID! |
descriptionString |
currencyCurrency! |
amountFloat! |
vendorString! |
expenseAtDateTime! |
createdAtDateTime! |
filesFilePaginator! |
ExpensePaginator
A paginated list of Expense items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Expense!]! |
ExpenseReport
An expense report.
| Fields |
|---|
idID! |
titleString |
descriptionString |
totalFloat! |
isDraftBoolean! |
createdAtDateTime |
expensesExpensePaginator! |
ExpenseReportPaginator
A paginated list of ExpenseReport items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[ExpenseReport!]! |
File
A file.
| Fields |
|---|
idID! |
nameString! |
titleString |
sizeInt! |
mimeTypeString! |
ownerAccount! |
urlString!This URL cannot be used for saving in external systems as it might change over time or be regenerated. If a permanent URL is needed for the file, it should be stored in the clients own system. |
createdAtDateTime |
updatedAtDateTime |
FilePaginator
A paginated list of File items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[File!]! |
Gate
A gate represents a collection of related compliance requirements.
| Fields |
|---|
actorComplianceActorTypes! |
nameComplianceName! |
compliances[Compliance!]! |
completedBoolean! |
applicableBoolean! |
titleString! |
descriptionString! |
Hire
A representation of an engagement between a company and a worker on a job.
A hire tracks the agreement between parties to work together. It is not itself a legal document — the contracts attached to the hire (Hire.contracts, Hire.activeContract) are the legal agreements.
A hire progresses through a lifecycle: DRAFT → OFFERED → READY → ACTIVE → ENDED. It may also be CANCELLED (before activation) or TERMINATED (ended early by the company).
| Fields |
|---|
idID! |
numberString! |
latestContractContract!The latest contract could for example be a draft, if one of the parties wanted to make changes to the currently active contract. see hire.activeContract for the current active one. |
activeContractContractThis has been accepted by all parties and is the active legal document between them. |
pendingContractChangesBoolean! |
companyCompany! |
jobJob! |
recruiterRecruiter |
contractTypeContractType! |
engagementTypeEngagementType |
engagementTypeLabelString |
engagementTypeSetupEngagementTypeSetup |
engagementTypeSetupLabelString |
contractTypeShortString |
contractTypeLabelString! |
usesClassificationBoolean! |
wcrWcr Deprecated |
classificationClassificationThis can be various types of classifications like IR35, US Worker Classification, etc. |
classificationResultClassificationResult! Deprecated |
classificationLabelString Deprecated |
classificationPdfUrlString! DeprecatedThis URL will link to a PDF for the classification result is present. This URL cannot be used for saving in external systems as it might change over time or be regenerated. If a permanent URL is needed for the classification result, it should be stored in the clients own system. |
workerWorker! |
conversationConversationIf the hire is stuck in an approval flow, there can exist a situation where no conversation exists yet. |
employmentEmploymentNote: This employment is not always tied to a specific hire. |
createdAtDate! |
startDateDate |
endDateDate |
recruiterOwnershipStartDateDate |
recruiterFeePercentage |
recruiterOwnershipDaysInt |
recruiterOwnershipIsExpiredBoolean |
recruiterOwnershipDaysLeftInt |
currencyString! |
rateFloat |
rateTypeString |
statusHireActiveStatus!See activeStatus for the same value. Possible values: DRAFT, OFFERED, READY, ACTIVE, ENDED, CANCELLED, TERMINATED. |
offeredAtDate |
externalIdentifierString |
purchaseOrderNumberString |
recruiterManagesWorkersBoolean |
canRemoveRecruiterBoolean |
canRemindWorkerForBillingBoolean! |
userUser |
activeStatusHireActiveStatus!Possible values: DRAFT, OFFERED, READY, ACTIVE, ENDED, CANCELLED, TERMINATED. |
canTerminateContractBoolean! |
canCancelContractBoolean! |
hasMilestonesBoolean! |
hasEmploymentBoolean! |
hasDraftContractBoolean! |
triggersApprovalBoolean |
currentApprovalStateApprovalState |
owners[User!]! |
endsWithinDaysBoolean! |
tenureInt! |
sourceHireHire |
supplierHireHire |
viewerCanAcceptContractBoolean! |
viewerCanCreatePaymentRequestBoolean! |
contractsContractPaginator!These are legal documents, however it can contain old contracts and drafts also. |
paymentRequestsPaymentRequestPaginator! |
milestonesMilestonePaginator! |
approvalsApprovalPaginator! |
HirePaginator
A paginated list of Hire items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Hire!]! |
Industry
An industry.
| Fields |
|---|
idID! |
nameString! |
IndustryPaginator
A paginated list of Industry items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Industry!]! |
Invoice
An invoice issued to a company for approved worker payment requests.
An invoice is created when one or more worker payment requests are approved by a company user. It defines the total amount due from the company to Worksome and tracks the payment lifecycle.
| Fields |
|---|
idID! |
numberStringThis is usually printed on the invoice itself and should be used by booking system and finance departments. The invoice number is in a human readable format. |
pdfUrlURL!This URL will link to a PDF for the invoice. This URL cannot be used for saving in external systems as it might change over time or be regenerated. If a permanent URL is needed for the invoice, it should be stored in the clients own system. |
currencyCurrency! |
grossAmountFloat! |
grossOpenAmountFloat! |
taxAmountFloat! |
netAmountFloat! |
markedPaidAtDateThis date might vary from the actual date it was paid, as it takes time for a payment to go through and be validated. |
dueDateDate! |
companyCompany! |
dateDate! |
isBatchedBoolean!A batch invoice aggregates multiple payment requests together in one, summarised invoice over a period of time. This reduces the overhead of processing high volumes of payment requests and corresponding invoices. |
transactionTypeInvoiceTransactionType! |
isFullyCreditedBoolean! |
isOverDueBoolean |
creditNotes[Invoice!]! |
originalInvoiceInvoice |
externalIdentifierString |
rowsInvoiceRowPaginator!This can be used to gather more information about the invoice than just the overall amount. |
InvoicePaginator
A paginated list of Invoice items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Invoice!]! |
InvoiceRow
A row on the invoice.
| Fields |
|---|
idID! |
paymentRequestPaymentRequest |
workerWorker |
customTextString |
InvoiceRowPaginator
A paginated list of InvoiceRow items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[InvoiceRow!]! |
Job
A job posting created by a company on Worksome.
Jobs start in DRAFT status after creation via createJob, then move to ACTIVE once published via updateJob. A job can be shared with the marketplace, trusted contacts, or staffing agencies depending on its visibility settings. Workers can submit bids on published jobs, and the company can hire from those bids or directly hire a trusted contact.
| Fields |
|---|
idID! |
numberInt! |
nameString! |
skills[Skill!]! |
descriptionString |
marketMarketCode! |
statusJobStatus |
addressString Deprecated |
locationAddress! |
currencyCurrency! |
rateTypeRateType |
rateFloat |
minimumRateFloat |
maximumRateFloat |
paymentSchemePaymentScheme Deprecated |
companyFeeStrictPercentage |
workerFeeStrictPercentage |
associationAssociation |
projectProject |
internalBudgetFloat |
spentFloat!Only enterprise company owning the job could access the budget. |
expectedExperienceLevel[ExpectedExperienceLevel!]! |
locationPreferenceLocationPreference |
startDateDate |
startDateTimeframeJobStartTimeframe |
endDateTimeframeJobEndTimeframe |
endDateDate |
attachments[File!]! |
isExtensionAvailableBoolean |
evaluationPeriodEvaluationPeriod |
languages[Language!]! |
industries[Industry!]! |
requiredWorkersIntIf excluded, the default is 1 profile. |
owners[User!]! |
customFieldValues[CustomFieldValue!]!Details specified in this will only be visible to you and your team members, not to workers. |
visibility[JobVisibility!]! |
approvedBoolean! |
availableBoolean! |
pausedBoolean! |
completedBoolean! |
publishedBoolean! |
draftBoolean! |
removedBoolean! |
removedCauseString |
publishedAtDateTime |
companyCompany! |
regionString |
urlURL! |
viewerCanDeleteBoolean! |
viewerCanEditBoolean! |
viewerCanShareBoolean! |
viewerCanCreateJobCandidateBoolean! |
viewerCanCreateHireBoolean! |
createdAtDateTime! |
updatedAtDateTime! |
isForContactsBoolean! |
isForRecruitersBoolean! |
isForMarketplaceBoolean! |
externalIdentifierString |
canBePublishedBoolean! |
isJobPostBoolean |
isAvailableBoolean |
sourceJobJob |
supplierJobJob |
hiresHirePaginator! |
conversationsConversationPaginator! |
notesNotePaginator! |
paymentRequestsPaymentRequestPaginator! |
bidsBidPaginator! |
sharesJobSharePaginator! |
jobCandidatesJobCandidatePaginator! |
JobCandidate
The relation between a job and a worker, making them a candidate for the job.
| Fields |
|---|
idID! |
jobJob! |
workerWorker! |
bidBid |
hireHire |
jobShareJobShare |
sourcingChannelSourcingChannel! |
ownerAccount |
stepJobCandidateHiringStep! |
statusJobCandidateStatus! |
statusReasonJobCandidateStatusReason |
statusCommentString |
isPreferredBoolean! |
statusSetByUserUser! |
stepSetByUserUser! |
createdAtDateTime! |
createdByUserUser! |
updatedAtDateTime |
updatedByUserUser |
viewerCanUpdateStatusBoolean! |
viewerCanUpdatePreferredBoolean! |
sourceCandidateJobCandidate |
JobCandidatePaginator
A paginated list of JobCandidate items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[JobCandidate!]! |
JobPaginator
A paginated list of Job items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Job!]! |
JobShare
The contacts that the job was shared with.
| Fields |
|---|
idID! |
accountJobShareableAccount! |
isActiveBoolean! |
createdAtDateTime! |
jobJob! |
JobSharePaginator
A paginated list of JobShare items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[JobShare!]! |
Language
A language that is required for a job.
| Fields |
|---|
nameLanguageName! |
experienceFluency! |
LegacyTimesheet
A legacy timesheet.
This is only for internal use within the Worksome platform.
| Fields |
|---|
formatLegacyTimesheetType Deprecated |
htmlString Deprecated |
Link
A link on a profile.
| Fields |
|---|
titleString! |
urlString! |
Market
A geographic market in which Worksome operates (e.g. UK, US, Denmark).
Markets determine applicable compliance rules, currencies, and employment regulations for accounts and jobs.
| Fields |
|---|
codeMarketCode! |
nameString! |
Message
A message as part of a conversation.
| Fields |
|---|
idID! |
bodyString |
authorUser |
urlURL! |
MessagePaginator
A paginated list of Message items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Message!]! |
Milestone
A deliverable-based milestone within a hire.
Milestones allow companies and workers to break an engagement into discrete deliverables, each with its own amount and completion status. Payment can be tied to milestone completion rather than time-based billing.
| Fields |
|---|
idID! |
nameString! |
purchaseOrderNumberString |
statusMilestoneStatus! |
detailsMilestoneDetail! |
hireHire! |
paymentRequestsPaymentRequestPaginator! |
MilestoneDetail
Milestone details.
| Fields |
|---|
idID! |
dueDateDate! |
amountFloat! |
milestoneMilestone! |
contractsContractPaginator! |
MilestoneDetailPaginator
A paginated list of MilestoneDetail items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[MilestoneDetail!]! |
MilestonePaginator
A paginated list of Milestone items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Milestone!]! |
MultiFactorPaginator
A paginated list of MultiFactor items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[MultiFactor!]! |
Note
A note for an entity.
| Fields |
|---|
idID! |
titleString! |
bodyString! |
authorUser! |
notableNotable! |
accountAccount! |
createdAtDateTime! |
updatedAtDateTime! |
viewerCanUpdateBoolean! |
viewerCanDeleteBoolean! |
NotePaginator
A paginated list of Note items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Note!]! |
OnboardingDocument
An onboarding document for a trusted contact.
| Fields |
|---|
idID! |
fileFile |
pdfUrlString |
freelancerAcceptedAtDate |
isAcceptedBoolean! |
Organisation
An organisation — a parent entity that groups one or more companies (divisions) under a shared structure.
Organisations provide a unified view across their divisions for talent pools, reporting, and governance. They do not create jobs or make hires directly; those actions are performed by the individual company divisions.
| Fields |
|---|
idID! |
nameString! |
marketMarketCode! |
avatarURL |
divisionsCompanyPaginator! |
OrganisationPaginator
A paginated list of Organisation items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Organisation!]! |
Overtime
An overtime entry automatically calculated from a timesheet.
When a worker logs hours that exceed the standard threshold for a billing period, overtime entries are generated automatically. Each entry captures the duration, applicable rate multiplier, and the resulting total, and is linked to the timesheet that triggered it and the payment request where it is billed.
| Fields |
|---|
idID! |
typeOvertimeType! |
durationFloat! |
rateFloat! |
rateMultiplierFloat! |
totalInt! |
workerWorker |
paymentRequestPaymentRequest |
timesheetTimesheet! |
contributingPaymentRequestNumbers[ID!]! |
createdAtDateTime! |
updatedAtDateTime! |
OvertimePaginator
A paginated list of Overtime items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Overtime!]! |
PaginatorInfo
Information about pagination using a fully featured paginator.
| Fields |
|---|
countInt! |
currentPageInt! |
firstItemInt |
hasMorePagesBoolean! |
lastItemInt |
lastPageInt! |
perPageInt! |
totalInt! |
Participant
A participant in a conversation.
| Fields |
|---|
idID! |
conversationConversation! |
accountAccount! |
ParticipantPaginator
A paginated list of Participant items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Participant!]! |
Partner
A partner account — an employment or compliance partner that facilitates hiring on behalf of companies.
Partners provide services such as Employer of Record (EoR) and payroll management to companies using Worksome. They do not create jobs or hire workers directly.
| Fields |
|---|
idID! |
nameString! |
slugString! |
currencyString! |
marketMarketCode! |
avatarURL |
addressAddress |
primaryBusinessEntityBusinessEntity |
primaryProfileProfile |
PaymentRequest
A payment request.
| Fields |
|---|
idID! |
workerWorker! |
recruiterRecruiter |
companyCompany! |
numberString! |
purchaseOrderNumberString |
startDateDate |
endDateDate |
currencyCurrency! |
rateFloat |
rateTypeRateType |
rateTypeNameString! |
ratetypeNameSlashString |
rateQuantityFloat!The rate type can be seen by looking at PaymentRequest.rateType and the rate can be seen by looking at PaymentRequest.rate. |
serviceAmountFloat! |
expensesAmountFloat! |
invoiceInvoice |
netAmountFloat! |
grossAmountFloat! |
recruiterFeeAmountFloat!Only the company and recruiter can see this. |
employmentCostAmountFloat!Only the Company can see this. |
billedAmountFloat! |
billedAmountWithExpensesFloat! |
dateDate! |
manuallyApprovedAtDate |
approvedByUser |
autoApprovedAtDate |
rejectedAtDate |
prepaidAtDate |
issuedAtDate |
cancelledAtDate |
paidAtDate |
payrolledAtDate |
dueAtDate |
completedAtDate |
processedAtDate |
hireHire |
jobJob! |
messageMessage |
commentsString |
workerStatusPaymentRequestWorkerStatus! |
workerPayoutStatusPaymentRequestWorkerPayoutStatus!This represents whether the worker has been paid. |
statusPaymentRequestStatus! |
timesheetTimesheet |
legacyTimesheetLegacyTimesheet DeprecatedThis is only for internal use within the Worksome platform. |
externalIdentifierString |
sourcePaymentRequestPaymentRequest |
clientPaymentRequestPaymentRequest |
filesFilePaginator!There could potentially be a timesheet stored as a separate file. |
expenseReportsExpenseReportPaginator! |
batchesBatchPaginator! |
milestonesMilestonePaginator! |
overtimesOvertimePaginator! |
supplierInvoicesSupplierInvoicePaginator!Supplier invoices are only available to suppliers. |
PaymentRequestPaginator
A paginated list of PaymentRequest items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[PaymentRequest!]! |
Profile
A public-facing profile for a worker or company on Worksome.
Profiles contain biographical information, descriptions, and other details that are visible to other users on the platform.
| Fields |
|---|
idID! |
urlURL! |
links[Link!]! |
Project
A project with a budget containing one or more jobs.
| Fields |
|---|
idID! |
nameString! |
descriptionString |
currencyCurrency! |
creatorUser! |
companyCompany! |
internalBudgetDecimal |
allocatedBudgetDecimal! |
spentDecimal! |
endDateDateIf this is set to null, we will assume that the project is not yet ended but active. |
owners[User!]! |
externalIdentifierString |
jobsJobPaginator! |
ProjectPaginator
A paginated list of Project items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Project!]! |
Recruiter
A staffing agency account that sources and manages workers on behalf of companies.
Staffing agencies can be attributed to hires, manage workers during engagements, and earn fees based on their ownership period. Companies establish relationships with staffing agencies to leverage their talent sourcing capabilities.
| Fields |
|---|
idID! |
nameString! |
marketMarket! |
initialsString! |
avatarURL |
ownerUser |
clients[CompanyRecruiter!]! |
candidates[RecruiterCandidate!]! |
RecruiterCandidate
A recruiter candidate relationship.
| Fields |
|---|
idID! |
recruiterRecruiter! |
workerWorker! |
emailString |
statusContactStatus! |
tokenString |
rateFloat |
jobTitleString |
links[String!]! |
tags[Tag!]! |
filesFilePaginator! |
RecruiterCandidatePaginator
A paginated list of RecruiterCandidate items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[RecruiterCandidate!]! |
RecruiterPaginator
A paginated list of Recruiter items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Recruiter!]! |
RunBatchActionResponse
The payload returned when running an action on a batch.
| Fields |
|---|
batchBatch |
batchIdID! |
actionBatchActionType! |
batchDeletedBoolean! |
resultUrlString |
Skill
A skill that is required for a job.
| Fields |
|---|
idID! |
nameString! |
SkillPaginator
A paginated list of Skill items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Skill!]! |
SmsCreateMultiFactorPayload
A response payload for a newly-created SMS multi-factor authentication implementation.
| Fields |
|---|
multiFactorSmsMultiFactor! |
SmsMultiFactor
An SMS multi-factor authentication implementation.
| Fields |
|---|
idID! |
nameString! |
phoneNumberE164PhoneNumber! |
statusMultiFactorStatus! |
ownerUser! |
verifiedAtDateTime |
createdAtDateTime! |
updatedAtDateTime! |
SupplierInvoice
A supplier invoice.
The invoice defines the amount due and is to be paid to the worker.
| Fields |
|---|
idID! |
numberStringThis is usually printed on the supplier invoice itself and should be used by booking system and finance departments. The supplier invoice number is in a human readable format. |
pdfUrlURL!This URL will link to a PDF for the supplier invoice. This URL cannot be used for saving in external systems as it might change over time or be regenerated. If a permanent URL is needed for the supplier invoice, it should be stored in the clients own system. |
externalIdentifierString |
SupplierInvoicePaginator
A paginated list of SupplierInvoice items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[SupplierInvoice!]! |
Tag
A tag.
| Fields |
|---|
idID! |
nameString |
TagPaginator
A paginated list of Tag items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Tag!]! |
TemporaryFileUploadResponse
The details for a temporary file upload.
| Fields |
|---|
idID! |
nameString! |
urlURL!The temporary URL will expire after 1 week. |
Timesheet
A timesheet submitted by a worker for a hire.
Timesheets record hours worked during a billing period and are used to generate payment requests. They may also trigger overtime calculations when logged hours exceed standard thresholds.
| Fields |
|---|
idID! |
workerWorker |
hireHire |
startDateDate |
endDateDate |
createdAtDateTime! |
paymentRequestsPaymentRequestPaginator! |
registrationsTimesheetRegistrationPaginator! |
filesFilePaginator! |
overtimesOvertimePaginator! |
TimesheetPaginator
A paginated list of Timesheet items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Timesheet!]! |
TimesheetRegistration
A registration for a timesheet.
| Fields |
|---|
idID! |
typeTimesheetRegistrationType! |
dateDate! |
startTimeTime |
endTimeTime |
durationFloat! |
unitTimesheetRegistrationDurationUnit! |
commentsString |
invoiceReferenceNumberString |
externalIdentifierString |
isBillableBoolean |
customFieldValues[CustomFieldValue!]! |
TimesheetRegistrationPaginator
A paginated list of TimesheetRegistration items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[TimesheetRegistration!]! |
TotpCreateMultiFactorPayload
A response payload for a newly-created TOTP multi-factor authentication implementation.
| Fields |
|---|
multiFactorTotpMultiFactor! |
secretString! |
qrCodeURL!This is not the QR Code itself, but the URL that the QR code should contain. The URL is in otpauth format. |
TotpMultiFactor
A TOTP multi-factor authentication implementation.
| Fields |
|---|
idID! |
nameString! |
statusMultiFactorStatus! |
ownerUser! |
verifiedAtDateTime |
createdAtDateTime! |
updatedAtDateTime! |
TrustedContact
A trusted contact — a worker in a company’s Talent Pool.
Trusted contacts represent the relationship between a company and a worker. A worker must be added as a trusted contact before the company can hire them directly (without going through the marketplace). Trusted contacts go through an approval workflow and can have custom fields, skills, and onboarding documents.
| Fields |
|---|
idID! |
workerWorker! |
companyCompany! |
invitedByUserUserA null value here means the trusted contact was automatically added by a process. |
viewerCanApproveBoolean! |
viewerCanUpdateBoolean! |
viewerCanDeleteBoolean! |
viewerCanReInviteBoolean! |
links[String!]! |
attachments[File!]! |
skills[Skill!]! |
managedStatusTrustedContactManagedStatus |
statusContactStatus! |
statusUpdatedAtDate! |
invitedAtDate! |
approvedByUserUser |
externalIdentifierString |
originTrustedContactOrigin! |
originChannelTrustedContactOriginChannel! |
customFieldValues[CustomFieldValue!]! |
requiredCustomFieldsCompleteBoolean! |
onboardingStatusTrustedContactOnboardingStatus |
onboardingDocuments[OnboardingDocument!]! |
createdAtDate! |
tagsTagPaginator! Deprecated |
notesNotePaginator! |
TrustedContactPaginator
A paginated list of TrustedContact items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[TrustedContact!]! |
UpdateWorkerCustomFieldValuesPayload
The payload returned after updating custom field values as a worker.
| Fields |
|---|
fieldableSupportsCustomFieldValue! |
customFieldValues[CustomFieldValue!]! |
User
A user who can sign in to Worksome and act on behalf of one or more accounts.
Users are the people behind accounts — a single user may be a team member of a company, an owner of a staffing agency, or a worker. They authenticate and perform actions within their active account context.
| Fields |
|---|
idID! |
nameString! |
emailString! |
avatarURL |
hasConsentedToWorksomeIntelligenceBoolean! |
canCreatePasswordBoolean!The user might not be allowed if they already have a password, in which case they should use updatePassword or if they have SAML on their account. |
missingAuthenticationBoolean!This will check that the user has no password, social, SAML etc. way of authenticating into their account. |
hasVerifiedEmailBoolean! |
emailVerifiedAtDateTime |
createdAtDateTime! |
updatedAtDateTime! |
UserGroup
A named group of company team members.
User groups are used to assign approvers in approval workflows — when an approval is required, the members of the assigned user group are notified and can take action.
| Fields |
|---|
idID! |
nameString! |
descriptionString |
companyCompany! |
statusUserGroupStatus! |
usersUserPaginator! |
UserGroupPaginator
A paginated list of UserGroup items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[UserGroup!]! |
UserPaginator
A paginated list of User items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[User!]! |
Wcr
Represents the Worksome Classification Recommendation (WCR) in the system.
| Fields |
|---|
idID! |
userUser |
supersededByWcrSupersede |
overridesAnotherBoolean! |
WcrSupersede
Represents the supersede relationship for an WCR, used when one WCR replaces or supersedes another.
| Fields |
|---|
typeWcrSupersedeType! |
originalWcrWcr |
reasonString |
filedAtDate! |
Webhook
The webhook definition.
| Fields |
|---|
idID! |
titleString! |
descriptionString |
ownerString! |
urlString! |
secretString |
isActiveBoolean |
clientIdString |
clientSecretString |
clientUrlString |
subscribedEvents[WebhookEventType!]If null, the webhook is subscribed to all event types. If an empty array, the webhook is not subscribed to any events. |
createdAtDateTime! |
updatedAtDateTime! |
WebhookEvent
The webhook event definition.
| Fields |
|---|
idID! |
keyString! |
webhookIdID! |
eventString!Refer to the webhook event documentation for more information about which event values Worksome uses here. |
descriptionString!event field). |
statusString!- pending: The webhook has not yet been sent. - success: The webhook was sent successfully. - failed-N: The webhook sending attempt failed for the N’th time. - failed-finally: The webhook sending attempt failed and will not be retried automatically. |
payloadJSON! |
logs[WebhookEventLog!]! |
createdAtDateTime! |
updatedAtDateTime! |
WebhookEventLog
The webhook event log definition.
| Fields |
|---|
idID! |
keyString! |
resultString!- success: The webhook was sent successfully. - failed-N: The webhook sending attempt failed for the N’th time. - failed-finally: The webhook sending attempt failed and will not be retried automatically. |
statusCodeInt |
webhookWebhook! |
webhookEventWebhookEvent! |
requestJSON! |
responseJSON! |
createdAtDateTime! |
WebhookEventLogPaginator
A paginated list of WebhookEventLog items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[WebhookEventLog!]! |
WebhookEventPaginator
A paginated list of WebhookEvent items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[WebhookEvent!]! |
WebhookPaginator
A paginated list of Webhook items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Webhook!]! |
Worker
A worker account — a freelancer or contractor who can be hired by companies on Worksome.
Workers maintain a profile with skills, experience, and business entity details. They can be hired in two ways: by submitting a bid on a published job (marketplace flow), or via a direct hire — which requires the worker to first be added as a trusted contact in the company’s Talent Pool.
| Fields |
|---|
idID! |
nameString! |
firstNameString! |
lastNameString! |
middleNameString |
emailString |
phoneString |
avatarURL |
addressAddress |
marketMarket! |
skills[Skill!]! |
profileProfile |
jobTitleString |
initialsString! |
currencyString! |
dayRateFloat |
rtwVerifiedAtDateTime |
rtwExpiresAtDateTime |
hiresWithAttribution[Hire!]! |
primaryBusinessEntityBusinessEntity |
totalPaidFloat! |
viewerIsClientBooleanOnly companies can see this. |
viewerCanContactBoolean! |
viewerCanOfferJobBoolean! |
isCurrentlyHiredBoolean! |
clients[Client!]! |
insurances[WorkerInsurance!]! |
businessEntitiesBusinessEntityPaginator! |
hiresHirePaginator! |
WorkerInsurance
Insurance information for a worker.
| Fields |
|---|
typeString! |
titleString! |
hasInsuranceBoolean! |
policyLimitInt |
updatedAtDateTime |
files[File!]! |
Workflow
A workflow — an alternative tree-structured view of an approval flow for hires.
A Workflow is backed by the same data as an Approval, but exposes the structure as a tree of nodes (rules with their approvers). Use the workflow/workflows queries to read the tree structure, and createWorkflow/updateWorkflow to manage the entire approval flow as a single operation.
Workflows currently apply only to hires — they cannot be used for jobs, payment requests, or other entities. See the Approval type for supported trigger events.
| Fields |
|---|
idID! |
nodes[Nodeable!]! |
WorkflowPaginator
A paginated list of Workflow items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[Workflow!]! |
WorkflowVariableOption
A selectable option for an option-type workflow variable.
| Fields |
|---|
displayOrderInt! |
labelString! |
valueString! |
WorkflowVariableOptionType
A workflow variable that accepts one of a predefined set of options for comparison.
For example, a classification result variable with options like “Employee” and “Independent Contractor”.
| Fields |
|---|
idID! |
titleString! |
descriptionString |
operators[WorkflowVariableOperator!]! |
options[WorkflowVariableOption!]! |
WorkflowVariablePaginator
A paginated list of WorkflowVariable items.
| Fields |
|---|
paginatorInfoPaginatorInfo! |
data[WorkflowVariable!]! |
WorkflowVariableRule
A condition on an approval rule — compares a workflow variable against a threshold value.
For example, a rule might have a condition: “hourly rate greater than 100”. The variable field identifies what is being compared, operator defines the comparison type, and value is the threshold.
| Fields |
|---|
idID! |
fieldIdString! |
approvalRuleApprovalRule! |
variableWorkflowVariable! |
operatorWorkflowVariableOperator! |
valueString! |
createdAtDate! |
updatedAtDate! |
WorkflowVariableStringType
A workflow variable that accepts free-text string values for comparison.
| Fields |
|---|
idID! |
titleString! |
descriptionString |
operators[WorkflowVariableOperator!]! |