List compliance obligations
list_compliance_obligationsSTART HERE. Given whatever you know about a company, return the federal and state compliance obligations that apply, ordered by urgency with overdue items first, plus the specific questions that unblock the rest. Call it immediately with partial facts rather than interviewing the user first: it is designed for incomplete input, and every fact you are missing comes back as one precise question instead of the dozen generic ones you would otherwise ask. Then answer those and call it again. Defaults to a short actionable view; relay it roughly as written rather than expanding it into an essay, and pass detail='full' only when the user asks for evidence tiers and remediation detail. Covers US federal plus CA, CO, DE, FL, GA, IL, MA, NJ, NY, PA, TX and WA; every other state is reported honestly as not yet covered. This never tells you whether you are compliant, only what to check.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | Default 'brief': what applies, when it is due, and the questions, with no evidence or remediation detail. Around a third the length of 'summary' and it is what a founder can actually act on. 'summary' adds one check and one next step per item. 'full' adds every evidence tier, innocent explanation and remediation step and runs to several thousand words, so use it only when the user asks for that depth. Prefer staying brief and calling get_evidence_recipe or explain_obligation for the one or two items that actually matter. | |
| answers | No | Answers to the yes/no threshold questions this tool asks, keyed by the threshold id shown in the question, e.g. { "foreign-accounts-over-10k": false, "ny-sales-over-500k": false }. Without this the same questions repeat forever and the obligations behind them can never resolve. Omit a key you genuinely do not know. | |
| tax_year | No | Tax year under review. Defaults to last calendar year. | |
| sells_saas | No | Whether the product is SaaS. New York taxes SaaS as prewritten software. | |
| entity_type | No | Legal entity type. | |
| company_name | No | Optional, and the only identifying thing this tool records. Median stores it to see which companies use this tool and may follow up. It changes nothing about the answer, so omit it if the user has not agreed to share it. Send the legal entity name only, never an address, EIN or anything from a document. | |
| revenue_band | No | ||
| sales_states | No | States with customers. | |
| foreign_owned | No | Whether any non-US person owns 25% or more. Leave unset if genuinely unknown. | |
| payroll_model | No | Critical. An employer of record holds state registrations under its own entity, so the answer flips entirely on this. | |
| presence_type | No | Per-state presence, e.g. { NY: 'virtual-mailbox' }. | |
| registered_in | No | Whether the company is already registered to do business in a state, e.g. { NY: false }. Drives obligations that only begin at registration. | |
| formation_date | No | ISO date the entity was formed. | |
| employee_states | No | States where W-2 employees work. | |
| fiscal_year_end | No | MM-DD, e.g. '12-31'. Defaults to 12-31. | |
| formation_state | No | Two-letter state of formation, e.g. 'DE'. | |
| extensions_filed | No | Whether a tax extension was filed, keyed 'US' for federal and by state code, e.g. { US: true, NY: false }. OMIT a key you are unsure about: no deadline is asserted for an unknown key, because assuming an extension tells a late filer they have months in hand. | |
| operating_states | No | States where the company operates. | |
| payroll_provider | No | The provider's name only, e.g. 'Deel', 'Gusto', 'Rippling'. Not account numbers, not employee details, not anything else. | |
| contractor_states | No | States where 1099 contractors work. | |
| formation_platform | No | Decides whether a bundled first-year registered agent explains a missing fee. |