> ## Documentation Index
> Fetch the complete documentation index at: https://app.keystroke.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Use cases

> Common ways teams use Keystroke.

export const UseCase = ({title, prompt, apps = [], children}) => {
  const [copied, setCopied] = useState(false);
  const handleCopy = () => {
    navigator.clipboard.writeText(prompt).then(() => {
      setCopied(true);
      setTimeout(() => setCopied(false), 2000);
    }).catch(err => console.error("Failed to copy prompt:", err));
  };
  return <button type="button" onClick={handleCopy} aria-label={`Copy prompt for ${title}`} className="group not-prose relative flex w-full cursor-pointer appearance-none flex-col items-start gap-2 rounded-xl border border-gray-200 bg-white p-[18px] text-left transition-colors hover:bg-gray-50 dark:border-white/10 dark:bg-white/[0.03] dark:hover:bg-white/[0.06]">
      <span className={`absolute right-3 top-3 inline-flex items-center gap-1 text-xs text-gray-400 transition-opacity dark:text-zinc-500 ${copied ? "opacity-100" : "opacity-0 group-hover:opacity-100"}`}>
        {copied ? "Copied" : "Copy prompt"}
      </span>
      <span className="flex items-center">
        {apps.map((app, index) => <span key={app} className={`flex size-[18px] shrink-0 items-center justify-center overflow-hidden rounded-md bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.08)] ring-1 ring-black/[0.08] dark:ring-white/15 ${index > 0 ? "-ml-1" : ""}`}>
            <img src={`images/app-logos/${app}.png`} alt="" className="size-full object-cover" />
          </span>)}
      </span>
      <span className="flex flex-col gap-1">
        <span className="font-serif text-[16px] font-medium leading-[24px] tracking-[-0.4px] text-gray-900 dark:text-zinc-50">
          {title}
        </span>
        <span className="text-[14px] leading-relaxed text-gray-500 dark:text-zinc-400">
          {children}
        </span>
      </span>
    </button>;
};

Teams use Keystroke to build agents and workflow automations across every function. You can click any use case listed below to copy a ready-to-use prompt for your coding agent.

## For everyone

<div className="mt-[18px] grid grid-cols-1 gap-6 sm:grid-cols-2">
  <UseCase title="Morning briefing" apps={["google-calendar", "gmail", "linear", "slack"]} prompt="Build a morning briefing agent. It should scan my Google Calendar, Gmail inbox, and Linear issues each weekday morning and send me a short brief on the day ahead in Slack.">
    Every weekday morning, scans your calendar, inbox, and project updates and sends a short brief on the day ahead.
  </UseCase>

  <UseCase title="Meeting recaps" apps={["granola", "linear", "slack"]} prompt="Build a meeting recap agent. It should trigger whenever one of my meetings ends in Granola, turn the transcript into action items, open follow-up tasks in Linear, and send everyone a recap in Slack.">
    When a call ends, turns the transcript into action items, opens follow-up tasks, and sends everyone a crisp recap.
  </UseCase>

  <UseCase title="Weekly inbox cleanup" apps={["gmail"]} prompt="Build a weekly inbox cleanup agent. Each Friday it should review low-priority email in my Gmail, archive obvious clutter, and send me a summary of the threads that still need a reply.">
    Every Friday, clears low-priority clutter from your inbox and highlights the threads that still need a reply.
  </UseCase>

  <UseCase title="Textable assistant" apps={["whatsapp", "google-calendar", "gmail", "google-tasks"]} prompt="Build a textable assistant agent. It should connect my email, calendar, tasks, and SMS so I can text requests like rescheduling meetings and have it handle the everyday admin work.">
    When you text a request, gets everyday admin work moving across your email, calendar, and tasks.
  </UseCase>

  <UseCase title="Protect focus blocks" apps={["google-calendar", "slack"]} prompt="Build a focus-protection agent. Every Sunday evening it should review the week ahead on my Google Calendar, find movable meetings on meeting-heavy days, and suggest a schedule with longer heads-down blocks in Slack.">
    Every Sunday evening, finds meeting-heavy days and suggests a cleaner schedule with longer heads-down blocks.
  </UseCase>

  <UseCase title="Slack reply nudges" apps={["slack"]} prompt="Build a Slack reply nudge agent. It should watch for important mentions, wait to see if I respond, and send me a reminder with the thread and missing context if one goes stale.">
    When an important mention goes stale, reminds you with the thread and the context you need to reply.
  </UseCase>

  <UseCase title="Daily DoorDash order" apps={["slack", "doordash"]} prompt="Build a team lunch agent. Every weekday at 11am it should start a shared lunch order in Slack, gather everyone's picks, and place the DoorDash order when the team is ready.">
    Every weekday at 11am, gathers everyone's lunch picks and places the team's DoorDash order.
  </UseCase>

  <UseCase title="Research deep dives" apps={["exa", "perplexity", "slack"]} prompt="Build a research agent. When I tag a Slack message for research, it should investigate the topic and reply with a sourced summary.">
    When you tag a message for research, investigates the topic and replies with a sourced summary.
  </UseCase>
