← Back to all apps

Spinify

Businessby Spinify Pty Ltd
Launched Apr 2, 2026 on ChatGPT

Spinify brings your sales competition data directly into ChatGPT. Ask for your current standings, see a live leaderboard for any active competition, and understand exactly how your performance is trending — all without leaving the chat.

For sales managers and admins, Spinify gives you an instant view across your whole team. Run a coaching report for any competition to see who's on track, who's at risk, and where to focus your attention. Every result includes direct links back to Spinify so you can act immediately.

What you can ask:

  • "Show me the leaderboard for [competition name]"
  • "How is my score trending this month?"
  • "Show me a coaching report for the Revenue Rumble competition"
  • "What competitions am I currently in?"

*Your Spinify account is required. Player and Admin license tiers are both supported.

8ChatGPT Tools
Spinify Pty LtdDeveloper
BusinessCategory

Available Tools

Get Competition Coaching Report

get_competition_coaching_report
Full Description

Data tool: coaching report for a specific participant in a competition. Includes the full ranked participant list with the specified user highlighted, plus individual historical_trend blocks for at-risk and falling-behind participants (up to 10, with the focused user always included when they are not on track) — avg_period_score, best_period_score, trend: improving/declining/steady, recent vs prior period averages. Also includes an all_participants_trend block when org graphstats are available. If graphstats fail or are sparse, YAML may omit some trend blocks; still call render_competition_coaching_widget in widget hosts so the user gets the full interactive card. When the focused participant is on_track, YAML typically has no historical_trend for them; call render anyway — the card still shows the leaderboard with focus. Use for natural requests like "coaching details", "pull coaching", or "drill into [person] on this comp" — not only after get_competition_leaderboard. In ChatGPT and MCP Apps hosts, after this call succeeds you MUST call render_competition_coaching_widget in the same turn with the same competition_id and user_id. Do not ask the user whether they want the card or tell them to "say if you want it invoked" — only skip render when the user explicitly asked for text-only or no UI.

Parameters (2 required)
Required
competition_idstring

The competition ID (use the id field from get_org_competitions)

user_idstring

Spinify user ID of the participant to focus on in the leaderboard widget.

Get Competition Leaderboard

get_competition_leaderboard
Full Description

Admin data tool. Returns the full ranked participant list for a specific competition. Each result states whether the competition is team or individual, how many teams or players have joined, plus status (on_track / at_risk / falling_behind) and a competition-wide trend summary. Use this for a top-level view of how a competition is going. To drill into a specific participant's coaching details use get_competition_coaching_report. Use the id field from get_org_competitions to look up a leaderboard. In ChatGPT and MCP Apps hosts, after this succeeds you MUST call render_competition_leaderboard_widget in the same turn with the same competition_id. Do not ask the user to opt in or confirm the widget — only skip when they asked for text-only or no UI.

Parameters (1 required)
Required
competition_idstring

The competition ID (use the id field from get_org_competitions)

Get Notifications

get_notifications
Full Description

Returns recent Alert notifications for the authenticated Spinify user's organisation. Each notification has a title, human-readable message, received timestamp, and a URL to the full notification detail page. Results are formatted as YAML for easy reading. No arguments are needed — the user identity is derived from the Bearer token.

Get Org Competitions

get_org_competitions
Full Description

Returns all currently running competitions for the organisation, including whether each is a team or individual competition, participant counts (teams vs players), health flags (no participants, low participation, ending soon), and a historical_trend block per competition derived from competition-level graphstats. The historical_trend is the combined performance of ALL participants — it is NOT individual data. Use this tool to get a high-level picture of which competitions need attention before drilling in with get_competition_coaching_report. Results are formatted as YAML sorted by days remaining ascending.

Get Org Members

get_org_members
Full Description

Admin-only tool. Looks up users and teams in the organisation by name and returns their IDs. Use this to resolve a person or team name to a user_id or team_id before calling get_user_competition_summary or get_competition_coaching_report. Matching is fuzzy: each word in the search term must appear somewhere in the display name (case-insensitive), so "bob sm" matches "Bob Smith". A search term of at least 2 characters is required — orgs can have thousands of members.

Parameters (1 required)
Required
searchstring

Name to search for (at least 2 characters). Each space-separated word is matched independently, e.g. "bob sm" finds "Bob Smith".

Get User Competition Summary

get_user_competition_summary
Full Description

Admin-only tool. Returns all active competitions for a specific user, including their rank, score vs target, and progress percentage. Each competition also includes a historical_trend block derived from that user's individual graphstats — this shows how their performance has changed over time (avg_period_score, best_period_score, trend: improving/declining/steady, recent vs prior period averages). Use the historical_trend data when asked how a rep is doing compared to their previous results — the trend and period averages are the historical comparison. Use this after get_org_competitions or get_competition_coaching_report identifies a low performer to get a full picture across every competition they are currently in.

Parameters (1 required)
Required
user_idstring

The Spinify user ID of the participant to investigate

Render Competition Coaching Widget

render_competition_coaching_widget
Full Description

Always call get_competition_coaching_report with the same competition_id and user_id before calling this tool. This render-only tool attaches the interactive coaching leaderboard card in ChatGPT and MCP Apps hosts (decoupled pattern). In widget-capable hosts, call this in the same assistant turn immediately after the data tool — do not ask the user to opt in, confirm, or "say if you want the card"; that is incorrect unless they already asked for text-only or no UI. Applies even when YAML has no historical_trend (e.g. focused participant on_track) or no all_participants_trend. Re-fetches coaching data for the iframe.

Parameters (2 required)
Required
competition_idstring

Same competition ID as get_competition_coaching_report

user_idstring

Same user_id as get_competition_coaching_report

Render Competition Leaderboard Widget

render_competition_leaderboard_widget
Full Description

Always call get_competition_leaderboard with the same competition_id before calling this tool. This render-only tool attaches the interactive leaderboard card in ChatGPT and MCP Apps hosts (decoupled pattern). In widget-capable hosts, call this in the same assistant turn immediately after the data tool — do not ask the user to opt in or confirm the widget. Skip only when the user explicitly asked for text-only or no UI. Re-fetches leaderboard data for the iframe.

Parameters (1 required)
Required
competition_idstring

Must match the competition_id passed to get_competition_leaderboard