Report 5.3.1 — Tooling & Approach Rationale

This document explains why the chosen stack and design approach were selected for the AISystems FireFlies CRM automation backend.

Language & Framework Choices

Java + Spring Boot enables a deterministic, testable, and programmable service layer that goes far beyond configuring point-and-click automation platforms such as Make or Zapier.

Spring Web, RestTemplate/HttpHeaders, and simple POJOs make API clients explicit, versionable, and safe; we can add unit tests, logging, and security once, rather than duplicating workflows across GUI connectors.

LLM Integration

OpenAI (gpt-4o-mini) was selected for its strong comprehension of natural language transcripts and ability to emit structured JSON responses.

CRM Integration

HubSpot’s CRM API supports deals/tasks via /crm/v3/objects/deals. The project uses:

Why this approach?

Direct REST calls avoid extra SDK dependencies while keeping control over pagination, retries, and logging for sensitive operations.

Observability & Documentation

PlantUML diagrams across plantuml/behavior and plantuml/structure document the architecture, enabling quick onboarding.

Generated HTML docs sit beside every UML file to provide context and highlight how each diagram relates to the stack.

Deployment & Testing Considerations