Skip to content

technicaldee/elasticboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elasticboard

From calendar conflicts to verified actions, powered by Elastic Agent Builder and Elasticsearch.

Elasticboard is a multi-step AI agent workspace that:

  • Syncs real Google Calendar data into Elasticsearch
  • Uses Agent Builder + Search/ES|QL for planning and conflict detection
  • Renders actionable nodes on a visual storyboard
  • Executes reliable follow-up actions in GitHub Issues
  • Verifies action outcomes and logs measurable impact

This project is built for the Elasticsearch Agent Builder Hackathon with a strict no-mock, real-data flow.

Why it matters

Most “AI assistants” stop at advice. Elasticboard closes the loop:

  1. Retrieve live context
  2. Reason over that context
  3. Take an external action
  4. Verify that action
  5. Track impact metrics in Elasticsearch

Core capabilities

  • Real Google Calendar OAuth flow
  • Event ingestion and indexing (calendar-events)
  • Agent chat with markdown output and storyboard node extraction
  • Manual board editing (add/delete/clear cards)
  • Save and load storyboards (saved-storyboards)
  • Reliable action loop:
    • Detect overlapping meetings
    • Create GitHub follow-up issue
    • Verify issue creation
    • Log execution + estimated time saved (actions-log)

Tech stack

  • Frontend: React, Vite, React Flow
  • Backend: Node.js, Express
  • Retrieval/data: Elasticsearch
  • Agent runtime: Elastic Agent Builder APIs (Kibana)
  • Integrations: Google Calendar API (OAuth2), GitHub REST API (Issues)

Architecture

  • frontend/: UI, storyboard canvas, chat, integrations panel
  • backend/: Elastic proxy, Google OAuth/sync, GitHub action loop, metrics endpoints
  • agent-system-instructions.json: suggested Agent Builder system instructions

Primary indices:

  • calendar-connections
  • calendar-events
  • saved-storyboards
  • actions-log

Quick start

1) Start backend

cd backend
npm install
npm run dev

2) Start frontend

cd frontend
npm install
npm run dev

Open http://localhost:5174.

Connect setup

In Connect to Elastic, provide:

  • Elastic API Key
  • Kibana URL
  • Elasticsearch URL
  • Google OAuth Client ID
  • Google OAuth Client Secret
  • (Optional, for reliable action loop) GitHub Token + GitHub Repo (owner/repo)

Google OAuth redirect URI

Set this exact URI in Google Cloud OAuth client settings:

http://localhost:3001/api/calendar/google/callback

Demo flow (recommended)

  1. Connect Elastic + integrations
  2. Sync calendar events
  3. Ask: “What conflicts do I have today?”
  4. Show storyboard node generation
  5. Run Create conflict follow-up issue
  6. Show verification + metrics
  7. Save storyboard and reload it

See also: DEMO_SCRIPT.md.

API endpoints

Agent / core

  • GET /health
  • GET /api/verify
  • GET /api/agents
  • POST /api/converse
  • POST /api/converse/stream

Storyboards

  • POST /api/storyboards/save
  • GET /api/storyboards/list
  • GET /api/storyboards/:id

Google Calendar

  • POST /api/calendar/google/auth-url
  • GET /api/calendar/google/callback
  • GET /api/calendar/google/status
  • POST /api/calendar/google/sync
  • GET /api/calendar/google/events
  • DELETE /api/calendar/google/disconnect

GitHub + action loop

  • GET /api/github/status
  • POST /api/actions/resolve-conflict
  • GET /api/actions/metrics

Notes

  • This repo intentionally avoids fake/demo data injection in production paths.
  • Secrets should be rotated and managed securely for production use.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors