finta-prod-checklist

v2026.09.24

Fundraise launch checklist using Finta CRM. Trigger with phrases like "finta checklist", "finta launch", "finta go-live".

GitHub
Install command
npx skhub add jeremylongshore/finta-prod-checklist
Markdown
SKILL.md

Finta Production Checklist

Overview

Finta is a fundraising CRM for managing investor pipeline, deal rooms, and round tracking. A production integration syncs investor communications, manages deal room access, and automates pipeline stage transitions. Failures mean lost investor touchpoints, broken deal room links, or pipeline data that drifts from your actual fundraise state.

Prerequisites

  • A named launch owner, authorized approver, on-call contact, and tested rollback mechanism.
  • Staging evidence produced with synthetic data, including permission, deduplication, retry, and failure-path checks.
  • A reviewed list of approved data flows, retention requirements, alert thresholds, and recipients.

Instructions

  1. Complete every applicable checklist item with an evidence link or owner decision; do not treat unchecked items as implicitly accepted.
  2. Confirm secrets are injected at runtime, privileges are scoped, and diagnostics redact investor and financial data.
  3. Run a canary that exercises a read-only or synthetic workflow before allowing broad production synchronization.
  4. Monitor aggregate health, delivery backlog, duplicate detection, and permission failures during the launch window.
  5. Stop promotion and invoke rollback when a defined safety, delivery, or access threshold is breached; document the decision and recovery verification.

Authentication & Secrets

  • FINTA_API_KEY stored in secrets manager (not config files)
  • OAuth tokens for email/calendar sync stored securely
  • Key rotation schedule documented (before each fundraise round)
  • Separate credentials for staging/prod environments
  • Deal room access tokens scoped per investor group

API Integration

  • Production base URL configured (https://api.finta.com/v1)
  • Rate limit handling with exponential backoff
  • Pipeline stage sync tested with all custom stages
  • Investor contact import validated (deduplication on email)
  • Deal room link generation tested with expiration settings
  • Email sync webhook configured for reply-to-stage automation
  • Financial data integrations verified (Stripe, Mercury, Brex)

Error Handling & Resilience

  • Circuit breaker configured for Finta API outages
  • Retry with backoff for 429/5xx responses
  • Email sync failure detection (stale inbox = missed investor replies)
  • Deal room link expiration alerts before investor meetings
  • Duplicate investor detection on bulk import
  • Cap table import validation (share counts, ownership percentages)

Monitoring & Alerting

  • API latency tracked per endpoint (pipeline, investors, rooms)
  • Error rate alerts set (threshold: any sync failure during active round)
  • Investor reply detection latency monitored (<5 min SLA)
  • Deal room access analytics reviewed weekly
  • Pipeline stage transition audit log enabled

Validation Script

async function checkFintaReadiness(): Promise<void> {
  const checks: { name: string; pass: boolean; detail: string }[] = [];
  // API connectivity
  try {
    const res = await fetch('https://api.finta.com/v1/pipeline', {
      headers: { Authorization: `Bearer ${process.env.FINTA_API_KEY}` },
    });
    checks.push({ name: 'Finta API', pass: res.ok, detail: res.ok ? 'Connected' : `HTTP ${res.status}` });
  } catch (e: any) { checks.push({ name: 'Finta API', pass: false, detail: e.message }); }
  // Credentials present
  checks.push({ name: 'API Key Set', pass: !!process.env.FINTA_API_KEY, detail: process.env.FINTA_API_KEY ? 'Present' : 'MISSING' });
  // Pipeline stages configured
  try {
    const res = await fetch('https://api.finta.com/v1/pipeline/stages', {
      headers: { Authorization: `Bearer ${process.env.FINTA_API_KEY}` },
    });
    const data = await res.json();
    const count = Array.isArray(data) ? data.length : 0;
    checks.push({ name: 'Pipeline Stages', pass: count >= 3, detail: `${count} stages configured` });
  } catch (e: any) { checks.push({ name: 'Pipeline Stages', pass: false, detail: e.message }); }
  for (const c of checks) console.log(`[${c.pass ? 'PASS' : 'FAIL'}] ${c.name}: ${c.detail}`);
}
checkFintaReadiness();

Error Handling

CheckRisk if SkippedPriority
API key rotationLost access during active fundraiseP1
Email sync monitoringMissed investor replies for daysP1
Deal room link expiryInvestors hit dead links before meetingsP2
Duplicate investor importFragmented communication historyP2
Cap table validationIncorrect ownership reported to boardP3

Output

Produce a go-live receipt listing completed controls, evidence locations, canary results, monitored thresholds, launch and rollback owners, unresolved exceptions, and final approval. Keep credentials, raw exports, investor details, and financial terms out of the receipt.

Examples

Run the checklist in staging with a fictitious round, confirm that a revoked test user loses deal-room access, and simulate an upstream failure to verify that the integration pauses safely. Promote only after the designated owner records approval and the canary produces the expected aggregate metrics.

Resources

Next Steps

See finta-security-basics for investor data protection and deal room access control.

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/.curated/finta-prod-checklist

Default branch

main

Latest commit

e5a6c3b

Tree SHA

c2dc8e8