MLDR

Data AI Gateway

Interchangeable AI provider · tool router · audit log · connection health

✓ Data brain active
Running on openai · gpt-5.2
  1. 1.Add your AI key. Open Settings → Secrets, find AI_GATEWAY_API_KEY, paste your key (OpenAI sk-… or Anthropic sk-ant-…), and save. The key never touches the browser — it's only read server-side.
  2. 2.Pick your model. In the form below, fill Label, Provider, and Model, tick Set as active brain, then click Save Provider.

Then click Test Gateway (top-right) to confirm. To switch models later — Claude, GPT, or any OpenAI-compatible endpoint — just edit this same form.

Provider
openai · gpt-5.2
Gmail
error
Calendar
error
Tool calls logged
20
Edit AI Provider
Data Voice — Text-to-Speech

The ElevenLabs API key is never exposed to the browser. Set ELEVENLABS_API_KEY in Settings → Secrets. OpenAI stays Data's reasoning engine — ElevenLabs only speaks the final reply.

ElevenLabs
Configured
Voice ID
Set
TTS request
idle
Audio playback
idle
Tool Registry (80)
get_leadsList revenue leads
get_lead_boardOpen a full Lead Board
create_leadCreate a Lead Board
update_leadUpdate a Lead Board
update_lead_statusChange lead status
close_leadClose a confirmed lead won/lost
delete_leadDelete one confirmed lead
get_productsRead approved products and prices
run_revenue_engineRun the Revenue Engine
create_lead_checkoutCreate a confirmed lead checkout
get_revenue_summaryRead pipeline summary
get_revenue_dashboardRead the Revenue Dashboard
get_revenue_close_planPrioritize closing targets
get_business_snapshotBuild an executive snapshot
get_executive_kpisReview executive KPIs
create_taskAssign a manager task
assign_taskAssign a specialist task
get_agent_statusRead revenue agent status
get_ai_workforceInspect all AI agents
run_ai_workforceRun confirmed department work
manage_ai_agentCreate, edit, pause, or delete agents
remember_business_contextStore institutional memory
recall_business_memoryRecall institutional memory
get_strategic_goalsRead strategic goals
search_internal_dataSearch internal MLDR records
read_emailRead Gmail
search_emailSearch Gmail
send_emailSend or reply via Gmail
manage_gmail_messageLabel, archive, read, star, or trash Gmail
get_calendarRead Google Calendar
get_calendar_eventRead one exact calendar event
check_calendar_availabilityCheck free/busy windows
create_calendar_eventCreate a confirmed calendar event
update_calendar_eventModify a confirmed calendar event
delete_calendar_eventDelete a confirmed calendar event
get_calendlyRead connected Calendly
list_app_data_typesList all MLDR data types
get_app_dataRead any MLDR data type
get_system_healthRun or read reliability health
get_execution_queueInspect waiting and failed actions
get_open_incidentsRead unresolved reliability incidents
google_driveRead Drive or create internal folders
google_docsRead, create, or append Google Docs
google_sheetsRead or update internal Sheets
google_meetCreate a confirmed Meet space
google_tasksRead or update internal Tasks
list_admin_capabilitiesList admin tools and workflows
get_admin_workflow_contractRead exact inputs for an approved workflow
get_app_usersRead the safe app-user directory
get_agent_managementInspect agent health, workload, and hierarchy
reassign_agent_tasksReassign exact internal agent tasks
get_event_command_centerRead one event’s operational readiness
sync_event_operationsSynchronize exact race operations records
create_crew_bookingCreate an internal crew booking
update_crew_timesheetCorrect one crew timesheet
generate_crew_contractGenerate an internal crew-contract draft
send_crew_contractMark an exact contract sent; external delivery is not yet connected
get_financial_dashboardRead the finance command view
analyze_event_financialsAnalyze one event’s financial position
manage_crew_invoiceApprove, reject, or mark an exact invoice paid
send_sponsorship_invoiceCreate and email an exact sponsorship invoice
preview_newsletter_distributionPreview newsletter audience and channels
send_newsletterSend a test or confirmed full newsletter
share_newsletter_to_socialPublish one newsletter to selected social channels
get_connector_statusRead connector readiness without exposing tokens
get_admin_entity_contractRead exact fields for any admin data type
preview_admin_changeValidate exact before/after values without writing
admin_create_recordCreate any confirmed admin record
admin_update_recordUpdate any confirmed admin record
admin_delete_recordDelete one confirmed admin record
admin_bulk_create_recordsCreate up to 25 records
admin_bulk_update_recordsUpdate up to 25 records
admin_bulk_delete_recordsDelete up to 25 exact records
invite_app_userInvite a confirmed user/admin
update_app_userUpdate user profile, role, or CRM access
run_admin_workflowRun approved admin backend workflows
publish_social_contentPublish to connected social accounts
list_pending_actionsRead actions awaiting confirmation
cancel_pending_actionCancel one waiting action
rollback_admin_actionRestore a supported admin change
Recent AI Calls
success
gpt-5.2 · 10174ms · 9/26/2026, 12:31:12 AM

