Skip to main content
Care jobs are real-world care actions executed by Arlo’s care team after the patient approves them on Arlo’s hosted approval sheet. They are available to US patients. A job moves through these statuses: A job goes from approved to needs_input and back as often as the care team needs.

create_care_job

Creates a request for one patient. The patient reviews the action and verifies it on their device. Give the patient the returned approvalUrl; an agent must not open it. A request waits up to 30 days for the patient’s decision. Each approvalUrl is a signed link that works for about an hour, and every read with get_care_jobs returns a current one, so when the patient says the link expired, read the job again and hand them the new link.

Job details

For an office-directed action, include both provider identity (npi or providerName) and location (city and state); add facility, address, or phone when known. Pass patientId for a dependent. Consent applies to that patient.

Claims jobs

dispute_claim and resolve_billing_issue work from the patient’s connected insurance records:
  • claimId is a claim’s id from get_health_records with section: "claims", for the same patient. A claim that is not in that patient’s records returns CLAIM_NOT_FOUND. If the patient has no connected insurance, offer connect_insurance first.
  • issue is what is wrong, in the patient’s own words.
The approval sheet shows the claim from the patient’s records (provider, date of service, health plan, claim number, billed, plan paid, the patient’s share), never your text. Arlo keeps a copy of the claim with the job so the care team can work it even if the insurance connection later lapses. Formal appeals and refill requests are not offered. They return JOB_TYPE_NOT_AVAILABLE with the list of available job types.

Example request

The result includes status: "pending_approval", approvalUrl, and the job identifier. After handing the link to the patient, call get_care_jobs with its jobId to read the decision and execution record.

get_care_jobs

Lists the account’s care jobs. Jobs waiting on the patient come first and carry needsInput: true, needs (required questions still open), and answerBy. Pending jobs carry a current approvalUrl. Pass optional jobId to return one job with its status and patient-visible audit trail. An approved job includes grantId for the care team to execute under and approvedViaLabel for how the patient verified. The audit trail records care-team steps. The patient sees the same record, with controls to revoke their approval, on the care activity page of their Arlo portal. For a job in needs_input, the single-job form also returns: When the patient mentions Arlo, their care team, or an appointment, referral, or bill Arlo is handling, read get_care_jobs first.

Answering the care team

After approval, the care team may need something from the patient: a member ID, a choice between times the office offered, a photo of a bill. The job then reads status: "needs_input".
  1. Read the open questions with get_care_jobs and the jobId.
  2. Ask the patient every open item in one exchange, using each question as written.
  3. Answer them all in one respond_to_care_job call. Relay only what the patient said; never pick an option or write an answer for them.
The patient can also answer on their portal or on the approval card in their chat app. The first answer to each question wins. Questions that go unanswered expire at their deadline, and the job returns to the care team.

respond_to_care_job

Each answer carries askId and itemId from openItems, plus one of: If you do not hold the file, give the patient the job’s portalUrl; uploading there is the normal path for photos.
The result lists answered, alreadyClosed (items someone else answered first, or questions that closed), rejected (each with an error to fix), and stillNeeded. status returns to approved once every required item is answered.

Learning about changes

  • updates on any result. When something happened on a care job since your last Arlo tool call (the care team asked a question, a job finished), your next tool result carries updates[]: event, jobId, askId where it applies, a one-line summary, and agentInstructions. Updates are delivered once. There is no tool to poll for them; the job itself stays the source of truth.
  • wait_for_reply with jobId. Holds the turn until the job changes, returns at once when the job already needs the patient or is finished, and returns stillWaiting on timeout.
  • Webhooks. Agent runtimes with a registered webhook are woken on every decision, care-team step, question, and completion. See Webhook Tools for the care_job_* event names.