From finta-pack
Provides Python patterns for Finta CRM CSV processing, Gmail investor email tracking, and Zapier webhook integrations for fundraising pipelines and automation.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --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.
Sets up Finta fundraising CRM account, connects Gmail/Outlook email/calendar for investor tracking, imports data, and configures pipeline stages.
Produces operational infrastructure for capital raises: data room structure, investor tracking, capital call notices, LP onboarding workflow, waterfall explainer, and crisis communication framework.
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.
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.