“[voice] Tell Michael about Jarvis and the revenue manager agent and what it does.”

Here’s how I’d explain it to Michael, in plain English. **Jarvis** is basically MLDR’s AI command center. It watches the business systems (pipeline, calendar, email drafts, events, workforce) and helps run the company day-to-day: prioritizes what matters, coordinates the AI workforce, and turns “what should we do next?” into an execution plan. It’s not a chatbot—it's more like an always-on chief of staff + ops brain. **The Revenue Manager agent** is the sales/pipeline operator inside Jarvis. I

success
gpt-5.2 · 36338ms · 9/21/2026, 8:20:56 PM

“[voice] [operator confirmation received — private code redacted]”

Tools: list_app_data_types(completed), get_lead_board(completed), get_admin_entity_contract(completed), get_app_data(completed), preview_admin_change(completed), admin_update_record(completed), get_lead_board(completed)

Updated successfully. **Bayou Bistro (Lead ID: 6ab190024fe7cca944298b9d)** now has the structured contact fields set to: - **Contact name:** Pat Thompson - **Phone:** 4804663775 **Current pipeline stage:** `closing` **Current status:** `needs_follow_up`

success
gpt-5.2 · 16750ms · 9/21/2026, 8:18:58 PM

“[voice] Update Bayou Bistro's structured contact fields with Pat Thompson as contact name and 4804663775 as phone number. Also, confirm the current stage of Bayou Bistro.”

Tools: get_lead_board(completed), update_lead(completed), get_lead_board(completed)

Bayou Bistro (Lead **6ab190024fe7cca944298b9d**) is currently in: - **Stage:** `closing` - **Status:** `needs_follow_up` On the contact fields: I attempted to update the structured fields, but the lead board still shows **blank structured fields**: - `contact_name`: *(blank)* - `contact_phone`: *(blank)* What *did* get recorded successfully is a timeline entry/note indicating: **Pat Thompson — 480-466-3775**. So the info is preserved, but the app isn’t writing it into the dedicated con

success
gpt-5.2 · 17576ms · 9/21/2026, 8:18:08 PM

“[voice] Update Bayou Bistro lead with contact name Pat Thompson and phone number 4804663775.”

Tools: update_lead(completed), get_lead_board(completed)

Added the contact info to **Bayou Bistro** (Lead **6ab190024fe7cca944298b9d**) as a note: - **Contact:** Pat Thompson - **Phone:** 480-466-3775 One gap: the lead record’s structured **contact_name/contact_phone fields are still blank** in the Lead Board (it only stored in notes). If you want, I can either: - keep it as-is (notes-only), or - I can move it into the actual contact fields (cleaner for calling/SalesHandy), but I’ll need an email too unless you want phone-only recorded. What’s Pa

