Skip to content

MarkoKCOM/LindaJets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linda Jets AI Operations Platform

Autonomous AI assistant for Linda Jets Charter Group — built on OpenClaw, powered by Claude.

Private jet brokerage, automated. From incoming RFQ to trip completion to CRM — your AI team handles the full lifecycle while your humans make the decisions.


What This Does

Linda Jets AI is a multi-agent system that plugs into your existing operations stack (Avinode, Slack, Salesforce) and handles the repetitive, time-sensitive work that eats your team's day:

1. Avinode RFQ Processing

An incoming Request for Quote hits Avinode. Within seconds, the AI:

  • Receives the RFQ via Avinode webhook (real-time, no polling)
  • Reads the trip details (route, dates, passengers, buyer)
  • Searches available aircraft matching the request
  • Ranks options by price, positioning cost, operator safety rating, and client preferences
  • Prepares a structured quote brief with top 3 options
  • Posts to your team's Slack channel for one-click approval
  • On approval → submits the quote directly to Avinode with full pricing breakdown
  • If declined → declines the request via Avinode API with optional reason

Result: RFQs that took 15-30 minutes of manual searching get processed in under a minute.

2. Avinode Messaging & Negotiations

  • Reads and sends messages through Avinode's trip messaging API — no email switching
  • Drafts responses to buyer questions (availability, pricing, aircraft specs)
  • Handles quote revisions and counter-offers
  • Alerts the team in Slack when a buyer responds
  • All messages logged and searchable

3. Contracts & Booking

  • On agreement → triggers booking via Avinode Book endpoint
  • Generates contract PDFs via Schedaero PDF generation
  • Sends contracts through Avinode messaging or email
  • Tracks signature status and follows up if unsigned

4. Trip Scheduling & Logistics

After the trip is booked, the agent handles scheduling via Avinode/Schedaero:

  • Creates the scheduled flight in the system
  • Fills in crew assignments, passenger manifests, and logistics
  • Coordinates catering, ground transport, and special requests
  • Tracks flight status through departure and arrival

5. Post-Trip: Full Data → Salesforce

Once the trip is complete and all details are finalized:

  • Extracts complete trip data via Schedaero Extract Data API
  • Pushes structured data directly to Salesforce via REST API
  • Maps to the correct CRM fields: client record, trip history, revenue, route, aircraft, crew, passenger count, special requests
  • No manual data entry — the CRM is always up to date

6. Smart Follow-Ups & Client Management

  • Tracks every quote and inquiry across Avinode + Salesforce
  • Automatically drafts follow-up messages at optimal intervals (24h, 72h after quote)
  • Post-flight thank-you messages
  • Re-engagement outreach after 30 days of inactivity
  • VIP date tracking (birthdays, anniversaries) for proactive outreach
  • No leads fall through the cracks

7. Empty Leg Matching

  • Continuously monitors Avinode for empty leg opportunities
  • Cross-references against client preferences stored in Salesforce
  • Flags deals worth reaching out about
  • Drafts personalized outreach for matching clients

Client Infrastructure

Linda Jets' existing tech stack — the AI integrates with all of it:

System Role How AI Connects
Avinode RFQs, quotes, aircraft search, messaging, booking Direct API (OAuth 2.0) + Webhooks
Salesforce CRM — all customer data, pipeline, trip history Direct REST API (OAuth 2.0)
Slack Team communication and AI interaction Slack Bot API
Centro Currently connects Slack ↔ Salesforce Phase 1: coexists. Phase 2: replaceable
Schedaero Trip scheduling, crew, logistics, PDF generation API (bundled with Avinode)

Integration Strategy

Phase 1 — Fast Deploy (Week 1-2):

  • Agent lives in Slack as a bot
  • Connects to Avinode API directly (RFQs, quotes, messaging, booking)
  • Centro continues syncing Slack ↔ Salesforce as-is
  • No Salesforce admin needed, no Centro changes

Phase 2 — Direct CRM (Week 3-4):

  • Agent connects to Salesforce REST API directly
  • Post-trip data goes straight to CRM (structured, not through Slack/Centro)
  • Salesforce admin (Miami) creates Connected App (~30 min call)
  • Centro becomes optional — agent handles the Salesforce sync natively

Phase 3 — Full Autonomy:

  • Centro can be removed entirely (cost savings)
  • Agent handles all data flow: Avinode ↔ Agent ↔ Salesforce
  • Slack remains as the team interface only

Architecture

                    ┌─────────────────────────────────┐
                    │          AVINODE                  │
                    │  RFQs · Quotes · Messages · Book │
                    └───────────────┬──────────────────┘
                                    │ API + Webhooks
                                    ▼