</div>

## Sales

<div className="mt-[18px] grid grid-cols-1 gap-6 sm:grid-cols-2">
  <UseCase title="Prospect briefings" apps={["google-calendar", "linkedin", "salesforce", "slack"]} prompt="Build a prospect briefing agent. When a new meeting is booked on my Google Calendar, it should research the attendee and their company and post a concise prep note to Slack.">
    When a new meeting is booked, researches the attendee and company, then posts a concise prep note.
  </UseCase>

  <UseCase title="Lead sourcing" apps={["apollo", "linkedin", "salesforce"]} prompt="Build a lead sourcing agent. When an account lands on our target list, it should research the account, find likely contacts, enrich them, and add qualified leads to our CRM.">
    When an account lands on your list, finds and enriches likely contacts, then adds qualified leads to the CRM.
  </UseCase>

  <UseCase title="Email follow-up" apps={["hubspot", "linkedin", "gmail"]} prompt="Build an email follow-up agent. It should watch for prospect engagement signals in HubSpot, research the context, and draft a tailored follow-up email in Gmail.">
    When a prospect re-engages, researches the context and drafts a tailored next message.
  </UseCase>

  <UseCase title="Sales coaching" apps={["gong", "salesforce", "slack"]} prompt="Build a sales coaching agent. Each week it should review recent sales calls, spot patterns from top performers, and draft specific coaching notes for each rep in Slack.">
    Every Monday, reviews recent calls, spots patterns from top performers, and drafts coaching notes for reps.
  </UseCase>

  <UseCase title="Account re-engagement" apps={["salesforce", "linkedin", "gmail"]} prompt="Build an account re-engagement agent. Every Monday it should find high-value Salesforce accounts that have gone quiet, research a reason to reconnect with each, and draft outreach in Gmail for my review.">
    Every Monday, finds high-value accounts that have gone quiet and suggests thoughtful reasons to reconnect.
  </UseCase>

  <UseCase title="Company research" apps={["exa", "apollo", "notion"]} prompt="Build a company research agent. When a company is added to our Notion tracker, it should enrich it with funding, tech stack, and key contacts, and save notes back to the tracker.">
    When a company is added to your tracker, enriches it with funding, tech stack, contacts, and notes.
  </UseCase>
</div>

## Marketing

<div className="mt-[18px] grid grid-cols-1 gap-6 sm:grid-cols-2">
  <UseCase title="Content publishing" apps={["notion", "slack"]} prompt="Build a content publishing workflow. When a draft is marked ready in Notion, it should schedule the post, update the publishing calendar, and notify the right Slack channel.">
    When a draft is marked ready, schedules the post, updates the publishing calendar, and notifies the right channel.
  </UseCase>

  <UseCase title="SEO content engine" apps={["exa", "reddit", "google-sheets", "wordpress"]} prompt="Build an SEO content agent. Each week it should turn community signals, web research, and keyword data into topic clusters, article briefs, and draft posts in our CMS.">
    Every week, turns community signals, web research, and keyword data into topic clusters, article briefs, and CMS drafts.
  </UseCase>

  <UseCase title="Social posting" apps={["linkedin", "x-twitter", "reddit"]} prompt="Build a social posting agent. Each morning it should surface relevant industry conversations, draft posts and replies in our voice, and keep a steady posting rhythm.">
    Every morning, surfaces relevant industry conversations, drafts posts and replies, and keeps a steady social rhythm.
  </UseCase>

  <UseCase title="Competitor alerts" apps={["exa", "slack"]} prompt="Build a competitor alerts agent. It should check competitor sites daily for pricing or product changes and explain in Slack what changed for our positioning.">
    Every day, checks competitor sites for pricing or product changes and explains what changed for your positioning.
  </UseCase>

  <UseCase title="Industry monitoring" apps={["exa", "reddit", "slack"]} prompt="Build an industry monitoring agent. Each day it should track podcasts, blogs, and feeds for relevant mentions and send a digest to Slack when something useful appears.">
    Every day, tracks podcasts, blogs, and feeds for relevant mentions and sends a digest when something useful appears.
  </UseCase>
</div>

## Finance

