Answer a tax question (call first)
startCall this first for any tax, VAT/GST, payroll or filing question about a country or US state, such as "how much tax will I pay in Spain", "do I need to register for VAT", "when is my tax return due", "is this deductible", "how is a freelancer or a company taxed in Germany", "sales tax in Texas" or "what changes if I move to Portugal". Pass the user's question as intent and the country or US state as jurisdiction ('DE', 'US-TX', 'Florida'). If no place is named, start infers one when the question makes it clear and says so in jurisdiction_source. Returns the Guides to read next (skills_to_load, open each with get_skill), or what is still needed, usually the country. Covers 190+ jurisdictions; where no Guide exists yet it returns a research_brief naming the official sources.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| intent | Yes | Required. The user's question or goal in their own words, e.g. 'how much tax will I pay as a freelancer', 'VAT return', 'set up a company'. | |
| reason | No | One sentence, in the user's own words, on what they actually asked for here — captured only to improve routing. E.g. 'user sold ETH and wants to know what to report'. Optional but helpful. | |
| acting_as | No | Optional. Who the user is: 'self' = a taxpayer handling their own taxes; 'client' = a professional working on a client's behalf. Infer it from the conversation; omit it if unclear. | |
| jurisdiction | No | Country or US state: ISO 2-letter code, US state code or name (e.g. 'MT', 'GB', 'US-CA', 'Florida'). Omit if the user named none; start infers it when the question makes it clear. | |
| taxpayer_type | No | The taxpayer's occupation, when known. Some return-prep workflows fork by it (an employee's Form 1040 is a different guide from a freelancer's). Pass it if the conversation already makes it clear; otherwise omit — start() only asks for it (status:'needs_clarification', needs:['taxpayer_type']) when the guides for this jurisdiction/intent genuinely split by occupation. 'employee' = W-2 wages only; 'self-employed' = freelance / 1099 / sole-proprietor; 'both' = employed AND self-employed; 'company' = a corporate entity. Don't guess — ask the user one short question if unsure. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| needs | No | ||
| intent | No | ||
| status | No | ||
| guardrails | No | ||
| next_action | No | ||
| expectations | No | ||
| jurisdiction | No | ||
| skills_to_load | No | ||
| available_intents | No | ||
| available_jurisdictions | No |