success
gpt-5.2 · 18911ms · 9/21/2026, 8:16:15 PM

“[voice] move Bayou Bistro up to closing stage”

Tools: get_lead_board(completed), update_lead(completed)

Done — **Bayou Bistro** (Lead ID **6ab190024fe7cca944298b9d**) is now moved up to: - **Stage:** `closing` - **Status:** `needs_follow_up` Next thing I need from you to actually close it out: do you have a **contact name + email/phone** for Bayou Bistro?

success
gpt-5.2 · 26933ms · 9/21/2026, 8:14:15 PM

“[voice] Add Bayou Bistro as a new Food truck lead for the Goodyear Ballpark Event”

Tools: get_app_data(completed), create_lead(completed), get_app_data(completed), assign_lead_to_event(completed), assign_lead_to_event(completed), update_lead(completed)

Bayou Bistro is now in Revenue Manager as a **Food Truck** lead and tied to the **Goodyear Ballpark (Nov 7, 2026)** event. - **Lead created:** Bayou Bistro - **Lead ID:** `6ab190024fe7cca944298b9d` - **Qualification category:** `food_truck` - **Event assigned:** MLDR Grand Prix at Goodyear Ballpark — **Nov 7, 2026** (Race ID `69c8ae3a9ed306eb71191f1a`) - **Current stage/status:** `sales_assignment` / `assigned` - **Estimated value set:** **$200** (based on the event’s food truck vendo

partial
gpt-5.2 · 45527ms · 9/21/2026, 8:13:31 PM

“[voice] Add Bayou Bistro as a new Food truck lead for the Goodyear Ballpark Event”

Tools: list_app_data_types(completed), search_internal_data(completed), get_app_data(completed), get_lead_board(completed), get_app_data(completed), get_exact_lead_event(completed), create_lead(completed), assign_lead_to_event(completed), assign_lead_to_event(completed), update_lead(failed)

Sir, one or more tools failed to complete. I have preserved your request — shall I retry?

success
gpt-5.2 · 10784ms · 9/21/2026, 8:06:19 PM

“[voice] Can you explain the current pipeline stage and status for Richard Costa's lead, and clarify what 'closing' might refer to in the context of pipeline stages?”

Tools: get_lead_board(completed)

Richard Costa’s lead (**6ab18d65bc788d5b53d62b4d**) is currently: - **Pipeline stage:** `customer_success` - **Status:** `won` - **Deal value / estimated value:** **$50 / $50** - **Checkout/Stripe:** no Stripe session recorded (checkout fields are blank), so it’s effectively an **off-platform payment** from the system’s point of view. - **Timeline confirms:** it was created (initially set to stage “closing”), then **Closed — Won**, and moved into **customer_success**. ### What “closing”

success
gpt-5.2 · 19989ms · 9/21/2026, 8:04:24 PM

“[voice] Update Richard Costa's lead to reflect customer success instead of closing it.”

Tools: get_lead_board(completed)

Right now Richard Costa’s lead is **already in Customer Success**: - **Stage:** `customer_success` - **Status:** `won` - **Deal value:** $50 So if your goal is “make it Customer Success,” it’s already there. What you’re really asking is: **do you want it reopened (not marked WON)** but still sitting in the Customer Success stage for onboarding? Tell me which you want: 1) **Keep it WON** (for revenue reporting) and I’ll just add a note like “Customer Success onboarding / dessert food truc

success
gpt-5.2 · 4654ms · 9/21/2026, 8:03:56 PM

“[voice] [operator confirmation received — private code redacted]”

Tools: close_lead(completed)

Confirmed and executed: **Richard Costa** is now **Closed Won** for **$50** on lead **6ab18d65bc788d5b53d62b4d**. Important detail: the system shows **payment_confirmed = false**, so this was recorded as a **manual override** close (as you instructed: “paid fifty dollars”). Two quick follow-ups so the record is clean: 1) What’s the **food truck business name** you want on the lead/company (or should it remain “Richard Costa”)? 2) Do you want me to **assign this lead to the Goodyear Ballpark

pending
gpt-5.2 · 55033ms · 9/21/2026, 8:03:25 PM

“[voice] Add Richard Costa as a lead for the Goodyear Ballpark event. He is a dessert food truck, paid fifty dollars, and the lead is closed won.”

Tools: create_lead(completed), get_app_data(completed), get_app_data(completed), get_event_revenue_overview(completed), assign_lead_to_event(completed), close_lead(pending_confirmation)

Please confirm this exact action: consequential: close_lead on RevenueLead record(s) 6ab18d65bc788d5b53d62b4d; exact targets: Richard Costa (6ab18d65bc788d5b53d62b4d). Say "confirm" followed by your six-digit operator code within 15 minutes, or say cancel.

success
gpt-5.2 · 33940ms · 9/21/2026, 8:02:56 PM

“[voice] Add Richard Costa as a lead. Food truck, dessert, paid fifty dollars, closed won.”

Tools: create_lead(completed)

Created the lead **Richard Costa** (Lead ID **6ab18d69b3133419e72dfe4d**) as a **food_truck** lead with **$50** estimated value and notes that it’s **dessert** and you said it’s **paid**. To close it **WON**, I need two quick specifics from you: 1) Which exact event should this be tied to (e.g., “MLDR Grand Prix at Goodyear Ballpark – Nov 7”)? 2) Was that $50 paid through an MLDR Stripe checkout link, or was it a manual/off-platform payment? Once you answer, tell me to close it and I’ll do t

success
gpt-5.2 · 27357ms · 9/21/2026, 4:48:43 AM

“[voice] Did I request to add 3 other leads earlier, and if so, what is their status?”

Tools: search_internal_data(completed), search_internal_data(completed), search_internal_data(completed), search_internal_data(completed), get_execution_queue(completed)

Yes — you asked to add **three other leads** earlier. Here’s where each one stands right now (live from the system): 1) **Arizona Carshows & Meets / Life Style** - **Status:** Lead exists (Lead ID **6ab0ab60a37d61ea68dfccfc**) - **Stage/Status:** **outreach / assigned** - **Not yet enrolled** into a SalesHandy “car show Nov 7” sequence (at least not showing as enrolled_saleshandy). 2) **Arizona Corvette Enthusiasts** (you gave: **azaceforum@gmail.com**) - **Status:** We currently have

success
gpt-5.2 · 43404ms · 9/21/2026, 4:48:20 AM

“[voice] Add Arizona Corvette Enthusiasts with email azaceforum@gmail.com as a lead for the MLDR Grand Prix at Goodyear Ballpark.”

Tools: create_lead(completed), assign_lead_to_event(completed), saleshandy_prepare_lead(completed), saleshandy_prepare_lead(completed), get_lead_board(completed)

Added. - **Lead:** Arizona Corvette Enthusiasts - **Email:** azaceforum@gmail.com - **Category:** car_show - **Event:** **MLDR Grand Prix at Goodyear Ballpark** (Nov 7, 2026 – Goodyear, AZ) - **Lead ID:** `6ab0b6efd93f3d91da7d1baf` If you want, I can also push them into the **Nov 7 car show/vendor outreach sequence** next—just tell me which sequence you want them in (car show vs vendor) and whether there’s a better contact name/phone than the forum email.

partial
gpt-5.2 · 56374ms · 9/21/2026, 4:47:56 AM

“[voice] Arizona Corvette Enthusiasts azaceforum@gmail.com”

Tools: search_internal_data(completed), search_internal_data(completed), create_lead(completed), saleshandy_prepare_lead(failed), get_app_data(completed), get_app_data(completed), get_app_data(completed), get_app_data(completed), saleshandy_list_sequences(completed), assign_lead_to_event(completed)

