Intuit TurboTax

Undeclared developer

Intuit TurboTax

Refund estimates and live help

Finance

ChatGPT

First seen

Dec 22, 2025

58

Score

Tools & actions

Current tool inventory

5 actions

Actions

5

Templates

5

Auth used

None

tax_expert_connect.book_appointment

Render

PUBLIC WRITE Open world Destructive Use this when the user wants to book an appointment with a tax expert they've viewed. REQUIRES a prior expert_search call in this conversation. REQUIRED WORKFLOW: 1. expert_search must have been called first 2. From the search response's structuredContent, extract: - search_id (from structuredContent.search_id) - id (from structuredContent.experts[].id for the chosen expert) - availability_id (from structuredContent.experts[].closest_availability[].slots[].id for the time slot) 3. Collect from user: - first_name: User's first name - last_name: User's last name - phone_number: User's phone number (should be numbers only - you can remove formatting characters like +, -, ., spaces, or parentheses before passing) - email: User's email address 4. MANDATORY CONFIRMATION - You MUST explicitly confirm ALL booking details with the user and wait for their response: Display these details clearly: - Name (first and last) - Phone number - Email address - Expert name - Date and time of appointment Then ask: 'Please confirm these details are correct before I proceed with the booking.' 5. Only after user explicitly confirms (e.g., 'yes', 'looks good', 'confirm'), call this tool CRITICAL RULES: - NEVER skip the confirmation step - you MUST always confirm details and wait for user response before booking - ONLY use search_id, id, and availability_id from expert_search's structuredContent - NEVER make up or guess these values - NEVER show IDs (search_id, availability_id, etc.) to the user in conversation - If you don't have a recent expert_search result, call expert_search first - The availability_id must be from the specific time slot the user wants to book RETRY BEHAVIOR: - If the booking did not go through for any reason and the user wants to retry, you MAY retry the booking with the same parameters or different parameters DO NOT use this tool for: - Searching for experts (use expert_search instead) - Modifying or canceling bookings

Visibility

public

Widget access

true

Labels

No labels declared

tax_expert_connect.expert_availability

Render

Fetch detailed availability for a specific expert. Use this tool when a user wants to see more time slots for an expert or schedule an appointment at a specific time. PARAMETERS: - search_id: REQUIRED. The search_id from the previous expert_search call - date: Optional date filter (YYYY-MM-DD). If not provided, returns all available slots RETURNS: - Expert basic info (name, photo, rating, experience) - Available time slots grouped by date - Widget UI for slot selection IMPORTANT: - DO NOT list specific times or time slots in your response to the user - DO NOT show internal IDs (search_id, availability_id, etc.) to the user - Let the widget display all time options interactively - Simply tell the user to select a time from the widget

Visibility

public

Widget access

true

Labels

Read

tax_expert_connect.expert_search

Render

