MCP App Store
by KeenEthics
SideKick360 icon

SideKick360

By SideKick360

Get New App Alerts

Overview

Turn your shop data into answers that drive your business. Ask questions, build reports, compare locations, and uncover missed revenue opportunities with SideKick360, right inside ChatGPT.

Tools

dashboard_customer_frequency

ChatGPT
Customers grouped by how many times they visited over the trailing 18 months, from the Sidekick360 dashboard, scoped to the stores your access token permits: "1 visit", "2 visits", "3 visits", and "4+ visits" (the open-ended bucket). Without a segment, returns the count of customers in each bucket (per market) — e.g. to answer "how many 2-visit customers do I have?". Provide a segment to drill in and get the full customer list for that bucket — name, contact info, last visit, last store, visit count, spend, and vehicle count. Note: buckets count visits within the last 18 months, not lifetime visits. For lifecycle segments (Active / High Risk / Lapsed / Lost) use dashboard_customer_segments. Optionally narrow to a single store with store_id; that store must be within your permitted scope.

dashboard_customer_frequency_trend

ChatGPT
Rolling 12-month trend of your repeat customers bucketed by number of visits (1 / 2 / 3 / 4+ visits) from the Sidekick360 dashboard, scoped to the stores your access token permits. Returns, per market: a shared list of month labels plus, for each visit bucket, the per-month customer counts and percentages, with the monthly totals. Use this to see how customer loyalty / repeat-visit behaviour is trending over the last year. This is the TREND version of dashboard_customer_frequency (the point-in-time snapshot with an optional customer drill-down). The window is always the trailing 12 calendar months (there is no period selector). Optionally narrow to a single store with store_id; that store must be within your permitted scope.

dashboard_customer_segment_trend

ChatGPT
Rolling 12-month trend of your customer lifecycle segments (Active / High Risk / Lapsed / Lost) from the Sidekick360 dashboard, scoped to the stores your access token permits. Returns, per market: a shared list of month labels plus, for each segment, the per-month customer counts and percentages, with the monthly totals. Use this to see how the segment mix is shifting over the last year. This is the TREND version of dashboard_customer_segments (which is the point-in-time snapshot with an optional customer drill-down). The window is always the trailing 12 calendar months (there is no period selector). Optionally narrow to a single store with store_id; that store must be within your permitted scope.

dashboard_customer_segments

ChatGPT
Customers grouped by lifecycle segment (recency of last visit), from the Sidekick360 dashboard, scoped to the stores your access token permits: - Active : visited recently - High Risk : starting to slip - Lapsed : overdue for a visit - Lost : long gone Without a segment, returns the count of customers in each segment (per market). Provide a segment to drill in and get the full customer list for it — name, contact info, last visit, last store, visit count, spend, and vehicle count — e.g. segment=Lapsed to list customers who have lapsed. For customers grouped by number of visits instead, use dashboard_customer_frequency. Optionally narrow to a single store with store_id; that store must be within your permitted scope.

dashboard_focus_detail

ChatGPT
Per-store and per-employee drill-down for ONE focus service over the SELECTED period — the "more details" view behind a focus card on the Sidekick360 dashboard, scoped to the stores your access token permits. Pass a service_id (the focus id from dashboard_focuses) and the same period you used there. Returns, per market: the focus's summary for that period (units, spend, gross profit $/%), a per-store breakdown, and a per-employee breakdown (each with the store it belongs to). If the id is not a focus in a market, that market's block is marked found = false. This is the PERIOD-scoped counterpart to dashboard_trend_detail, which gives the same kind of per-service breakdown but always over the trailing 12 months. Use this one when you want the breakdown for a specific week / month / ytd / year / custom range. The period argument selects the window (same as dashboard_focuses): - week / month / ytd / year : the current such period - custom: an arbitrary date range (requires start_date and end_date) Optionally narrow to a single store with store_id; that store must be within your permitted scope. Optionally filter to a single employee with employee_id (the prefixed id from list_employees).

dashboard_focuses

ChatGPT
Performance of your dashboard "focuses" — the services your shop has chosen to track — from the Sidekick360 dashboard, scoped to the stores your access token permits. Each focus is measured in units (how many times that service was performed), with roll-up sales and gross profit, for the selected period versus a comparison period, plus a percentage change. Returns, per market: a per-focus breakdown (focus name, current vs previous units, and the change) sorted by current units, plus roll-up totals (units, sales, gross profit dollars, gross profit percent, and their deltas). If a market has not set up any focuses, no_focuses is true and the focus list is empty. The period argument selects the window and the comparison shown alongside it: - week : current week, compared to the same week last year - month : current month, compared to the previous month - ytd : year-to-date, compared to the same period last year - year : the current month, compared to the same month last year (year-over-year) - custom: an arbitrary date range (requires start_date and end_date); no comparison Optionally narrow to a single store with store_id; that store must be within your permitted scope. Optionally filter to a single employee with employee_id (the prefixed id from list_employees).

dashboard_leaderboard

ChatGPT
The Sidekick360 dashboard leaderboard — a ranking table, scoped to the stores your access token permits. Ranks entities across the full KPI set (invoices, sales, gross profit $/%, customers, average RO, parts, labor, ELR, tires, discounts, supplies, sublet), plus Maintenance Hunter columns and one column per tracked "focus" service. Each KPI includes a change vs the comparison period. The mode argument chooses who is ranked: - store : rank each store - service_advisor : rank each service advisor (writer) - technician : rank each technician The timeframe argument selects the window and the comparison shown alongside it: - week : current week, compared to the same week last year - month : current month, compared to the previous month - ytd : year-to-date, compared to the same period last year - year : the current month, compared to the same month last year (year-over-year) - custom: an arbitrary date range (requires start_date and end_date); no comparison Returns, per market: a columns label map, the ranked rows (each KPI plus its delta), a totals row, the equivalent previous_rows / previous_totals for the comparison period, and the period labels. Optionally narrow to a single store with store_id; that store must be within your permitted scope.

dashboard_maintenance_hunter_performance

ChatGPT
The Sidekick360 dashboard "Maintenance Hunter Performance" card, scoped to the stores your access token permits. Maintenance Hunter (MH) inspects a vehicle's service history at the counter and flags maintenance that is due. This tool reports, for a window: - runs : invoices where Maintenance Hunter was run on the vehicle (MH activity / effort) - opportunities : services flagged as due (due now / due soon / overdue) - conversions : flagged services that were then sold - revenue : revenue captured from those conversions The timeframe argument selects the window: - week : the current week (week-to-date) - month : the current month (month-to-date) - year : the dashboard's "Year" view — the same current-month window as month (the two differ only by comparison basis, which MH does not use) - custom : an arbitrary date range (requires start_date and end_date) Unlike the other dashboard tools, MH performance has NO year-over-year comparison. Returns, per market: the window timeframe_label, headline totals (runs, opportunities, conversions, revenue), a per-store stores breakdown, and a per-employee employees breakdown (service writers, with runs/opportunities/conversions/ revenue). The stores and employees arrays ARE the card's "more details" drill-down — this one tool already includes that breakdown, so there is no separate MH detail tool to call. Optionally narrow to a single store with store_id; that store must be within your permitted scope. Optionally filter to a single employee with employee_id (the prefixed id from list_employees).

dashboard_period_performance

ChatGPT
Key performance metrics for a period, scoped to the stores your access token permits. Returns the same KPIs as the Sidekick360 dashboard (sales, invoices, average spend, unique/new customers, email capture, labor, parts, ELR, gross profit, etc.), broken out per market. The period argument selects the window and the comparison shown alongside it: - week : current week, compared to the same week last year - month : current month, compared to the previous month - ytd : year-to-date, compared to the same period last year - year : the current month, compared to the same month last year (year-over-year) - custom: an arbitrary date range (requires start_date and end_date); no comparison Optionally narrow to a single store with store_id; that store must be within your permitted scope. Optionally filter to a single employee with employee_id (the prefixed id from list_employees).

dashboard_trend_detail

ChatGPT
Detailed 12-month drill-down for a single dashboard "focus" service, from the Sidekick360 dashboard, scoped to the stores your access token permits. Pair this with dashboard_trends: that tool lists your focus services and their ids; pass one id here as service_id to drill in. Returns, per market: a 12-month summary (units, spend, gross profit dollars and percent), a month-by-month breakdown of the same figures, and breakdowns by store and by employee (each employee row includes the store it belongs to). The window is always the trailing 12 calendar months. If the service id is not a focus in a market, that market's block has found set to false. Optionally narrow to a single store with store_id; that store must be within your permitted scope. Optionally filter to a single employee with employee_id (the prefixed id from list_employees).

invoice_detail_data

ChatGPT
Returns the Invoice Detail report's underlying rows as structured JSON so you can analyze invoices directly — no file download. Each row is one invoice (or one line item when include_line_items is true) with full detail: customer identity + contact, vehicle (VIN/plate), financials, and line-item breakdowns. Results are PAGINATED. Pass offset (default 0) and limit (default 100) to page through a market's rows; each market block reports total_rows, returned, and has_more so you know when to fetch the next page. One block is returned PER MARKET your token permits — pass a single in-scope store_id for one clean stream. Same filtering as invoice_detail_report: optional filters (numeric solo filter id or "filter-group-id-{N}"), invoice_type, customer_type, invoice_status, and store_id. The rows contain customer PII — treat the output as sensitive. For aggregate totals only, use invoice_detail_report; for a downloadable XLSX spreadsheet, use invoice_detail_export.

invoice_detail_export

ChatGPT
Returns a LINK to the full Invoice Detail spreadsheet (XLSX) for a date range — one link per market your access token permits. Use this when the user wants the actual rows/spreadsheet (customer, vehicle, VIN/plate, contact info, totals, and optionally every line item). For aggregate numbers only use invoice_detail_report; to read/analyze the rows directly in chat use invoice_detail_data. This tool generates and stores nothing: it points at the existing Sidekick360 web report, which produces the spreadsheet when the link is opened, inside the user's own authenticated web session. No invoice rows or PII are returned here — only URLs. Each market entry gives a report_url (opens the pre-filled report page) and a download_url (the same link with export=1, which streams the XLSX directly). Opening a link requires the user to be signed in to Sidekick360 in their browser. Same filtering as invoice_detail_report: optional filters (numeric solo filter id or "filter-group-id-{N}"), invoice_type, customer_type, invoice_status, and a store_id to narrow which market links are returned (each link opens the market-level report). Set include_line_items to include the per-line-item columns in the exported spreadsheet.

invoice_detail_report

ChatGPT
Financial rollups from the Invoice Detail report for a date range, scoped to the stores your access token permits. Returns the same numbers as the web Invoice Detail report — overall totals plus a per-store breakdown (sales, spend, tax, discount, cost, gross profit $/%, average spend, parts/labor/tires/sublet/supplies) — broken out per market. This returns aggregate rollups ONLY, never the individual invoice rows. To get the full row-level detail (customer, vehicle, line items, etc.), use invoice_detail_data instead. Filters (optional): pass filters as saved-filter references — a numeric solo filter id, or a filter group as "filter-group-id-{N}". The response lists the available_filters for each market so you can discover valid ids; any unrecognized filter is reported back under ignored_filters and otherwise ignored. You may also narrow by invoice_type, customer_type, invoice_status, and a single store_id (which must be within your permitted scope).

list_employees

ChatGPT
Lists the employees your access token is scoped to — the "who can I filter by?" primer for the dashboard tools' optional employee_id argument. Takes no arguments. Returns, per market: the market_id, market_name, and an employees list where each entry is { employee_id, name, store_id, type }. The employee_id is the PREFIXED value the filter expects — sw{store}_{id} for a service writer, tc{store}_{id} for a technician — so pass it straight through to dashboard_period_performance, dashboard_focuses, dashboard_focus_detail, dashboard_trends, dashboard_trend_detail, or dashboard_maintenance_hunter_performance to narrow those reports to one person. Only recently-active employees at the stores your token permits are listed; this tool grants no access and cannot widen your scope.

list_markets

ChatGPT
Lists the markets and stores your access token is scoped to — the "what can I see?" primer for the other tools. Takes no arguments. Returns, per market: the market_id, market_name, and a stores list where each entry is { external_id, name }. Use this first to discover your scope and to map a shop name (e.g. "the Schrock store") to the store external_id that every other tool's optional store_id argument expects. This tool grants no access and reads no shop data — it only names the markets and stores already permitted by your token. It cannot widen your scope.

