Creator roster board for rebook, test, or pause calls

By General Input

Decide who stays on your creator roster after every campaign, with each creator's real numbers on screen and every call recorded where the team can see it.

Integrations

  • Later
  • Airtable
  • Slack Bot

Type

App

Categories

  • Operations
  • Marketing

Build me a creator roster board where our influencer team makes the keep, test, or pause call on every creator after a campaign wraps. Today that decision lives in a spreadsheet nobody trusts, so the whole point of this app is that the roster in Airtable becomes the system of record: every decision, who made it, and when, is written back onto the creator's roster row.

The main screen is a three column board: Rebook, Test Again, and Pause. Above it there is a date range picker that defaults to the last 90 days. Each card is one creator, showing their name and social handle, their headline numbers for the selected range (posts published, engagements, engagement rate, reach or impressions), and a few fields from their stored roster record such as their tier, their rate, and the date of their last decision. Sort the cards inside each column by whichever performance metric the team picks, best first, so the weakest creator in Rebook is always sitting at the bottom where someone will notice it.

Load the per creator numbers from Later using Get Creator Performance for the selected date range. Later is the Influence Reporting API and it is strictly read only, every route is a GET, so nothing this app does ever writes back into Later. A few specifics to respect: the metrics parameter is required on every performance route and only the metrics you ask for come back, so request the full set the board displays in one call. Dates are YYYY-MM-DD in UTC and the window between the start and end date cannot exceed two years, so validate the picker against that. List responses paginate with an opaque nextCursor that is bound to the exact query that produced it, so when you walk pages to collect the full creator list, hold every other parameter constant including limit, and stop when nextCursor comes back null.

Load the roster itself from Airtable with List Records against the creator roster table, paging through the offset until it is exhausted. Match each Later creator to their roster row on social handle, since Get Creator Performance returns profile information and social handles alongside the metrics, which is exactly what makes the join possible. Normalize handles before comparing (lowercase, strip a leading @) so trivial formatting differences do not break the match. A creator who has performance in Later but no roster row should still appear on the board, badged as unmatched, with a way to see which handle failed to match so someone can go fix the roster. A roster row with no Later activity in the window should also appear, because that is the case the team most needs to see.

Group cards into the three columns by the decision currently stored on the Airtable record. Anyone with no decision yet lands in an Undecided holding area at the top or in a fourth intake column, so new creators from the campaign that just wrapped are obviously waiting on a call. Flag any creator with zero posts in the selected window as dormant with a clear badge on the card, and give the board a filter to show only dormant creators. That flag is the whole reason the board exists for half the roster: nobody should quietly stay on it without producing.

Dragging a creator from one column to another is the decision. When that happens, write to their Airtable record with Update Record, setting the decision (Rebook, Test Again, or Pause), the name or email of the signed in person who moved the card, and the date the decision was made. Optionally prompt for a one line reason and store that too. Update the card optimistically so the board feels immediate, but roll it back and surface a clear inline error if the write fails, because a decision that looks saved and is not is worse than no decision at all.

Clicking a creator opens a detail panel with their post history, pulled from Later with Get Post Performance filtered to that creator over the selected range. List the posts newest first with their date, platform or content type, and per post numbers, and chart the trend so it is obvious at a glance whether this creator is improving or sliding. Someone with a good average and a bad last month is a different decision from someone with a bad average and a great last month, and the panel exists so people can tell those two apart before committing. Show the creator's stored roster fields alongside the history, plus their current decision and the last brief that was written for them.

Put a Write the renewal brief button in that detail panel that kicks off a background agent for that one creator. The agent should pull the creator's numbers and post history from Later, compute the roster median for the key metrics across every creator in the current window, and compare this creator against it so the brief is grounded in where they actually sit rather than in absolute numbers that mean nothing on their own. It then drafts a recommendation (rebook, test again, or pause) with concrete talking points for the next negotiation: how they perform versus the roster median, which content types work best for them, whether the trend is up or down, whether their rate looks justified against what they deliver, and what to ask for or push back on. Save the finished brief onto that creator's Airtable record with Update Record, and post a short summary to the team channel with Slack Bot Send a Message, naming the creator, the recommendation, and one or two lines of reasoning. Show the run state on the card and in the panel while it is working, and display the saved brief in the panel once it lands.

Keep the board fast and honest: cache the Later reads for the selected range so switching columns and opening cards does not refetch everything, give the user a refresh control, and show when the numbers were last pulled. Later enforces 120 requests per minute per IP, so batch the reads rather than firing one request per card.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them