Developers

Build on Malleable.

Malleable is the AI calendar your users already live in. Embed the booking agent on your own site, call the REST API from your own backend, hand Claude the keys to your schedule, or script it from a terminal.

Install the CLI

npm install -g @malleable-cloud/cli

Using Claude Code? Run mal skill install to add the bundled /malleable skill, zero Malleable AI credits for board and calendar verbs.

Embed SDK

Embed the booking widget

Drop a booking widget or chat agent onto your own site with a single script tag. No build step, no npm package required.

Script tag

<script
  src="https://malleable.cloud/embed.js"
  data-slug="your-booking-slug"
  data-type="chatbot"
  data-position="bottom-right"
  async
></script>
Read the docs →
V1 REST API

Call the API directly

Events, tasks, notes, contacts, buckets (with per-repo GitHub links and tracked event families), time tracking, and availability, all under one base URL with a single bearer token.

curl

curl -X POST https://malleable.cloud/api/v1/events \
  -H "Authorization: Bearer mk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "title": "Design review", "date": "2026-05-10", "start_time": "14:00", "end_time": "15:00" }'
Read the docs →
MCP Server

Connect Claude to your calendar

On the web, add Malleable as a custom connector at claude.ai (Settings → Connectors) and sign in, no install. For Claude Desktop, run the local server with npx, live on npm now.

Claude.ai connector URL

https://malleable.cloud/api/mcp

# Claude Desktop (local): npx, no clone or build
npx @malleable-cloud/mcp-server
Read the docs →
CLI

Script it from the terminal

The mal CLI wraps the V1 API for headless use: the kanban board, events, tasks, notes, time tracking, availability, repo-to-bucket linking, and a natural-language escape hatch. Live on npm now.

Install

npm install -g @malleable-cloud/cli
mal login
mal today

# Link this repo to a bucket, shared for every teammate:
mal buckets link <bucket-id> --events commits,prs

# Inside a linked repo, the board scopes to that project:
mal board ls

# Using Claude Code? Install the bundled skill:
mal skill install
Read the docs →
Claude Code

Ambient time tracking

See your running Malleable timer at the bottom of every Claude Code session, no asking required. A small script polling mal time status --json, wired into your statusline.

settings.json

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline-mal.sh"
  }
}

# The script just polls:
mal time status --json
Read the docs →
Webhooks & API keys

Signed webhooks, scoped keys, and an audit log.

Mint reveal-once API keys with narrow scopes, configure signed webhook deliveries for the events you care about, and review every key's activity in the audit log.