┌──────────┐              ┌─────────────────┐              ┌──────────────┐
│          │◄────────────►│   Linda AI ✈️    │─────────────►│  SALESFORCE   │
│  SLACK   │  Bot API     │  Orchestrator   │  REST API    │  CRM         │
│  (Team)  │              └────────┬────────┘  (Direct)    │  (Miami Admin)│
└──────────┘                       │                       └──────────────┘
      │                            │
      │ Centro (Phase 1)    ┌──────┴──────┐
      └────────────────►SF  │  SCHEDAERO  │
        (replaced Phase 2)  │  Trips/Crew │
                            └─────────────┘

Agents

Agent What It Does AI Model
Linda (Main) Orchestrates everything, team interface, decision support Claude Opus
Avinode RFQ processing, quote submission, messaging, booking, empty legs Claude Sonnet
Customer Support Client inquiries, FAQs, booking flow guidance Claude Sonnet
Concierge Catering, ground transport, itineraries, special requests Claude Sonnet
Sales/CRM Salesforce sync, client profiles, follow-ups, pipeline Claude Sonnet
Ops Trip scheduling, crew/logistics via Schedaero, flight tracking Qwen (cost-optimized)

Team Interaction (Slack)

Channel Agent What Happens There
#general Linda System commands, briefings, cross-domain coordination
#quotes-rfqs Avinode Incoming RFQs, quote briefs, approval requests
#client-support Customer Support Drafted client messages for review
#concierge Concierge Catering, transport, special requests
#sales-pipeline Sales/CRM Lead updates, follow-up reminders, pipeline reports
#operations Ops Flight status, schedule changes, crew assignments

Avinode API — Confirmed Capabilities

Full integration with the Avinode Developer API:

RFQ & Quote Lifecycle

Endpoint Capability Read/Write
Search Trips Find incoming RFQs Read
Read RFQs Get full trip details, route, buyer Read
Submit Quote Send pricing with breakdown Write
Decline Request Pass on an RFQ with reason Write
Book Request Confirm a trip Write
Cancel Trip Cancel if needed Write

Messaging

Endpoint Capability Read/Write
Trip Messaging/Chat Read and send messages within a trip thread Both

Aircraft & Scheduling

Endpoint Capability Read/Write
Search Aircraft By tail number, type, availability Read
Aircraft Types Specs, performance, amenities, photos Read
Calculate Flight Times Route-based time calculations Read
Schedule Management Read and update aircraft schedules Both
Scheduled Trips View scheduled flights Read

Empty Legs

Endpoint Capability Read/Write
Create Empty Legs Publish available repositioning flights Write
Search Empty Legs Find opportunities across marketplace Read
Watch Configurations Set up monitoring alerts Write

Data & Integration

Endpoint Capability Read/Write
Webhooks Real-time notifications for RFQs, status changes Both
Client Leads Create and read end-client lead data Both
Export Buyer Data Pull buyer information Read
PDF Generation Generate trip/quote documents (Schedaero) Read
Extract Data Pull complete trip data for external systems Read

Technical Details

  • Auth: OAuth 2.0 (token management with auto-refresh)
  • Webhooks: Real-time push notifications — no polling needed
  • Sandbox: Full sandbox environment for development/testing
  • Rate: ~1 req/sec steady, 2,000–5,000 calls/month estimated

Salesforce Integration

Connects to their existing Salesforce CRM via REST API:

What the Agent Does

  • Reads: Customer records, preferences, flight history, pipeline status
  • Writes: Trip data, quote outcomes, new leads, activity logs, follow-up tasks
  • Maps to their existing fields — their dashboards and reports update automatically

Security

  • OAuth 2.0 Connected App — scoped to minimum required permissions
  • Field-level security — admin controls exactly which fields the agent can access
  • IP whitelisting — lock API access to the agent's VPS IP
  • Full audit trail — every API call logged in Salesforce
  • Instant revocation — one click to cut access

What's Needed

  • Salesforce edition with API access (Enterprise/Unlimited — if Slack is connected, API is already enabled)
  • 30-minute call with their Miami admin to create Connected App and map fields
  • Not needed until Phase 2 — Phase 1 works through Slack + Centro

The Full Flow

This is how a typical trip lifecycle works end-to-end with the AI:

1. RFQ ARRIVES (Avinode webhook → Agent)
   └─ Agent reads trip details, searches aircraft, ranks options
   └─ Posts brief to Slack #quotes-rfqs for team review

2. QUOTE (Team approves in Slack → Agent submits via Avinode API)
   └─ Full pricing breakdown, aircraft details, availability
   └─ If declined → Agent declines via API

3. NEGOTIATE (Buyer messages in Avinode → Agent reads via messaging API)
   └─ Agent drafts response → posts to Slack for approval
   └─ Approved response sent back through Avinode messaging

4. BOOK (Agreement reached → Agent books via Avinode API)
   └─ Contract PDF generated via Schedaero
   └─ Sent to buyer through Avinode messaging

5. SCHEDULE (Agent creates scheduled trip)
   └─ Crew assignments, passenger manifest, logistics filled in
   └─ Concierge agent handles catering, ground transport
   └─ All details visible in Slack #operations