missed_opportunity_drilldown

ChatGPT
Row-level drill-down behind a service in the missed_opportunity_report: the individual invoices for a given filter (service) and a set of invoice_ids, for one market you name. Pass the market_id of the market, the filter_id of the service, and the invoice_ids you took from that service's block in missed_opportunity_report (e.g. missed_invoice_ids or sold_invoice_ids). Returns per-invoice customer, vehicle, and Maintenance-Hunter-ran details plus an employee_summary. The market_id must be within your permitted scope, and any invoice belonging to a store outside your scope is dropped from the results. Returns customer contact details (name, phone, email, address) and VIN, so treat the output as sensitive.

missed_opportunity_report

ChatGPT
Maintenance Hunter capture analysis (the Missed Opportunity report) for a date range, scoped to the stores your access token permits. Returns the same numbers as the web Missed Opportunity report, broken out per market: - per service (all_services): sold revenue & count vs. missed revenue & count, and the capture rate (sold / (sold + missed)); - top_services: the three biggest missed-revenue services; - overall totals: total_sold, total_missed, overall_capture_rate, total_invoice_revenue; - MH presentation rate (presentation_rate, presented_count, not_presented_count); - invoice-processing stats (invoices_processed / processable / skipped, etc.). Each service block includes the underlying invoice / customer / vehicle id arrays (missed_invoice_ids, sold_invoice_ids, customer_ids, vehicle_ids, …). Feed a filter_id + those invoice_ids to missed_opportunity_drilldown for the row-level customer/vehicle breakdown. Optional: source ("auto" or "manual") to limit to a Maintenance Hunter source, and a single store_id (external_id) which must be within your permitted scope.

query_customers

ChatGPT
Query customers for the stores your access token permits. Returns customer records (customer_id, first_name, last_name, email, store_id), or — with count_only — just the total. Optionally narrow to a single store with store_id; that store must be within your permitted scope.

tire_analysis_brand

ChatGPT
Tire Analysis drill-down for ONE tire brand over a date range, scoped to the stores your access token permits and broken out per market. Returns raw numbers: - rims: units by rim size for this brand; - sizes: units by complete tire size (with model_count) for this brand; - vendors: the vendor table for this brand (count + sales/share). brand is required — use a brand name from tire_analysis_report, or the sentinel "_ALL BRANDS_" to span every brand. Optional: store_id (one external_id in scope) and tire_groups (string array; omit for all). Drill one size further with tire_analysis_size.

tire_analysis_report

ChatGPT
Tire Analysis overview for a date range, scoped to the stores your access token permits and broken out per market. Returns the tire mix as raw numbers (no display formatting), so you can aggregate or re-rank them: - brands: per tire brand, units sold (count), sales {total, gp_dollar, gp_percent}, and share of brand sales. The FIRST row is the "_ALL BRANDS_" roll-up (overall totals / 100% share) — skip it when ranking individual brands. - vendors: the same shape per vendor, with the FIRST row the "_ALL VENDORS_" roll-up. - rims: units by rim size; sizes: units by complete tire size (with model_count). Optional filters: store_id (a single external_id within your scope), and the string-array filters brand_filter / vendor_filter / tire_groups (omit for all). Drill deeper: tire_analysis_brand (one brand) and tire_analysis_size (one brand+size, with inventory). Use list_markets to discover store_ids.

tire_analysis_size

ChatGPT
Tire Analysis drill-down for ONE brand + complete tire size over a date range, scoped to the stores your access token permits and broken out per market. Returns raw per-description detail rows with inventory merged in: - description, count (units sold), product_code, part_number; - quantity_on_hand, minimum_quantity, maximum_quantity, on_order (current inventory). brand and size are required — use values from tire_analysis_report / tire_analysis_brand. Sentinels: brand "Tire Sizes" spans every brand; size "unknown" targets rows with no recorded tire size. Optional: store_id (one external_id in scope) and tire_groups (string array; omit for all).

Example Prompts

Click any prompt to copy it.

Similar Apps