From finta-pack
Integration patterns for Finta fundraising CRM with email and calendar APIs. Use when building automated investor outreach, syncing data from Finta exports, or creating custom fundraising dashboards. Trigger with phrases like "finta integration", "finta patterns", "finta automation", "finta data pipeline".
npx claudepluginhub flight505/skill-forge --plugin finta-packThis skill is limited to using the following tools:
Finta does not expose a public REST API. Integrate via: (1) CSV export + Python processing, (2) email integrations (Gmail/Outlook), (3) Zapier/Make webhooks, or (4) Stripe/payment integrations for capital collection.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Finta does not expose a public REST API. Integrate via: (1) CSV export + Python processing, (2) email integrations (Gmail/Outlook), (3) Zapier/Make webhooks, or (4) Stripe/payment integrations for capital collection.
import pandas as pd
from pathlib import Path
class FintaPipelineTracker:
def __init__(self, export_path: str):
self.df = pd.read_csv(export_path)
def investors_by_stage(self) -> dict:
return self.df.groupby("Stage")["Name"].apply(list).to_dict()
def conversion_funnel(self) -> list[dict]:
stages = self.df["Stage"].value_counts()
return [{"stage": s, "count": c} for s, c in stages.items()]
def overdue_followups(self, days: int = 7) -> pd.DataFrame:
self.df["Last Contact"] = pd.to_datetime(self.df["Last Contact"])
cutoff = pd.Timestamp.now() - pd.Timedelta(days=days)
return self.df[
(self.df["Stage"].isin(["Follow-up", "Due Diligence"]))
& (self.df["Last Contact"] < cutoff)
]
def total_committed(self) -> float:
closed = self.df[self.df["Stage"] == "Closed"]
return closed["Check Size"].sum()
# Track investor email responses via Gmail API
from googleapiclient.discovery import build
def get_investor_emails(service, investor_email: str, after_date: str):
query = f"from:{investor_email} after:{after_date}"
results = service.users().messages().list(
userId="me", q=query
).execute()
return results.get("messages", [])
Finta supports Zapier triggers for pipeline stage changes:
Apply in finta-core-workflow-a for fundraise pipeline management.