<div className="mt-[18px] grid grid-cols-1 gap-6 sm:grid-cols-2">
  <UseCase title="Stripe accounting" apps={["stripe", "notion"]} prompt="Build a Stripe accounting workflow. When a payment succeeds in Stripe, it should log the transaction, update the customer record in Notion, and notify the team.">
    When a payment arrives in Stripe, logs the transaction, updates customer records, and notifies the team.
  </UseCase>

  <UseCase title="Bookkeeping automation" apps={["mercury", "quickbooks"]} prompt="Build a bookkeeping workflow. Whenever a new bank transaction posts, it should check the accounting entry against it and flag any mismatch before finance has to hunt it down.">
    When a new bank transaction posts, checks it against your accounting entries and flags any mismatch.
  </UseCase>

  <UseCase title="Receipt collection" apps={["gmail", "ramp"]} prompt="Build a receipt collection agent. At monthly close it should find receipts across email and vendor portals, download them, and match them to expenses in Ramp.">
    Every monthly close, finds receipts across email and vendor portals and files them in expense tracking.
  </UseCase>

  <UseCase title="Subscription audit" apps={["ramp", "gmail"]} prompt="Build a subscription audit agent. Each month it should review recurring charges and email receipts, identify unused services, and prepare cancellation steps.">
    Every first of the month, reviews recurring charges, flags unused services, and prepares cancellation steps.
  </UseCase>

  <UseCase title="Payout reconciliation" apps={["stripe", "quickbooks", "slack"]} prompt="Build a payout reconciliation agent. Every Friday it should match Stripe payouts against our QuickBooks ledger, flag any variance over threshold, and post the report to the finance channel in Slack.">
    Every Friday, matches payouts against your ledger, flags variances over threshold, and posts the report to finance.
  </UseCase>
</div>

## Operations

<div className="mt-[18px] grid grid-cols-1 gap-6 sm:grid-cols-2">
  <UseCase title="Support desk" apps={["gmail", "notion", "linear", "intercom"]} prompt="Build a support desk agent. It should triage incoming customer emails, draft replies from our docs, and escalate anything that needs a human to Linear.">
    When a support email arrives, drafts a reply from your docs and escalates anything that needs a human.
  </UseCase>

  <UseCase title="Employee onboarding" apps={["slack", "google-calendar", "notion"]} prompt="Build an employee onboarding agent. When a new hire starts in Rippling, it should create accounts, send a first-week checklist, schedule intro meetings, and answer questions from our company docs.">
    When a new hire starts, creates accounts, sends a first-week checklist, schedules intros, and answers questions from company docs.
  </UseCase>

  <UseCase title="Contract review" apps={["docusign", "google-drive", "slack"]} prompt="Build a contract review agent. When a contract is received in DocuSign, it should flag unusual terms, track deadlines, and prepare a summary for attorney review.">
    When a contract is received, flags unusual terms, tracks deadlines, and prepares a summary for attorney review.
  </UseCase>

  <UseCase title="Inventory monitor" apps={["shopify", "gmail"]} prompt="Build an inventory monitor workflow. When a Shopify product drops below its days-of-cover threshold, it should draft a restock email to the supplier in Gmail.">
    When stock runs low, drafts a supplier restock email before you run out.
  </UseCase>
</div>

## Engineering & data

<div className="mt-[18px] grid grid-cols-1 gap-6 sm:grid-cols-2">
  <UseCase title="Changelog updates" apps={["github"]} prompt="Build a changelog workflow. Whenever a GitHub pull request is merged, it should summarize what shipped and keep our internal release notes up to date.">
    When a pull request is merged, summarizes what shipped and keeps internal release notes up to date.
  </UseCase>

  <UseCase title="Incident response" apps={["datadog", "github", "slack"]} prompt="Build an incident response agent. When a Datadog alert fires, it should correlate the metrics with recent deploys and open a triage Slack channel with an initial hypothesis.">
    When an alert fires, correlates the metrics with recent deploys and spins up a triage channel with an initial hypothesis.
  </UseCase>

  <UseCase title="Error triage" apps={["sentry", "linear", "github"]} prompt="Build an error triage agent. Each week it should sweep new Sentry errors, dedupe them against open Linear tickets, and file the rest in our backlog grouped by root cause.">
    Every week, sweeps new errors, dedupes them against open tickets, and files the rest by root cause.
  </UseCase>

  <UseCase title="Data analyst" apps={["snowflake", "slack"]} prompt="Build a data analyst agent. It should answer ad hoc business questions by querying our data warehouse, and connect to Slack so the team can ask data questions in a #data channel.">
    Answers ad hoc business questions by querying your warehouse and lets the team ask in a #data Slack channel.
  </UseCase>

  <UseCase title="Weekly exec summary" apps={["linear", "github", "slack"]} prompt="Build a weekly exec summary agent. Every Friday it should turn the week's Linear issues and GitHub activity into a clear update with trends and risks, and post it to Slack.">
    Every Friday, turns a week of Linear issues and GitHub activity into a clear update with trends and risks.
  </UseCase>

  <UseCase title="Launch recap" apps={["github", "posthog", "slack"]} prompt="Build a launch recap agent. When a release ships on GitHub, it should pull adoption and retention for the launch cohort from PostHog and post a short recap to Slack.">
    When you ship a release, pulls adoption and retention for the launch cohort and posts a short recap.
  </UseCase>
</div>
