finta-deploy-integration

'Deploy Finta integrations and reporting dashboards.

3 Tools
finta-pack Plugin
saas packs Category

Allowed Tools

ReadWriteEdit

Provided by Plugin

finta-pack

Claude Code skill pack for Finta (18 skills)

saas packs v1.0.0
View Plugin

Installation

This skill is included in the finta-pack plugin:

/plugin install finta-pack@claude-code-plugins-plus

Click to copy

Instructions

Finta Deploy Integration

Overview

Deploy a containerized Finta fundraising integration service with Docker. This skill covers building a production image that connects to the Finta API for managing fundraising rounds, investor pipelines, and deal flow analytics. Includes environment configuration for multi-round tracking, health checks that verify API connectivity to Finta's investor management endpoints, and rolling update strategies for zero-downtime deployments during active fundraising campaigns.

Docker Configuration


FROM node:20-slim AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY tsconfig.json ./
COPY src/ ./src/
RUN npm run build

FROM node:20-slim
RUN addgroup --system app && adduser --system --ingroup app app
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
COPY package*.json ./
USER app
EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
  CMD curl -f http://localhost:3000/health || exit 1
CMD ["node", "dist/index.js"]

Environment Variables


export FINTA_API_KEY="finta_live_xxxxxxxxxxxx"
export FINTA_BASE_URL="https://api.trustfinta.com/v1"
export FINTA_WORKSPACE_ID="ws_xxxxxxxxxxxx"
export LOG_LEVEL="info"
export PORT="3000"
export NODE_ENV="production"

Health Check Endpoint


import express from 'express';

const app = express();

app.get('/health', async (req, res) => {
  try {
    const response = await fetch(`${process.env.FINTA_BASE_URL}/rounds`, {
      headers: { 'Authorization': `Bearer ${process.env.FINTA_API_KEY}` },
    });
    if (!response.ok) throw new Error(`Finta API returned ${response.status}`);
    res.json({ status: 'healthy', service: 'finta-integration', timestamp: new Date().toISOString() });
  } catch (error) {
    res.status(503).json({ status: 'unhealthy', error: (error as Error).message });
  }
});

Deployment Steps

Step 1: Build


docker build -t finta-integration:latest .

Step 2: Run


docker run -d --name finta-integration \
  -p 3000:3000 \
  -e FINTA_API_KEY -e FINTA_BASE_URL -e FINTA_WORKSPACE_ID \
  finta-integration:latest

Step 3: Verify


curl -s http://localhost:3000/health | jq .

Step 4: Rolling Update


docker build -t finta-integration:v2 . && \
docker stop finta-integration && \
docker rm finta-integration && \
docker run -d --name finta-integration -p 3000:3000 \
  -e FINTA_API_KEY -e FINTA_BASE_URL -e FINTA_WORKSPACE_ID \
  finta-integration:v2

Error Handling

Issue Cause Fix
401 Unauthorized Invalid or expired API key Regenerate key in Finta workspace settings
403 Forbidden Workspace access denied Verify FINTAWORKSPACEID matches your API key
404 Not Found Round or investor ID not found Check IDs from Finta dashboard
429 Rate Limited Exceeding API rate limits Implement exponential backoff with 30s window
Empty investor list API key lacks read scope Request full-access key from workspace admin

Resources

Next Steps

See finta-webhooks-events.

Ready to use finta-pack?