Browse / Scheduling and staffing
newdle
CERN's Doodle-style meeting poll with Exchange free/busy, configured through one Flask config file.
newdle, from the Indico team at CERN, lets an organiser propose candidate slots, see when participants are free from Exchange free/busy, and collect answers on a poll. It is a Flask backend with a React frontend, configured in newdle.cfg (SSO over OIDC, database, SMTP, free/busy providers) and shipped with Docker Compose. The JSON API behind the UI is not documented for agents.
- my organization has SSO and Exchange and I want a when-are-you-free poll that stays inside our network
- I want a Doodle without ads or accounts for participants, backed by a team that runs it at CERN scale
- No local accounts: login requires an OIDC provider through Flask-Multipass; SKIP_LOGIN is for development only
- Free/busy is Exchange only; Google and CalDAV providers are 'work in progress' per the README
- Creating the final meeting in Indico is still unfinished
- Last push 2026-04-24, near the edge of the six-month window
Last activity Apr 24, 2026. Fit: adaptable 3, operable 1.
Adaptable: what is yours to change
Make it yours
Config only4 things to edit
Copy newdle/newdle.cfg.example to newdle.cfg and set SECRET_KEY, SQLALCHEMY_DATABASE_URI, the MULTIPASS_AUTH_PROVIDER_LOGIN block with your OIDC metadata URL and client credentials, EMAIL_HOST and friends plus NOREPLY_ADDRESS, and FREE_BUSY_PROVIDERS (exchange, or random for testing) with the Exchange settings. PROXY, TOKEN_LIFETIME and NEWDLE_CODE_LENGTH tune behavior. docker-compose.yml runs the production-like stack.
- Env vars
- none
- Config files
newdle/newdle.cfg.examplenewdle.cfgdocker-compose.yml.env- Prompt files
- none
- Accounts you need
- an OIDC identity providerMicrosoft Exchange (free/busy, optional)
Source
- github.com/indico/newdle
- MIT license
- Last commit Apr 24, 2026
- 118 stars
Code stack
- Languages
- PythonJavaScript
- Frameworks
- FlaskFlask-MultipassSQLAlchemyAlembicReact
- Package manager
- pip
- Database
- PostgreSQL
- Hosting target
- docker
- Built
- Human-written (recorded, never ranked)
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README: Flask backend and React frontend served together; docker compose targets | 95% |
| executionModel | no model SDK or AI feature | 95% |
| operability | no documented API, MCP or CLI; the React app calls Flask JSON routes that are not documented for external use | 80% |
| effort | newdle/newdle.cfg.example read this run; every setting is commented | 95% |
| editions | README: MIT with the CERN privileges note; no hosted offering | 95% |
| active | shortlist pushedAt 2026-04-24 | – |
| reach | 0% |
Open questions
- Operable fit kept at 1 per triage because the Flask JSON API exists but is undocumented and session-authenticated; no Operable capability claimed. Curator to decide
- Is an OIDC provider a hard requirement, or does Flask-Multipass allow a local provider in production?
Sources
- github.com/indico/newdle sourcing:scheduling-staffing:github
- github.com/indico/newdle/blob/master/newdle/newdle.cfg.example analysis:scheduling-staffing