Internal Doc

Other integrations & third-party services

Two different inventories on this page. Tools we develop with — the stack Plansight is built on (Laravel, PHP, Bitbucket, Docker, MySQL). And third-party services we use — the partners we wire into production (Auth0, Mailgun, Stripe, AWS, etc.). Both grouped by purpose, with where each is wired, and a "removed" list at the bottom.

Source: composer.json · package.json · config/services.php · Blade views Dev tools: 15 Third-party services: 21 Internal: 2 Removed: 7
Tools we develop with

The Plansight stack

Languages, frameworks, source control, build tooling, and data stores. Not third-party services we integrate with — these are the foundation Plansight itself is built on. The third-party-services inventory is the next section.

Languages & framework
Laravel 10
Active
The server framework — routing, ORM (Eloquent), Blade templates, queues, scheduling, auth scaffolding. The whole back-end is a Laravel app.
Wired: laravel/framework ^10.0 · plus laravel/socialite, laravel/ui, laravel/tinker, laravelcollective/html
PHP 8.2+
Active
Server language. composer.json floor is ^7.2.5|^8.2 — production runs PHP 8.
Wired: composer.json require php
Node.js
Active
Build-time runtime — runs Webpack/Mix during deploy. Also runs Puppeteer for headless-Chrome doc rendering.
Wired: package.json
Sass
Active
CSS preprocessor — partials, mixins, variables. Compiles via Laravel Mix into the production CSS bundle.
Wired: sass + sass-loader in package.json
Source control & CI/CD
Bitbucket
Active
Source control. The Plansight monorepo lives here — and Bitbucket Pipelines runs the CI/CD on every push to a tracked branch.
Wired: bitbucket-pipelines.yml · Dockerfile.bitbucket
Docker
Active
Build artifacts. Pipelines builds the Plansight container, tags it with branch + commit, and pushes to AWS ECR for ECS to pick up.
Wired: Dockerfile.bitbucket · pipeline pushes to 185849803196.dkr.ecr.us-east-1.amazonaws.com/plansight
AWS ECR
Active
Private container registry. Plansight images land here after CI builds.
Wired: bitbucket-pipelines.yml · aws ecr get-login-password step
Data & cache
MySQL
Active
Primary relational database — every Plansight model (brokerages, groups, plans, quotes, rates, users) lives here.
Wired: config/database.php default connection · DB_CONNECTION=mysql
Redis (Predis)
Active
In-memory cache + session store + queue backend.
Wired: predis/predis ^1.1 · Laravel cache + queue config
DynamoDB
See AWS
NoSQL store — high-volume key-value data. Listed under AWS below.
Wired: config/services.php dynamodb block
Elasticsearch
See AWS
Full-text search index. Listed under AWS below.
Wired: elasticsearch/elasticsearch ^7.0
Build & package management
Composer
Active
PHP package manager — installs Laravel and every PHP dependency.
Wired: composer.json · composer.lock
npm
Active
Node package manager — installs front-end build tooling and Puppeteer.
Wired: package.json · package-lock.json
Webpack (via Laravel Mix)
Active
Front-end bundler. Compiles Sass + JS into the production assets that ship to ECR.
Wired: laravel-mix ^5.0 · npx mix --production in pipeline
HTTP & protocols
Guzzle HTTP
Active
PHP HTTP client — used by every outbound integration call (BenefitPoint, EN, IDEON, Mailgun, etc.). With retry middleware.
Wired: guzzlehttp/guzzle ^7.9 · caseyamcl/guzzle_retry_middleware
Third-party services

External services we use

Outside vendors and APIs we depend on in production — auth, email, payments, AI, observability. Each card shows what it does for us and where it's wired.

Authentication & identity
Auth0
Active
Primary user authentication for the Plansight app — login, SSO, password resets.
Wired: auth0/auth0-php (composer)
Google OAuth
Active
Social sign-in via Laravel Socialite — "Sign in with Google" path on the broker login page.
Wired: config/services.php · laravel/socialite
GitHub OAuth
Active
Social sign-in via Laravel Socialite. Likely used by Plansight engineering accounts; broker-facing usage unclear.
Wired: config/services.php · laravel/socialite
Google reCAPTCHA
Active
Bot protection on public forms (sign-up, password reset, contact).
Wired: google/recaptcha (composer)
Email
Mailgun
Active · primary
Primary transactional email driver — quote notifications, password resets, invitations.
Wired: mailgun/mailgun-php, symfony/mailgun-mailer · config/services.php
AWS SES
Active · alt
Alternate email driver. Configured but Mailgun is primary.
Wired: config/services.php · aws/aws-sdk-php
SparkPost
Verify
Configured as an alternate email driver. Likely legacy — verify with engineering whether it's still active.
Wired: config/services.php · only env var is SPARKPOST_SECRET
AI / ML
AWS Bedrock — Llama 3 70B
Active
Server-side text generation. Used through OpenAiService.php as the alternate engine path.
Wired: app/Services/OpenAiService.php · model id meta.llama3-70b-instruct-v1:0
Cloud & infrastructure (AWS)
AWS S3
Active
File storage — uploaded plan PDFs, generated documents, exports, backups.
Wired: league/flysystem-aws-s3-v3 · Laravel filesystem disks
AWS DynamoDB
Active
NoSQL key-value store — used for high-volume cache or session-style data.
Wired: config/services.php · aws/aws-sdk-php-laravel
AWS Elasticsearch
Active
Full-text search across plans, groups, carriers — powers the in-app search.
Wired: elasticsearch/elasticsearch · jsq/amazon-es-php
Payments & comms
Stripe
Active
Payment processing — billing for paid Plansight tiers.
Wired: stripe/stripe-php · config/services.php
Twilio
Active
SMS — likely 2FA codes, broker notifications, or reminder texts.
Wired: twilio/sdk
Front-end observability & product
LogRocket
Active
Front-end session replay + JS error tracking. Helps support reproduce broker bug reports.
Wired: resources/views/app.blade.php, admin.blade.php, login.blade.php, customLogin.blade.php, group.blade.php
UserGuiding
Active
In-app product tours, tooltips, and onboarding flows surfaced inside the Plansight app.
Wired: resources/views/app.blade.php, group.blade.php
Document processing (Plan Facts pipeline)
Smalot/PDF parser
Active
PHP-side PDF text extraction. Used as a fallback / pre-process layer before the LLM-based Plan Facts pipeline.
Wired: smalot/pdfparser (composer)
PhpSpreadsheet + Maatwebsite/Excel
Active
Reading and writing Excel files — census imports, rate-sheet ingestion, exports.
Wired: phpoffice/phpspreadsheet, maatwebsite/excel
Puppeteer (Puphpeteer)
Active
Headless Chrome — likely used for HTML→PDF rendering of generated proposals or Word-doc styling.
Wired: zoon/puphpeteer · puppeteer in package.json
ClamAV (via Quahog)
Active
Antivirus scanning of broker-uploaded files before they hit S3.
Wired: xenolope/quahog
Flatfile
Active
Hosted CSV / spreadsheet import experience for census uploads — gives brokers column-mapping UI without us building it.
Wired: config/services.php · key FLATFILE_ID
endroid/qr-code
Active
Server-side QR code generation. Used for share links / 2FA enrollment / employee landing flows.
Wired: endroid/qr-code (composer)
Internal Plansight tools

Built and run by us

Plansight-built services that live outside this repo but are part of the broader product surface.

Sage
Internal
In-app help chatbot at help.plansight.com. Trained on Plansight's knowledge base + Wistia video transcripts. Uses Anthropic Claude Haiku 4.5.
Repo: Apps/Sage/ (separate Vercel project)
Integrations chatbot
Internal
The chatbot on this site — answers questions about every integration documented here. Reads docs/integrations.md as its sole reference. Uses Anthropic Claude Haiku 4.5 with prompt caching.
Wired: api/chat.js · assets/chat-widget.js
Compass
Internal
Internal Plansight tool built last week. Lives in Apps/Oboarding/ alongside the onboarding overlay — surfaces the broker journey and decision points in one navigable view.
Repo: Apps/Oboarding/compass-demo/
Removed / legacy

No longer in use

These appear in composer.json, config/services.php, or Blade views but Steve has confirmed we no longer use them. Listed here as an audit trail — if any of these still show signs of life in production, it's a cleanup candidate.

Cleanup opportunity: for each item below, the next pass should remove the service config block, drop the composer dependency or env vars, and delete any remaining UI hooks. Any signal that one of these is still being called in production is worth investigating before deletion.
YAddress
Deprecated
Was: address validation / standardization on broker forms.
Wired: config/services.php · key YADDRESS_API_KEY
Zendesk
Deprecated
Was: support widget / chatbot / ticketing. Replaced by Sage on the help center.
Wired: huddledigital/zendesk-laravel · config/services.php zendesk block
Google Drive
Deprecated
Was: env folder management / shared file storage path.
Wired: config/services.php · googleDrive block · google/apiclient
OpenAI (gpt-3.5-turbo)
Deprecated
Was: server-side text generation. Replaced by AWS Bedrock / Llama 3 path. The OpenAiService.php class still has both engines wired but the OpenAI branch shouldn't be called.
Wired: app/Services/OpenAiService.php · method openAi35()
LinkedIn OAuth
Deprecated
Was: social sign-in option. Very old — predates current login design.
Wired: config/services.php · linkedin block · /auth/linkedin/callback
Facebook OAuth
Deprecated
Was: social sign-in option. Very old — predates current login design.
Wired: config/services.php · facebook block · /auth/facebook/callback
Salesforce
Never launched
Was: planned per-brokerage Salesforce CRM connection. The Connect / Disconnect / Refresh UI is in brokerageUpdate.blade.php and the OAuth callback route exists — but the integration was never actually rolled out.
Wired: resources/views/appPages/brokerageUpdate.blade.php · /auth/salesforce/callback