技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
finta-sdk-patterns【数据与研究】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".
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: finta-sdk-patterns description: '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".
' allowed-tools: Read, Write, Edit version: 1.7.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
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:
Return an integration receipt with the source export version, approved field mapping, destination, records accepted/rejected, idempotency outcome, and a redacted error summary. Store raw data only in the approved system of record.
Import a three-row synthetic CSV into a staging destination using only stage and an opaque record ID. Re-run the import and verify that the receipt reports three duplicate skips and zero new records. Introduce an unknown column and confirm that the job stops for mapping review without exposing row contents.
Apply in finta-core-workflow-a for fundraise pipeline management.