GetLogan: AI-Native CRM for Commercial Trucking Insurance
The operating system trucking insurance agencies use when Gmail and spreadsheets stop scaling.
Account-tied submissions, structured endorsement workflows, canonical driver and vehicle records, ACORD-native form generation, and a Claude-powered Telegram agent stack that handles lead intake and quote acquisition end-to-end. Four agencies, four very different problems, one platform.
Logan is a productized vertical CRM for commercial trucking insurance, built for agencies, MGAs, and brokerages writing fleet, owner-operator, and specialty trucking coverage.
Instead of stretching Salesforce or Guidewire into a shape that almost-fits, Logan starts from the data model the business actually has: accounts with vehicles and drivers, submissions to carriers and MGAs, endorsements that change reality mid-policy, COIs that have to match.
It runs on the same Frappe + Vue engineering foundation we use for our other vertical CRM builds, with an AI agent layer (Claude + Telegram) on top that handles lead intake and quote acquisition in the channels agencies already work in.
Six pillars holding up the platform.
Account-tied submissions
Every quote request, carrier reply, document upload, and follow-up lives on the account record, not in someone's inbox. Anyone on the team can pick up where another agent left off.
Structured endorsement workflow
Vehicle and driver records are the source of truth for what's on a policy. Endorsements move through request → carrier-confirmation → policy-update stages. Pending state is visible; nothing falls into a gap.
Canonical driver + vehicle records
CDL number and date of birth (drivers) and VIN (vehicles) are unique identifiers enforced at the point of entry. Duplicate creation is rejected before save, with a link to the existing record.
Account-risk dashboard
Claims, lapses, document expirations, and open endorsements aggregated per account and across the book. Refreshes automatically. No morning spent rebuilding spreadsheets.
Carrier matching engine
~100 carrier eligibility rules. Lead data is scored against every active carrier (0–100% match) and ranked. The ConvertToApplicationModal presents the matching list before submission.
ACORD-native form generation
ACORD 25 and 101 generated directly from extracted lead data. 16 carrier-specific PDF form mappings on top. Submissions go out pre-filled; agents review and send.
Three Telegram bots, one orchestrator.
Agencies already run on Telegram with their clients, MGAs, and underwriters. Instead of asking everyone to learn a new tool, Logan's agents work where the conversations already happen, and call straight into the same Frappe APIs the agents use, with no HTTP overhead between agent and tool.
Sales Bot (@LoganSalesBot)
Lead intake from trucking company clients inside Telegram. Extracts DOT/MC numbers from natural conversation, downloads and OCRs PDFs/dec pages/loss runs, auto-populates the lead from FMCSA data, asks follow-up questions for missing fields, and escalates to a human when stuck.
Quoting Bot (@LoganQuotesBot)
Operates in two worlds: client Telegram groups for status updates, and MGA/carrier Telegram groups for negotiation. Tools cover application creation, carrier comms, Gmail search/draft/send, FMCSA + SAFER + state-DOI lookups, web search for portals, and a vector DB of SOPs, guidelines, and underwriter notes.
Servicing Bot
Handles policy servicing, endorsements, and renewal prep. Same tool surface as the quoting bot plus endorsement-specific flows that respect the structured workflow described above.
| Backend | Frappe. Agents live as a module (getlogan/agents/) inside the app, no separate server. |
| LLMs | Claude Sonnet 4.6 for agent reasoning, Claude Opus for complex multi-step decisions. |
| Transport | Telegram Bot API webhooks → @frappe.whitelist() endpoints → Claude API → direct Python tool calls (no HTTP overhead between agent and tools). |
| Government APIs | FMCSA · SAFER · state DOI · MC authority · DOT insurance filing, all callable as agent tools. |
| Vector DB | SOPs, underwriter guidelines, quote history, underwriter notes, searchable from any agent. |
| Document AI | Google Vision + OpenAI for OCR + classification (driver licenses, dec pages, loss runs). |
Four agencies. Four problems. One platform.
The agencies anonymized below run different fleet mixes in different geographies. What they had in common was a system that was quietly failing, and what specifically failed is the most useful part of each story.
How a mid-size trucking agency lost 11 quotes in one quarter because of a Gmail folder
Midwest commercial trucking agency · 6 agents · ~340 accounts · mostly owner-operators and fleets under 15 trucks
The agency had been running on Gmail, a shared Google Sheet, and memory. Not collective memory; individual agent memory.
It worked when the team was three people sitting near each other. By six agents across two locations, cracks were showing.
Underwriting submissions went out through personal Gmail accounts. Carrier replies came back to whoever sent the original email.
If that person was on PTO, missed the thread, or got pulled into something more urgent, the email could sit unanswered. No one else knew it existed.
When the agency manager dug in, she found 11 quote requests or follow-ups that had gone unanswered over the prior quarter. Two accounts had already moved to a competitor.
Inside Logan, every submission is tied to an account record. Carrier interactions (initial submissions, follow-ups, document requests, quote responses) live on the account, not in an inbox.
Anything sitting in 'Awaiting Carrier Response' for more than five business days surfaces as a follow-up task automatically.
Any agent can pull up an account and see the full history. The manager gets a daily summary of submissions past their follow-up window. Focused, not noisy.
Individual email ownership is a liability the moment a team has rotating coverage or remote members. The fix isn't more vigilant agents. It's submission visibility that lives outside inboxes, with surfaces that flag gaps automatically.
When the policy said one thing and the account said another
Southeast regional commercial auto broker · ~180 accounts · fleet sizes 2–45 units · 3 new carriers added in the prior 18 months
Mid-term endorsements are the unglamorous core of commercial auto insurance. A client buys a truck, the policy has to reflect reality, and the carrier is underwriting against that list.
The broker had a process for handling endorsements. It just didn't work at the volume they were now running.
Carrier confirmations arrived as PDFs attached to email, got filed, and were forgotten. The account record in the system didn't get updated.
Three months later a third party would request a COI and it would reflect a sold truck and miss the two added ones.
A state-agency audit eventually found a client's COI listed 4 units while the operating fleet was 7. The discrepancy flagged a potential coverage-gap investigation that took six weeks and significant legal fees to resolve.
Logan structures account data so vehicle and driver records are the source of truth for what's on a policy. When a vehicle is added, it goes through request → carrier-confirmation → policy-update stages.
The confirmation step can't be accidentally skipped. Vehicles stay in 'pending endorsement' status until marked confirmed. The incomplete state is visible, not invisible.
Once a quarter the system flags any account where the vehicle / driver count doesn't match the last confirmed endorsement. The review takes ~15 minutes per account and catches discrepancies before they become audit problems.
Endorsement processing is the highest-volume source of data drift in commercial auto books. Every add/remove is an opportunity for system and carrier records to diverge. The fix is a workflow that requires confirmation before the status changes. Not more careful humans.
The driver list no one trusted
28-power-unit trucking company · company driver model (no owner-operators) · mid-renewal cycle
The carrier had requested a current driver list with MVR pull dates, CDL expirations, and years of experience. Routine renewal request.
The carrier's underwriting team came back with four questions. Three were about drivers who appeared twice on the list under slightly different names. The fourth was about a CDL expiration listed as two different values in two different places.
Drivers had been added through multiple channels over the years: safety system, HR spreadsheet, sometimes both, entered by different people who spelled names and formatted dates differently.
'Robert Williams' and 'Bob Williams' were the same driver. So were 'James E. Cortez' and 'James Cortez.' The CDL discrepancy was a data-entry error where one field was updated and another wasn't.
When the underwriter saw the list, they didn't just see data quality issues. They saw an operation that might not know who was actually driving its trucks. That's an underwriting concern.
Logan's driver module treats each driver record as a single entity tied to unique identifiers (CDL number and date of birth) that prevent duplicate creation at the point of entry.
Implementation started with a deduplication audit: matched records by CDL + DOB, identified 14 duplicates, a human reviewed and merged each pair. Took about a week. Unglamorous but necessary.
After cleanup, Logan became the single source of truth for driver data. Compliance docs, MVR pull schedules, CDL expiration alerts, and insurance submission lists all pull from the same record.
Underwriters make decisions on the quality of the data they receive, not just the content. A messy driver list signals risk; a clean, timestamped, system-generated driver record signals operational discipline, and underwriters price accordingly.
The agency that was flying blind on account risk
Independent Texas trucking insurance agency · 9 agents · ~520 accounts · steady growth over 3 years
Revenue was up. The team was growing. The principals were broadly happy with direction.
At a quarterly carrier review, the carrier presented an analysis of the agency's book and flagged 23 accounts as elevated risk based on claims frequency, driver turnover, and lapse history. The principals weren't aware that any of those accounts had multiple claims in the prior 12 months.
The agency had no account-level risk dashboard. No view that showed, across all 520 accounts, which had open claims, expiring CDLs, recent lapses, or overdue compliance docs.
Individual agents roughly knew the status of their own accounts. That knowledge lived in heads, email, and notebooks. There was no aggregated view.
Basic operational questions (how many accounts have had more than one claim in the last 12 months?) required a full morning of spreadsheet work.
Logan's account dashboard aggregates key risk indicators at both the individual account and book level: claims, lapse history, driver compliance, and open endorsements on a single screen, no carrier portal jumping required.
Risk segmentation view: accounts with multiple claims, compliance gaps, expiring critical documents. Refreshes automatically, takes ~2 minutes to review each morning.
Proactive outreach workflows: 90 days before CDL expiration, alert to the agent. 60 days before a renewal, task to pull updated loss runs and confirm fleet count. Structured reminders tied to real data.
Carriers track account performance across your book whether or not you do. If you're not monitoring the same indicators they are, you'll always be responding to their concerns rather than getting ahead of them. The data already exists in most agencies. It's just scattered in a way that makes it practically inaccessible for day-to-day decisions.
What it runs on.
| Layer | Technology |
|---|---|
| Backend | Frappe · Python · Service-layer architecture · @frappe.whitelist() endpoints |
| Frontend | Vue 3 SPA · Vite · TypeScript · Pinia · Tailwind CSS |
| AI agents | Claude Sonnet 4.6 (reasoning) · Claude Opus (complex multi-step) · in-app module |
| Channels | Telegram (3 bots) · Gmail API integration |
| Government APIs | FMCSA · SAFER · State DOI · MC Authority · DOT Insurance Filing |
| Document AI | Google Vision + OpenAI for OCR and classification (DL, dec pages, loss runs) |
| Vector DB | SOPs · underwriter guidelines · quote history · underwriter notes |
| Forms | ACORD 25 · ACORD 101 · 16 carrier-specific PDF templates · ZeboSign e-signature |
Custom AI Agents
The agent-build practice behind Logan. Production AI you fully own.
Insurance practice
How we approach AI-native CRM builds for mid-market insurance, beyond Logan.
SirenAI: AI Booking Platform
Multi-channel AI agent rebuild. Patterns we share with Logan's agent stack.
Recognize any of those four stories?
If your agency is paying the tax of Gmail submissions, manual endorsements, duplicate driver records, or invisible account risk: that's what Logan was built for. Start a conversation and we'll tell you honestly whether it's the right fit.