Use this tool when the user wants help with their taxes or wants to find, search or to connect with a tax expert. When invoked, display expert profiles with a single available time slot. **ConnectIntent Determination Rules** * First, call expert_search() without connect_intent parameter to discover available options * ONLY provide this parameter if you receive a validation error asking you to choose between options. * If you receive a validation error listing the available options, then present these options to the user and ask them to choose * After user selects an option, follow the next steps based on their selection. * If the user explicitly states they want to "book appointment", "schedule", or similar then use connect_intent='Book Appointment'. * If the user explicitly states they want to "connect now", "talk now", or similar then use connect_intent='Connect Now'. **After user selects connect_intent:** - If user selected 'Connect Now': Call expert_search(connect_intent='Connect Now') **ONLY IF user selected 'Book Appointment', ask about their tax situation BEFORE calling the tool:** When user selects 'Book Appointment', ask them to select one or more tax situations. Present the following list as clear selectable options: - "Job (W-2)" - "Self-employed/freelance" - "Sold stock" - "Sold crypto" - "Retirement income" - "Multiple states" - "Rental properties" - "Other income" Then call expert_search with both connect_intent='Book Appointment' AND the selected tax situations. IMPORTANT: Tax situations are NOT required for "Connect Now" option. - **Timezone parameter rules** - NEVER guess or invent a timezone. - ONLY ask this parameter if you receive a validation error saying timezone is missing. When you do receive that error, then ask the user for their timezone and retry with the timezone parameter. — Ask the user for their timezone in a user-friendly way ("What's your timezone?" or "What city are you in?"). — The user may answer in any format. YOU must convert it to a valid IANA timezone string for the tool parameter. WHEN NOT TO USE THIS TOOL: - The user clicks "More times" → use `tax_expert_connect.expert_availability` instead. - The user says "see more times" or "show more availability" → use `tax_expert_connect.expert_availability`. - The user wants all available slots for a specific expert → use `tax_expert_connect.expert_availability`. - The user is asking general questions about taxes, deductions, forms, timelines, rules, or strategies. - DO NOT use this tool for General tax questions, Filing returns, Tax calculations. ALLOWED TOOL INVOCATION CONDITIONS: - If connect_intent='Book Appointment': The user MUST have selected one or more tax situations from the required list. - If connect_intent='Connect Now': Tax situations are NOT required. You may call the tool without tax situations. - The user is not asking for more times, more availability, or detailed scheduling for a specific expert. **If any of these conditions are missing, incomplete, or ambiguous: DO NOT CALL THE TOOL. Ask the necessary questions to the user instead.**

Visibility

public

Widget access

true

Labels

Read

tax.tax-estimate

Render

IMPORTANT: Only tax year 2025 estimates are supported. If the user asks for a different tax year, inform them that only 2025 estimates are currently available. USE THIS WHEN - the user explicitly requests a US federal tax estimate, refund or amount owed and required minimum info is provided. - If unclear or incomplete, ask clarifying questions before invoking. MINIMUM INFO - Filing status, confirm MFJ vs MFS - Age - Income and withholdings details - If filing status is MFJ or MFS, ask for spouse income and withholdings details. - Whether the tax payer can be claimed as a dependent on another person's tax return. CRITICAL BEHAVIORS (MUST FOLLOW): - **DO NOT USE WORLD KNOWLEDGE OR MAKE ASSUMPTIONS. USE ONLY THE CONTENT PROVIDED IN THE TOOL DESCRIPTION.** - Do NOT ask the user for the standard deduction amount. This is automatically calculated based on filing status. If its provided, ignore it. DO NOT INVOKE - For general tax questions, non-calculation requests, or when the user declines an estimate. PRIOR ESTIMATES - If a prior estimate exists and inputs haven't changed, reference it. Invoke only if values change or the user requests recalculation. INVOCATION RULES - Do NOT ask the user for the standard deduction amount. This is automatically calculated based on filing status. If its provided, ignore it. - Use only user-provided fields. Omit keys entirely if not provided. Do not send null, empty strings, or 0 unless the user stated 0 explicitly. - Do not invent values. Only pass fields the user provided. Don't pick values from examples. - Accept $ and commas; strip formatting before sending. Preserve cents when provided. - Do not annualize per-paycheck or monthly amounts unless the user provides frequency and you confirm conversion. - Use the latest values; ask if user is providing conflicting information. AFTER INVOKING - After invoking, use the tool response as a driver for follow-up questions. - The tool response includes follow-up questions. ALWAYS ask all the follow-up questions. They are NOT OPTIONAL. - ALWAYS suggest the next_actions included in the tool response. - Do not modify the tool’s call-to-action text or link and any other returned values. - Present the summary and offer to re-run if inputs change. - The needs follow up status is included in the tool response. If it is "needs_follow_up", then ask all the follow-up questions and suggest the next actions also.

Visibility

public

Widget access

true

Labels

Write

tax.tax-filing-options

Render

Use this when user expresses intent to start filing, file taxes, or wants to know filing options. Display TurboTax filing options to help users choose how to file their taxes. Shows DIY, Expert Review, and Full Service options in a carousel format with features and call-to-action buttons. Post-Invocation Guidelines After the carousel is rendered, you must strictly present the next_actions provided in the tool's JSON response that lead to a tax expert consultation for personalized advice

Visibility

public

Widget access

true

Labels

Read