6. FLY (Trip executes)
   └─ Flight tracking, real-time status updates in Slack

7. POST-TRIP (Trip complete → Agent extracts full data)
   └─ All trip details pushed directly to Salesforce
   └─ Client record updated: route, aircraft, revenue, preferences
   └─ Follow-up thank-you drafted
   └─ CRM dashboards update automatically

What's Ready Now

Component Status
Agent workspace (identity, rules, company context) ✅ Ready
Avinode API client (TypeScript) ✅ Ready (awaiting API credentials)
RFQ processing workflow ✅ Ready
Aircraft search + ranking ✅ Ready
Quote submission workflow ✅ Ready
Quote decline workflow ✅ Ready
Avinode messaging integration ✅ Ready
Trip booking workflow ✅ Ready
Empty leg monitoring ✅ Ready
Customer support FAQ knowledge base ✅ Ready
Booking flow assistant ✅ Ready
Concierge skills (catering, transport, itinerary) ✅ Ready
CRM client profiles + follow-up automation ✅ Ready
Slack bot integration ✅ Ready
VPS bootstrap script (one-command deploy) ✅ Ready
Trip scheduling (Schedaero) 🔧 Phase 2
Crew & logistics automation 🔧 Phase 2
Direct Salesforce API integration 🔧 Phase 2
Contract PDF generation 🔧 Phase 2
Post-trip data → Salesforce sync 🔧 Phase 2
Centro replacement (direct CRM sync) 🔧 Phase 3
WhatsApp Business API integration 📋 Planned
Flight tracking (FlightAware) 📋 Planned

Deployment

One-command setup on a fresh VPS:

git clone git@github.com:MarkoKCOM/LindaJets.git /root/LindaJets
bash /root/LindaJets/deploy/bootstrap.sh

Then:

  1. Add credentials to /root/.openclaw/.env (Avinode API, Slack bot token)
  2. Configure Slack workspace and channel IDs
  3. Start the service
  4. Phase 2: Add Salesforce Connected App credentials

Security

  • All credentials stored in environment variables only — never in code or git
  • Client data (PII, travel patterns) kept in local memory, not committed to git
  • All client-facing messages require human approval before sending
  • Avinode API access scoped to minimum required permissions
  • Salesforce access scoped via OAuth + field-level security + IP whitelist
  • Workspace auto-committed to git for auditability (excluding sensitive data)
  • Salesforce is SOC 2 Type II, ISO 27001, GDPR, FedRAMP certified

Repository Structure

LindaJets/
├── README.md                          # This file
├── workspace/
│   ├── SOUL.md                        # AI identity and operating principles
│   ├── IDENTITY.md                    # Name, persona, tone
│   ├── USER.md                        # Who the AI serves
│   ├── COMPANY.md                     # Linda Jets business context
│   ├── TEAM.md                        # Staff directory
│   ├── AGENTS.md                      # Agent behavioral contract
│   ├── SUBAGENTS.md                   # Sub-agent roster and delegation rules
│   ├── SKILLS.md                      # Complete skill index
│   ├── HEARTBEAT.md                   # Periodic automated tasks
│   ├── MEMORY.md                      # Long-term AI memory
│   └── skills/
│       ├── avinode/                    # Avinode API integration
│       │   ├── README.md              # API documentation and endpoints
│       │   ├── avinode-client.ts       # TypeScript API client
│       │   ├── process-rfq.md         # RFQ processing workflow
│       │   ├── search-aircraft.md     # Aircraft search and ranking
│       │   ├── submit-quote.md        # Quote submission workflow
│       │   ├── decline-rfq.md         # RFQ decline workflow
│       │   ├── messaging.md           # Avinode messaging integration
│       │   ├── booking.md             # Trip booking workflow
│       │   └── empty-legs.md          # Empty leg monitoring
│       ├── customer-support/          # Client communication
│       │   ├── faq-handler.md         # FAQ knowledge base
│       │   └── booking-flow.md        # Booking assistant workflow
│       ├── concierge/                 # Experience management
│       │   ├── catering.md            # In-flight catering tiers
│       │   └── ground-transport.md    # Ground transport coordination
│       ├── crm/                       # Sales and CRM management
│       │   ├── salesforce-sync.md     # Salesforce API integration
│       │   ├── client-profile.md      # Client preference tracking
│       │   └── follow-up.md           # Automated follow-up system
│       └── ops/                       # Flight operations
│           ├── scheduling.md          # Trip scheduling via Schedaero
│           └── crew-logistics.md      # Crew and logistics management
├── config/
│   ├── openclaw.json.template         # Agent configuration template
│   └── .env.example                   # Required environment variables
└── deploy/
    └── bootstrap.sh                   # One-command VPS deployment

Built by KaspaCom on OpenClaw

About

OpenClaw AI Assistant for Linda Jets Charter Group — multi-agent jet brokerage automation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors