Bilflo integration
Bilflo is back-office software for staffing agencies. Manage clients with their contacts, addresses, agreements, contract purchase orders and invoice groups; create, update, terminate and reopen contract jobs with their approvers, purchase orders, custom fields and pay/bill rates; create and update direct hire placements; create and update contractors; and read company settings (workers comp codes, payment terms, remittances, burden settings, benefit rules, states, pay/bill items, overtime rules) and custom fields. Left out: team member records and the payroll, compensation and sick, vacation and health benefit settings of contractors and team members (sensitive payroll data, as are contractor Social Security and bank account numbers, which are neither sent nor returned), file uploads (agreements, documents, offer letters, multipart direct hire saves), custom report execution, page layouts, and the integration connectors, dashboards, workflows and sign-up routes. Authentication is a Bilflo API key from the Credentials page of the Bilflo developer portal, sent as a Bearer token, plus your company id (a GUID provided by your staffing company account) in the company-id header.
Say what should happen.
The workflow builds itself.
What you can do with Bilflo
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Client, 5 operations
create_clientCreate clientPOSTCreates a client with the given business name and returns its clientId.get_clientGet clientGETReturns one client with its addresses and contacts.list_clientsList clientsGETLists all clients of your company with their addresses and contacts. Use the clientId from here in every client tool.replace_clientReplace clientPUTReplaces every updatable field of a client: businessName and isActive are required; clientCode, phone and fax are cleared when left out. Read get_client first and send its values back with your change, or use update_client.update_clientUpdate clientPATCHChanges only the client fields you send (businessName, clientCode, phone, fax, isActive); fields left out keep their value, null clears one except businessName and isActive.
Contact, 5 operations
create_client_contactCreate client contactPOSTCreates a contact for a client and returns its contactId.get_client_contactGet client contactGETReturns one contact of a client.list_client_contactsList client contactsGETLists the contacts of one client.replace_client_contactReplace client contactPUTReplaces every updatable field of a client contact: firstName, lastName and emailAddress are required, title, phone and phoneExt are cleared when left out. Read get_client_contact first, or use update_client_contact.update_client_contactUpdate client contactPATCHChanges only the client contact fields you send; null clears title, phone or phoneExt. A new emailAddress also changes the contact's login name.
Address, 4 operations
create_client_addressCreate client addressPOSTCreates an address for a client and returns its addressId.list_client_addressesList client addressesGETLists the addresses of one client.replace_client_addressReplace client addressPUTReplaces every updatable field of a client address: isDefault is required and every other field left out is cleared. Read list_client_addresses first and send the values back, or use update_client_address.update_client_addressUpdate client addressPATCHChanges only the client address fields you send; fields left out keep their value, null clears one except isDefault. An address cannot be activated or deactivated here.
Contract job, 4 operations
create_contract_jobCreate contract jobPOSTCreates a contract job for a client and contractor and returns its jobId. A pay/bill line may have rate 0; negative rates are refused.get_contract_jobGet contract jobGETReturns one contract job with its settings, worksite address and pay/bill lines.replace_contract_jobReplace contract jobPUTReplaces the 15 updatable fields of a contract job; the 11 non-nullable ones are required. Read get_contract_job first and send its values back with your change, or use update_contract_job.update_contract_jobUpdate contract jobPATCHChanges only the contract job fields you send; null means leave it, so overtimeRuleId and firstWeekEndingDate cannot be cleared here (use replace_contract_job). clientId and contractorId cannot change.
Custom field, 4 operations
create_custom_fieldCreate custom fieldPOSTCreates a custom field (team members, custom list or free form) for chosen service offerings and returns its customFieldId.list_contract_job_custom_fieldsList contract job custom fieldsGETLists a contract job's custom fields with their current values and, for list fields, the active options.list_custom_fieldsList custom fieldsGETLists your company's custom fields, active and inactive, with per service offering requiredness and, for custom lists, their items.update_contract_job_custom_fieldsUpdate contract job custom fieldsPATCHSets some custom fields of a contract job; fields not listed keep their value, null or an empty value clears one. Returns the job's custom fields.
Direct hire, 4 operations
create_direct_hireCreate direct hirePOSTCreates a direct hire placement (with jobId above 0 it updates its header instead) and returns its jobId.get_direct_hireGet direct hireGETReturns one direct hire placement with salary, fee, invoice splits, bonus and status flags.replace_direct_hireReplace direct hirePUTReplaces every updatable header field of a direct hire; the 7 required ones must be sent and other fields left out are cleared. Read get_direct_hire first, or use update_direct_hire.update_direct_hireUpdate direct hirePATCHChanges only the direct hire header fields you send; null clears a field except the required ones. Dates are yyyy-MM-dd.
Contractor, 3 operations
create_contractorCreate contractorPOSTCreates a contractor and returns its contractorId.get_contractorGet contractorGETReturns one contractor's profile and payroll setup (Social Security and bank account numbers are not returned).update_contractorUpdate contractorPATCHChanges only the contractor fields you send; null clears a field except firstName, lastName, emailAddress and the five flags the vendor requires. A contractor cannot be activated or deactivated here.
Pay bill item, 3 operations
list_contract_job_pay_bill_itemsList contract job pay bill itemsGETLists a contract job's pay/bill lines with cost and bill rates and flags.list_pay_bill_itemsList pay bill itemsGETLists your company's pay/bill items with their attributes. Use the id as payBillItemId on contract job tools.update_contract_job_pay_bill_itemsUpdate contract job pay bill itemsPATCHChanges pay/bill rates of a contract job or adds lines; lines not listed are untouched and none can be removed. New rates apply to timecards generated afterwards.
Approver, 2 operations
list_contract_job_approversList contract job approversGETLists the approvers of a contract job in approval order with their four permission flags.replace_contract_job_approversReplace contract job approversPUTReplaces the approver list of a contract job: approvers not in the list are removed. Read list_contract_job_approvers first and send the full list back with your change.
Contract po, 2 operations
create_client_contract_poCreate client contract poPOSTCreates a contract purchase order for a client, optionally assigning it to contract jobs, and returns its purchaseOrderId.list_client_contract_posList client contract posGETLists the contract purchase orders of one client with starting and current balance, job counts and expiration.
Item, 2 operations
create_custom_field_itemCreate custom field itemPOSTAdds an item to a custom list field and returns its customFieldItemId.list_custom_field_itemsList custom field itemsGETLists the items of a custom list field.
Purchase order, 2 operations
add_contract_job_purchase_ordersAdd contract job purchase ordersPOSTLinks purchase orders to a contract job, matching each by orderNumber among the client's POs or creating it. Never detaches a PO; returns the job's POs.list_contract_job_purchase_ordersList contract job purchase ordersGETLists the purchase orders linked to a contract job, primary first, with balances, hours and dates.
Agreement, 1 operation
list_client_agreementsList client agreementsGETLists the agreements of one client: service offerings, signed and expiration dates, payment term and the files on record.
Assign contract job, 1 operation
assign_contract_job_to_invoice_groupAssign contract job to invoice groupPOSTAssigns a contract job to an invoice group of its client.
Benefit rule, 1 operation
list_benefit_rulesList benefit rulesGETLists your company's benefit time rules by benefit type and state.
Burden settings, 1 operation
list_burden_settingsList burden settingsGETReturns your company's burden type and burden items.
Contract invoice group, 1 operation
list_client_invoice_groupsList client invoice groupsGETLists the active contract invoice groups of one client with their contacts and assigned jobs. Use invoiceGroupId with assign_contract_job_to_invoice_group.
Contractor work status, 1 operation
create_contractor_work_statusCreate contractor work statusPOSTRecords a new work status for a contractor, effective on the date given, and returns its workStatusId.
Overtime rule, 1 operation
list_overtime_rulesList overtime rulesGETLists your company's overtime rules (overtimeRuleId, name, state code).
Payment term, 1 operation
list_payment_termsList payment termsGETLists your company's payment terms (paymentTermId, name, term days, default flag).
Remittance, 1 operation
list_remittancesList remittancesGETLists your company's remittance files (id, file name and type, default flag).
Reopen, 1 operation
reopen_contract_jobReopen contract jobPOSTReopens a terminated contract job from reopenDate: makes it active again, clears its end date and creates the missing timecards. Fails when the plan has no room for another active job.
State, 1 operation
list_statesList statesGETLists the states known to your company (stateId, name, state code). Use stateId when creating a contract job.
Terminate, 1 operation
terminate_contract_jobTerminate contract jobPOSTTerminates a contract job on the given end date. reopen_contract_job undoes it.
Workers comp code, 1 operation
list_workers_comp_codesList workers comp codesGETLists your company's workers comp codes (workersCompCodeId, name, additional burden).
Use Bilflo from Claude Code, Cursor or Codex
Connect Bilflo in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Bilflo operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Bilflo
- Create your workspace
Sign up free. Nothing to install.
- Connect Bilflo once
Add your Bilflo connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Bilflo integration FAQ
What can you do with the Bilflo integration?
LiveContext exposes 53 operations on Bilflo, covering client, contact, address and contract job.