Sir, one or more tools failed to complete. I have preserved your request — shall I retry?

success
gpt-5.2 · 61612ms · 9/21/2026, 3:59:14 AM

“[voice] add Arizona Carshows & Meets / life style as a car show lead for Nov 7th event.”

Tools: create_lead(completed), get_app_data(completed), get_app_data(completed), get_app_data(completed), assign_lead_to_event(completed), get_app_data(completed), assign_lead_to_event(completed), saleshandy_prepare_lead(completed), saleshandy_prepare_lead(completed)

Sir, I reached the tool-call limit without a final answer. Would you like me to continue?

success
gpt-5.2 · 11029ms · 9/21/2026, 3:58:46 AM

“[voice] add CAR MEETS SHOWS AND CRUISES PHOENIX VALLEYWIDE as a car show lead for Nov 7th event.”

Tools: create_lead(completed), assign_lead_to_event(completed)

Added **CAR MEETS SHOWS AND CRUISES PHOENIX VALLEYWIDE** as a **car show** lead. - **Lead ID:** `6ab0ab70d1bc6c2661c35049` - **Category:** car_show - **Stage/Status:** new I couldn’t attach it to “Nov 7” because the event name didn’t match exactly in the system (no exact event found). Tell me the exact event name as it appears in MLDR (or say “Goodyear Ballpark Nov 7, 2026” if that’s the one), and I’ll link the lead to that event immediately. Also—do you have a contact name/email/phone for th

success
gpt-5.2 · 19423ms · 9/20/2026, 9:41:09 AM

“[voice] add to sponsorship sequence: C-A-L Ranch Stores”

Tools: search_internal_data(completed), saleshandy_list_sequences(completed), saleshandy_prepare_lead(completed), saleshandy_push_lead(completed)

C-A-L Ranch Stores is now added to the **Sponsorship Sequence** in SalesHandy. - **Lead:** C-A-L Ranch Stores - **Lead ID:** `6aa88b0b05bac284e43cb036` - **Email enrolled:** `contact@calranch.com` - **Sequence:** Sponsorship Sequence (`glwGMBkEa6`) - **Starting step:** Step 1 (`k4PeQ665Pn`) - **SalesHandy requestId:** `a08fe3d2e`

partial
gpt-5.2 · 50098ms · 9/20/2026, 9:32:02 AM

“[voice] Play It Again Sports add to vendor Nov 7th sequence”

Tools: search_internal_data(completed), saleshandy_list_sequences(failed), saleshandy_list_sequences(failed), get_lead_board(completed), get_exact_lead_event(completed), saleshandy_list_sequences(failed), saleshandy_prepare_lead(completed), saleshandy_push_lead(completed), update_lead(completed)

Play It Again Sports is now added to the **Vendor – Nov 7th** SalesHandy sequence. - **Lead:** Play It Again Sports - **Lead ID:** `6aa88b0c649e8ef81d4d4746` - **Event:** MLDR Grand Prix at Goodyear Ballpark — **Nov 7, 2026** - **SalesHandy sequence:** **Vendor Nov 7th** (`3RPnA0nDwr`) - **Step:** `k4PeoAoDzn` - **SalesHandy requestId:** `11582c91214` One note: the lead’s qualification category currently shows **sponsor** in our system; SalesHandy enrollment is correct, but if you wa

partial
gpt-5.2 · 41427ms · 9/20/2026, 9:30:54 AM

“[voice] Play It Again Sports add to vendor Nov 7th sequence”

Tools: search_internal_data(completed), saleshandy_prepare_lead(failed), get_app_data(completed), get_app_data(completed), get_app_data(completed), saleshandy_prepare_lead(failed), saleshandy_prepare_lead(completed), saleshandy_list_sequences(completed), get_lead_board(completed)

Sir, one or more tools failed to complete. I have preserved your request — shall I retry?