Agent Templates
Performance review collector

Performance review agents that act on-behalf-of your managers

Collects review feedback from Airtable and Google Forms scoped to each manager's direct reports, writes per-employee summaries to Notion, and DMs the manager a Slack digest.

Performance review collector
Sample Agent for Acme
May 22 · 10:00 AM ·
47s
Summarize Q2 performance feedback for my team
J
Collecting review feedback
Structured ratings
airtable_list_records
Free-text feedback
googleforms_list_responses
Summary pages
notionmcp_notion-create-pages
Digest - Q2 2026 - 3 direct reports
Notion pages written (3)
Alex Kim -- 4.5/5 avg across 6 responses
Manager DM'd in Slack with links to each page
Handled for you
Reports with zero feedback skipped, not blocked
Re-runs upsert pages, never duplicate them
Message Claude...
Trusted by teams shipping agents to production
Performance review collector
Sample Agent for Acme
May 22 · 10:00 AM ·
47s
Summarize Q2 performance feedback for my team
J
Collecting review feedback
Structured ratings
airtable_list_records
Free-text feedback
googleforms_list_responses
Summary pages
notionmcp_notion-create-pages
Digest - Q2 2026 - 3 direct reports
Notion pages written (3)
Alex Kim -- 4.5/5 avg across 6 responses
Manager DM'd in Slack with links to each page
Handled for you
Reports with zero feedback skipped, not blocked
Re-runs upsert pages, never duplicate them
Message Claude...

How agent builders go from zero to user-authorized in six steps

A real working agent you can deploy

This repo scopes one review cycle to a single MANAGER_EMAIL with per-connector *_USER identities from .env. In production, pass each manager's real ID as the identifier on every Scalekit call, and send them an authorization link whenever their connector status is not ACTIVE.

01
Authorize Airtable, Google Forms, Notion, and Slack
run_flow.py
Verify each user's four connections are ACTIVE before touching review data. Locally the identity comes from .env; in production, pass your manager's real user ID as identifier and surface auth links from your app.
run_flow.py
logger.info("Step 0: Checking connector auth")
for connector_name, identifier in cfg.get_connector_users().items():
    conn = Connector(actions, connector_name, identifier)
    conn.check_auth()

# connectors.py -- check_auth()
resp = self.actions.get_or_create_connected_account(
    connection_name=self.connector_name,
    identifier=self.identifier,
)
if resp.connected_account.status != "ACTIVE":
    link = self.actions.get_authorization_link(
        connection_name=self.connector_name,
        identifier=self.identifier,
    ).link
    logger.warning(f"Authorize here: {link}")
02
Auto-provision the Airtable review table
provisioning.py
03
Fetch review responses from Airtable and Google Forms
connectors.py
04
Aggregate and summarize feedback per employee
summarizer.py
05
Write per-employee summaries to Notion
connectors.py
06
DM the manager a Slack digest
run_flow.py

Agents that do real work, without the auth plumbing

Three things you'd otherwise build: OAuth, token storage, refresh. Handled.

1
Install
claude plugin marketplace add scalekit-inc/claude-code-authstack && claude plugin install agent-auth@scalekit-auth-stack
terminal
curl -fsSL https://raw.githubusercontent.com/scalekit-inc/codex-authstack/main/install.sh | bash
terminal
copilot plugin marketplace add scalekit-inc/github-copilot-authstack
copilot plugin install agent-auth@scalekit-auth-stack
terminal
curl -fsSL https://raw.githubusercontent.com/scalekit-inc/cursor-authstack/main/install.sh | bash
terminal
npx skills add scalekit-inc/skills --skill integrating-agent-auth
2
Clone github.com/scalekit-developers/workflow-agents-demos/tree/main/performance-review-collector-agent and adapt it for my review cycle.

I am building for: my People Ops team (or: an HR product)   ← edit this line
Connectors my users need: Airtable, Google Forms, Notion MCP, Slack   ← edit this line
Trigger: weekly cron or POLLING_MODE=true. Deliver: per-employee Notion summaries + a Slack DM digest to each manager.

Steps:
1. Create Scalekit AgentKit connections for airtable, googleforms, notionmcp, slackmcp -- copy the exact (auto-suffixed) connection names from the dashboard into .env.
2. Map identifier to each manager's real user ID (not a shared HR bot). Per-connector *_USER overrides exist if identities differ per service.
3. If I swap a connector, mirror an existing class in connectors.py: execute_tool(tool_name, identifier, tool_input) → read result.data (MCP envelopes unwrap automatically).
4. Keep Step 0.5 provisioning: ensure_airtable_table auto-creates the review table; the Google Form's questions stay manual (the GOOGLEFORMS connector has no add-question tool).
5. Resolve direct reports from the Airtable Manager Email column, with DIRECT_REPORTS as fallback.
6. Run python run_flow.py for one manager, then describe how to deploy for many.
Why choose Scalekit

Delegated identity. Not service accounts.

Credentials never touch agent code or LLM context. The agent acts as the user, not as a shared bot.
Delegated OAuth - Agent reads your calendar, your inbox — scoped to the authorizing identity, not org-wide.
Credentials outside agent runtime  -  Tokens never touch agent code or LLM context. Both failure modes covered.
Token lifecycle automatic  -  Refresh, expiry, rotation across all connectors. One SDK call. Zero management code.
200+ prebuilt connectors  -  Google, Slack, HubSpot, GitHub, Jira, Notion, Salesforce — same auth pattern everywhere.
Try other Agent Templates

Prebuilt agents you can ship today

Each one runs on delegated identity, scoped per user.

SUPPORT
Support triage agent
Read Zendesk tickets, fetch runbooks from Notion, and route to the right Slack channel with a drafted response.
SUPPORT
Support ticket automation (Google ADK)
Google ADK agent that classifies Zendesk tickets, pulls Notion context, and posts to Slack. End-to-end ticket handoff.
SUPPORT
Freshdesk CSAT follow-up agent
Google ADK agent that watches low CSAT scores in Freshdesk and drafts personalised follow-ups for support leads.
OPS
Email-to-calendar scheduling agent
Parse scheduling intent from Gmail threads and create Google Calendar events with the right attendees and timezone.
GTM
HubSpot to Slack updates agent
Watch HubSpot deal stage changes and post structured updates to the right Slack channel. Reps stop checking the CRM all day.
GTM
CRM AI agent
Log calls, update opportunity stages, and surface stalled deals across HubSpot or Salesforce. No manual data entry.

Build your own
multi-connector agent

Add connectors. Change the LLM. Same delegated auth pattern.