69 ways to look things up and 132 ways to change records. The full wording each assistant reads is in /llms.txt. A good assistant asks before it changes anything. Moving a stage, booking an appointment or creating a job runs your company's own Hodos automations, the same as doing it in the app.
Read the Hodos agent rulesread_hodos_rules
Your company's rules for how an agent works in Hodos: how to write notes, tasks, job updates, emails, and texts.
Search contactssearch_contacts
Find people in the CRM by name, phone, or email.
Search jobssearch_jobs
Find jobs by name, pipeline stage group, ownership, or outcome (open by default; won, lost and cancelled jobs are reachable with outcome).
Get job detailget_job
One job in full: stage and how long it has been there, the customer, the insurance claim if there is one, open tasks, and the checklist of what this stage still needs before the job can move forward.
List my taskslist_my_tasks
Tasks assigned to the signed-in rep that are due today or overdue, or due within the next seven days.
List my appointmentslist_my_appointments
Appointments booked for the signed-in rep today, or across the next seven days.
Pipeline summarypipeline_summary
How many open jobs sit in each pipeline stage and what they are worth in total.
Find documentsfind_documents
The paperwork filed on one job or one contact, with each document's plain-language summary and the kind it is filed under.
Read job notesread_job_notes
Everything said about one job, newest first: the notes people wrote (a reply names the note it answers in replyTo), the homeowner's own messages already on the record, and logged calls, alongside what happened to the job.
Get contact detailget_contact
One contact in full: phone, email, address, and the jobs they are on (as the main customer or in another role).
List pipelines and stageslist_pipelines
Every pipeline (workflow) in the company and its stages in order, with the ids change_job_stage and create_job need.
List teammateslist_team
The active people in the company with their role, so a task or appointment can name who it is for.
List taskslist_tasks
Tasks across the company that the rep can see, filtered by job, contact, who they are assigned to, and whether they are open or done.
Find insurance claimsfind_claims
Insurance claims by claim number or carrier, with the job each belongs to.
List a job's fileslist_job_files
Every file on one job, photos included, with name, folder, kind, size, and contentSha256 (the stored bytes' fingerprint, when Hodos has one; the same value means an exact copy).
Get a file download linkget_file_link
A private download link for one file, good for 10 minutes.
List invoiceslist_invoices
Invoices on one job, or the company's open invoices when no job is named: number, status, total, what is still owed, and due date.
List payments on a joblist_payments
Money received on one job, newest first: amount, what it was for (deductible, ACV check, supplement and so on), how it was paid, the date, the receipt and check numbers, and the invoice it went to.
List contracts on a joblist_contracts
The contracts and agreements on one job, newest first: what kind each is, where it stands (draft, waiting on the rep, waiting on the homeowner, partly signed, completed, voided or replaced), and who has signed and when.
Get roof measurementsget_measurements
The roof measurements on one job, one per roof: squares, roof area, pitch, waste, and the ridge, hip, valley, eave, rake and flashing lengths, with where they came from (EagleView, Hover, GAF, manual and others) and whether the report is ready.
See how a job pays outget_job_payout
How one job's profit is split: the overhead percent taken off the contract first, then each person's percent of the profit that is left.
See a job's estimates, invoice lines, supplements, and costsget_job_money
The ids and amounts the money write tools need for one job: its estimates with their lines, the lines on its invoices, its supplements, its cost entries and budget lines, and its open online-payment flags for the office.
See which payment types a job can recordlist_payment_types
The payment types record_payment accepts for one job, the same list as Log payment on the job.
Get one taskget_task
One task by its exact id (from list_tasks or list_my_tasks), as Hodos holds it now: title, job or contact it is on, whether it is done, when it was finished and by whom, and when it last changed.
Read what a customer wroteread_conversation
The newest email and text messages with one customer, both directions, so you can see how they replied.
List callslist_calls
Recent calls the rep can see, newest first: who, when, direction, outcome, length, and the AI call summary when there is one.
List the rep's notificationslist_notifications
What is in the rep's bell right now: new tasks and jobs assigned to them, mentions, and customer texts and emails waiting on them, newest first, with unread flagged.
List the kinds of record Hodos holdslist_record_types
Every kind of record you can read with read_records, grouped (jobs, contacts, money, claims, documents and photos, messages and calls, calendar and tasks, company setup, storms and canvassing, activity), each with what it holds and the columns that usually narrow it.
Read records of any kindread_records
Read one kind of record from Hodos (see list_record_types), newest first, with filters and paging: for example type files with a job_id filter, or type invoices with status eq open.
Job briefjob_brief
Read a compact job brief from the screens the signed-in person can see.
My daymy_day
Read the signed-in person's due tasks, appointments, customer replies waiting, and unread notification bell count.
Find recordsfind
Search visible jobs, contacts, addresses, and claim numbers in one read-only request.
Get job insuranceget_job_insurance
Read the canonical claim and evidence for an insurance job.
Get money overviewget_money_overview
Read a bounded canonical personal or company money view.
List inboxlist_inbox
List bounded inbox threads, or read one thread's bounded message history, without changing read state.
Get job timelineget_job_timeline
Read one canonical page of visible job activity.
Get job estimatesget_job_estimates
Read canonical saved estimate headers and one selected version.
List job paperworklist_job_paperwork
Read a bounded canonical page of job paperwork.
Get homeget_home
Read the same canonical home sections visible to the caller.
Read company settingsread_company_settings
Read one canonical company settings catalog without running settings actions.
Get contact relationshipsget_contact_relationships
Read the canonical visible people and projects related to one person or project.
Get contact referralsget_contact_referrals
Read a visible contact's referred jobs.
Get production work orderget_production_work_order
Read one canonical visible production work order without exposing production actions.
Get job contactsget_job_contacts
Read the same active contact relationships visible on a staging project.
List projects moneylist_projects_money
Read a bounded page of the canonical staging Money projection for the caller's role.
List productionlist_production
Read a bounded page of visible staging production work orders and their materials.
Read job team chatread_job_team_chat
Read the canonical bounded internal team chat without changing message read state.
See a job's folders, current scope and share linksget_job_folders
One job's file setup: the company's Documents folder layout, folders the team made on this job, its photo folders with the photo ids in each, which file is the current scope of loss, and the share links still open (ids for turn_off_share_link).
Find copies of a file on a jobfind_duplicate_files
Which files on a job are byte-for-byte the same file, by the contentSha256 list_job_files gives, the same check the app runs before an upload.
See which of a job's files came by emaillist_job_email_files
Which of a job's files arrived on, or went out with, an email filed to the job, and (for admins) the PDFs on those emails not added to the job yet, with whether someone chose Don't add.
Read a contract draft's questions and answersget_contract_draft
The questions a draft contract or agreement asks, by step, and the answers filled in so far, with the revision edit_contract_draft needs.
See a job's open signing linkslist_signing_links
Who on a job's paperwork is still waiting to sign, and when each signing link expires, the same as the paperwork hub's waiting list.
Read a payment's receipt and void stateget_payment_details
One recorded payment's receipt (number, amount, method, who paid) and whether it can be voided or already was, the same as its receipt and Void button.
Read an invoice's payment scheduleget_invoice_payment_schedule
The scheduled payments on one invoice and which are paid, the same as the invoice's schedule.
See where a job came fromget_job_origin
Where a job came from (door knock, call, referral, import and so on), the same as the job's origin line.
Look up a door on the mapfind_property
One property (door) on the map, by id or by the point nearest a latitude and longitude, with its recent knocks and notes and the company's door statuses.
List the doors knocked in a date rangelist_knocked_doors
The doors knocked between two dates, for every rep or one, the same as the map's Knocked filter.
Read storms, hail reports and storm marginget_storm_info
Storm reads beside hail_at_address: the storm history and active warnings at a point, the live hail reports since a date, the storm margin areas for one storm, or the hail photos inside a map box.
See where the team isget_team_locations
Admins only, as on the map's Team layer: each active rep's latest location, or one rep's trail.
Read trash, record numbers, access profiles and connectionsget_settings_info
Read-only admin views: the trash (deleted jobs and contacts that can be restored), the record number counters, the access profiles and their permissions, which outside connections are set up, and whether the old-data path is ready.
Read email recipients, a job's email activity, drafts, or search sendersget_email_details
Read-only.
Read leaderboards, call reports and appointment historyget_reports
Read-only.
Read my crew's work ordersmy_crew_work
For a crew member: the work orders and jobs their crew is on, 50 to a page, or one work order's instructions, checklist and photos, the same as the crew's work list in the app.
Read the text inside a fileread_file_text
The written text of one PDF, Word (.docx) or text file on a job or contact, read page by page: use it to answer from the real estimate, scope, report or letter instead of its summary.
Download a file's bytes in piecesdownload_file_chunk
The stored bytes of any file on a job or contact, up to 1 MiB per call as base64 in contentBase64, so a file of any type or size (photos including HEIC, PDFs, Word and spreadsheets, video) can be fetched and put back together.
Look at a photoview_file_image
Returns one photo from a job as an image you can look at, shrunk to fit (long edge 1,568 pixels by default, up to 2,048) so large originals work.
Check hail at an addresshail_at_address
Read Hodos storm history for a job address or a typed US street address.
Preview an email to a customerpreview_email
Get the exact saved address, subject, and body a send_email would use, without sending anything.
Preview a text to a customerpreview_text
Get the exact text and phone number a send_text would use, without sending anything.
Add an internal job noteadd_job_note
Write one internal note onto a job's timeline.
Edit a note you wroteedit_note
Replace the words of a note the signed-in rep wrote, using a note id from read_job_notes.
Delete a note you wrotedelete_note
Delete one note the signed-in rep wrote, using a note id from read_job_notes.
Post in a job's team chatpost_job_team_chat
Post one message in a job's team chat, the team-only conversation on the job (read it with read_job_team_chat).
Start or add to a team chatstart_team_chat
Open a direct team chat with teammates (ids from list_team), the same as starting a chat in the Inbox, or add people to an existing team chat by passing its thread_id.
Post in a team chatpost_team_chat_message
Post one message in an internal team chat in the Inbox, using a thread id from list_inbox or start_team_chat.
Set a job's main contactset_job_primary_contact
Make one contact the job's main contact, the same as choosing the client on the job page.
Delete a job or contact (to Trash)move_to_trash
Move a job or contact to Trash, the same as Delete on the record in the app.
Bring back a deleted job or contactrestore_from_trash
Restore a job or contact from Trash, the same as Restore in Settings, Trash.
Archive or unarchive a jobarchive_job
Archive a job off the board, or bring an archived one back with restore true, the same as Archive project on the board.
File a call on a joblink_call_to_job
File one call (ids from list_calls) on a job, move it to another job, or take it off its job with job_id null, the same as the job picker on a call.
Fill in a custom fieldset_custom_field
Set one of the company's custom fields on a job or contact, the same as editing it in the record's details.
Edit a job's detailsupdate_job
Change details on one job the rep can see: its name, street address, city, state, ZIP, priority, value in dollars, date of loss, description, trades, lead source, start and end dates, referrer, and tags.
Edit a job's insurance claimupdate_job_claim
Set or fix insurance claim details on a visible job.
Edit a contact's detailsupdate_contact
Change details on one contact the rep can see: person/company kind, first and last name, display name, phone (a US number), email, street address, city, state, ZIP, tags, lead source, source detail, and referral partner status.
Finish, edit, reassign, or archive a taskupdate_task
Work on one existing task (ids from list_tasks or list_my_tasks).
Reschedule, reassign, edit, or cancel an appointmentupdate_appointment
Change one existing appointment (ids from list_my_appointments or get_job).
Create a taskcreate_task
Create one task, assigned to the signed-in rep unless assignee_ids names teammates (ids from list_team), optionally attached to a job or a contact.
Log an activitylog_activity
Record that something already happened on a job: a site visit, a call that took place outside Hodos, an adjuster meeting.
Archive photos and documentsarchive_files
Move up to 50 of a job's photos, videos, or documents into its Archived folder, the same as Archive in the app.
Restore archived photos and documentsrestore_files
Move up to 50 archived photos, videos, or documents back out of Archived, the same as Move out of Archived in the app.
Move documents to a foldermove_files
Move up to 50 of a job's documents into one of its folders, the same as Move to in the app.
Add an internal contact noteadd_contact_note
Write one internal note onto a contact's timeline, for a person with no job yet or a fact about the person rather than a job.
Book an appointmentbook_appointment
Put an appointment on the Hodos calendar for a job, a contact, or a personal Meeting with no client.
Move a job to another stagechange_job_stage
Move a job to a different stage, in its own pipeline or in another one (the app's Move to pipeline).
Add a contactcreate_contact
Add a new person to Hodos.
Create a jobcreate_job
Open a new job for an existing contact in one of the company's pipelines.
Add a person to a jobadd_contact_to_job
Put another person on a job, such as a spouse, tenant, adjuster, or insurance agent, with their role.
Create an invoicecreate_invoice
Create a one-line invoice on a job that has none yet.
Add a charge to an invoiceadd_invoice_charge
Add a line to a job's contract invoice: a charge on a retail job, or a supplement on an insurance job.
Record a payment receivedrecord_payment
Record money a job has already received, the same as Log payment on the job in the app.
Set how a job pays outset_job_payout
Set one job's payout split by hand, the same as the Payout editor on the job.
Assign people to a jobassign_job_people
Change who is on a job's team, the same as the Team block on the job.
Start a draft estimatecreate_estimate
Start a blank draft estimate on a job, the same as New estimate on the job.
Edit an estimate's linesupdate_estimate_lines
Add, change, or remove lines on a draft estimate in one step, the same edits the estimate screen makes.
Mark an estimate declineddecline_estimate
Record that the customer turned an estimate down, the same as Decline on the estimate.
Delete a draft estimatedelete_draft_estimate
Delete an estimate that was never sent, the same as Delete draft on the estimate.
Remove an added charge from an invoiceremove_invoice_charge
Take a charge or supplement line that was added to a job's contract invoice back off, the same as Remove on that line.
Apply a recorded payment to an invoiceapply_payment_to_invoice
Count a payment the company already recorded (see list_payments) toward an invoice, the same as Apply payment on the invoice.
Give an invoice a creditadd_invoice_credit
Admins only.
Add a cost to a jobadd_job_cost
Add a cost the company paid on a job, the same as Add cost on the job's money tab.
Remove a cost from a jobremove_job_cost
Delete a cost entry from a job, the same as Remove on the cost.
Update a supplement's statusupdate_supplement
Move a supplement through its stages on the job: draft, submitted, approved, partial, or denied, the same as the supplement screen.
Change a payment's noteset_payment_note
Write or clear the note on a recorded payment, the same as the note on its receipt.
Void a recorded paymentvoid_payment
Void a payment someone logged by hand (check, cash and the like) with a reason, the same as Void on the payment.
Bill a side jobcreate_side_job_invoice
Start a separate bill on a job for extra work outside the contract, the same as Side Job on Make Payment Link.
Turn a signed estimate into an invoiceconvert_estimate_to_invoice
Make the invoice for an estimate the customer already signed, the same as Create invoice on that estimate.
Edit the lines of a draft invoiceedit_invoice_lines
Add, change or remove lines on a draft invoice the rep made by hand, the same as the Items list on that invoice.
Add a budget line to a jobadd_budget_line
Plan what a job should cost, one line at a time, the same as Add budget line on the Budget screen.
Mark a job cost paid or unpaidmark_job_cost_paid
Record that the company paid a cost on a job, or take that back with a reason, the same as Paid on the cost.
Mark a job's costs completeset_job_costs_complete
Say every cost on a job is in, or open it back up, the same as Costs complete on the job's money tab.
Mark a payout paid or unpaidmark_payout_paid
Admins only.
Mark an online payment flag handledresolve_payment_flag
Clear a flag an online payment raised for the office (for example money that could not be matched), the same as Handled on the flag.
Undo a supplement approval read from an emailundo_supplement_email_approval
Take back a supplement approval Hodos filed from a carrier's email, the same as Undo on that approval card.
Void a contractvoid_contract
Void a job's contract with a reason, the same as Void on the contract.
Tell the office what you could not doreport_gap
Use this when the rep asks for something this connector cannot do, or a tool fails in a way the rep cannot fix.
Mark a task done or not doneset_task_done
Set one task (exact id from list_tasks, list_my_tasks, or get_task) to done true or done false.
Skip or bring back an emailed PDFset_email_pdf_dismissed
Don't add, or Bring back, a PDF from an email filed to the job, the same as on the job's Documents.
Make, rename or remove a job's document folderedit_document_folder
Make a new folder on a job's Documents, rename one the team made, or remove one, the same as the folder menu in the app.
Put documents in a made folderput_files_in_folder
Put up to 50 of a job's documents in a folder the team made, or take them out of it with folder_id left out, the same as dragging a file in or out of that folder in the app.
Make, rename or remove a job's photo folderedit_photo_folder
Make a new photo folder on a job, rename one, or remove one, the same as the folder menu on the job's Photos.
Move photos into or out of a photo foldermove_photos_to_folder
Put up to 50 of a job's photos in one of its photo folders, or take them out of every folder with folder_id left out, the same as Move to folder on the job's Photos.
File a photo under an inspection shotrefile_inspection_photo
File one of a job's photos under a shot of its inspection, or back to Unsorted with shot_id left out, the same as Move to on the job's Photos.
Make a file the current scope of lossmake_current_scope
Mark one of a job's files as the current scope of loss, the same as Make current SOL on its Documents.
Delete a job's photos, videos or documentsdelete_files
Admins only, as in the app: reps archive with archive_files instead.
Make a private share linkmake_share_link
Make a private link the rep can copy and send themselves, the same as Share in the app: job_page opens the job's page for a homeowner or a sub (ends in 7, 14 or 30 days), document opens one file (14 days), photos opens chosen photos or all of the job's photos (30 days), photo_folder opens one photo folder as an album (7, 30 or 90 days, or never).
Turn off a share linkturn_off_share_link
Stop a share link from opening, the same as Revoke in the app.
Start a material ordercreate_material_order
Start a draft material order on a job, the same as New material order: empty, with lines, from a signed estimate, or for one trade's work order (work_order_id).
Edit a draft material orderedit_material_order
Change a draft material order's delivery date or notes, and add, change or remove its lines, the same as the order's editor.
Move a material order to its next statusmove_material_order
Move a material order one step: draft to submitted, submitted to confirmed, confirmed to delivered, the same as the order's status button.
Hand a material order to a trade's work orderlink_material_order_to_work_order
Tie a material order already on the job to one trade's work order, or take it off with work_order_id left out, the same as using a spare order for a trade on the Production tab.
Turn a signed estimate into a work ordercreate_work_order
Make the work order for a signed estimate, the same as Create work order in the production handoff.
Tick a work order checklist item or answer its formupdate_work_order_checklist
On a work order: attach a photo to a checklist item (which marks it done) or take it off, or answer one question on one of its forms, the same as the work order page.
Choose which trades on a carrier scope the contract coversset_scope_trades
Take trades of the carrier's scope of loss off the contract, or put them back, the same as the trade ticks on the scope card.
Add a crew or change who is on itmanage_crew
Admins only, as in the app.
Record a crew's insurance policyset_crew_insurance
Admins only.
Add a subcontractorcreate_subcontractor
Admins only.
Change a subcontractor's details or paperworkedit_subcontractor
Admins only.
Start a job's estimatestart_estimate
Start an empty estimate on a job, retail or insurance, the same as Start estimate on the job.
Go back to an earlier estimate versionrestore_estimate_version
Make an earlier version of an estimate the newest one again, the same as Restore in the estimate's versions list.
Make a proposal linkmake_proposal_link
Make the homeowner's link to an estimate's proposal, the same as Copy link in the estimate editor.
Start a contract or agreement draftcreate_contract_draft
Start a draft contract or other agreement on a job, the same as New contract, or the contract for a retail estimate the homeowner accepted (estimate_id).
Fill in a contract draftedit_contract_draft
Set answers on a draft contract or agreement, by the field ids get_contract_draft lists, the same as typing them in the contract editor.
Replace a contract with a new draftreplace_contract
Replace a contract that is out for signing with a fresh draft carrying the same answers, the same as Replace on its signing review.
Edit a draft supplementedit_supplement
Change one line of a draft supplement (quantity, price, reason, or whether it is included) or its letter, the same as the supplement panel.
Add or change a supplement ruleedit_supplement_rule
Admins only.
Save a custom contract section for the companysave_contract_section
Put a custom contract section on the company's saved list, or refresh the wording of the one saved under that title, the same as Save for company in the contract editor.
Track a claim's checks and mortgageupdate_claim_money
On a job's claim money card: say whether the claim has a mortgage company, when depreciation was requested, and add, change or remove a carrier check still coming or paid to the homeowner.
Undo a stage move a carrier scope email madeundo_scope_email_stage_move
Put a job back where it was after Hodos moved it on its own because a carrier scope arrived by email, the same as Undo on that line of the job's history.
Reset a job's payout or set the value it pays onchange_job_payout
Admins only, as in the app.
Approve or reject a bill's costsreview_cost_document
Approve a bill or receipt filed on a job and post its cost lines, or reject it, the same as Review on the job's costs.
Start a guided inspectionstart_inspection
Start a guided inspection on a job (quick_inspect or roof_claim), the same as Start inspection on the job.
Skip a section of an inspectionskip_inspection_section
Mark one section of an open guided inspection as skipped, with the reason the office sees, the same as Skip on the phone.
Finish a guided inspectioncomplete_inspection
Finish an open guided inspection, the same as Finish in the inspection.
Type in a roof's measurementssave_roof_measurements
Set a roof's measurements by hand, the same as the manual measurements editor: squares, eave, ridge, valley, rake and hip linear feet, and waste percent.
Drop a door pin on the mapdrop_map_pin
Put a new door on the map at a point, the same as dropping a pin.
Edit a door's homeowner or addressedit_property
Change a door's homeowner name, phone or email, the same as the door's details.
Archive or delete a doorremove_property
Archive a door so it leaves the map for everyone (restorable from Leads, Archived), or, admins only, delete doors that have no knocks or linked records, the same as in the app.
Log a door knock or a door notelog_door_knock
Record a knock at a door with its status (ids from find_property statuses) and an optional note, or add a note alone, the same as the door panel.
Book an inspection from a doorbook_door_inspection
Book an inspection at a door, the same as Book on the phone's door sheet: it adds the homeowner as a contact, opens a job (or uses existing_job_id), and books the appointment.
Set a follow-up at a doorrecord_door_follow_up
Save the homeowner at a door and when to come back, the same as Follow up on the phone's door sheet.
Open a job from a door or an addressdoor_job
Make a job from a door (property_id), the same as Convert to job on the map, or from a typed address, the same as Create job on an address's hail panel; or put an existing job on a door (link_job_id); or start a door inspection, which opens the job and its inspection together.
Draw, rename, assign or delete a territoryedit_territory
Admins only, as in the app.
Watch an address, or stop watchingwatch_address
Put a door, or a job's or contact's address, on the rep's watchlist with a reason and when to revisit (after the next storm, 30 or 90 days), the same as Watch; or stop a watch.
Refresh a storm alert, or delete a hail photoupdate_storm_alert_or_hail_photo
Recount a storm alert's doors and jobs, the same as Refresh on the alert; or delete a hail photo pin the rep took (admins can delete any), the same as Delete on the photo.
Change pipelines and their stagesedit_pipeline_settings
Admins only.
Add, change, reorder or delete a door statusedit_door_status
Admins only.
List the company's inspection checklistslist_inspection_checklists
Admins only.
Change an inspection checklistedit_inspection_checklist
Admins only.
Change the roof claim photo checklistedit_photo_checklist
Admins only.
Add, change or remove an estimate template lineedit_estimate_template_line
Admins only.
Start, change, end or delete a competitionedit_competition
Admins only.
Review and publish contract wording and the company profilemanage_contract_publication
Admins only, from Settings, Contract templates.
Draft an automation or test it on a jobedit_automation
Admins only.
Change or remove the company logoset_company_logo
Admins only.
Remove an imported batch of doorsdelete_import_batch
Admins only.
Pin or unpin a message in a conversationpin_message
Pin one message to the top of a conversation, or unpin it (message_id null), the same as Pin in the inbox.
See, clear or put back Needs Replyneeds_reply
list shows who is waiting on a reply; done takes one off Needs Reply without answering, the same as Done in the inbox; restore puts it back.
Stop a text that has not gone outcancel_unsent_text
Cancel a text still waiting to send (for example held for quiet hours), the same as Cancel on that message.
Open a text thread or hand a customer to a teammateconversation_owner
open finds or opens the text thread for a contact (and job), the same as opening their conversation, and sends nothing.
Review which job an email belongs toemail_job_matches
Admins only, the same as the inbox's match review.
Link calls to a contact or job, mark spam or admin-onlycall_records
Records only, no dialing.
Read a call's summary or confirm its follow-up taskcall_follow_up
intelligence reads a call's summary and suggested follow-up; receipt reads the follow-up already saved; confirm saves the follow-up task the rep agreed to, the same as Confirm on the call.
Find and merge duplicate jobs or contactsmerge_duplicates
Admins only.
Make an invoice pay linkmake_pay_link
Make a pay link for an invoice the rep can see.
Email a customersend_email
Email one contact through the same guarded Hodos sender as the Inbox.
Text a customersend_text
Text one contact from the rep's own Hodos number, the same as sending from the Hodos inbox.
Add a file to a jobupload_job_file
Attach one file (for example a PDF estimate the rep just made) to a job's files, the same as Upload in the app, so it shows on web and phone.
Add an emailed PDF to a job's filesadd_email_pdf_to_job
Add to files on a PDF from an email filed to the job, the same as on the job's Documents.
Prepare an original job file uploadprepare_job_file_upload
Use for files larger than 3 MiB, instead of sending the original in one MCP request.
Upload one original file partupload_job_file_chunk
Send one consecutive part from prepare_job_file_upload, indexed from zero, as base64 without whitespace or a data: prefix.
Verify and register an original job filefinalize_job_file_upload
Call after every part of prepare_job_file_upload has been received.