> ## Documentation Index
> Fetch the complete documentation index at: https://docs.syncline.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Schedule your first meeting in 5 minutes

## Get Your API Key

<Steps>
  <Step title="Sign Up">
    Visit [syncline.run/developer/login](https://syncline.run/developer/login) and authenticate with Google.
  </Step>

  <Step title="Copy Your API Key">
    After authentication, you'll see your API key on the developer dashboard. Copy it and store it securely.

    ```bash theme={null}
    export SYNCLINE_API_KEY="your_api_key_here"
    ```
  </Step>
</Steps>

## Connect Your Calendar

Before scheduling meetings, you need to connect your Google Calendar:

<Steps>
  <Step title="OAuth Flow">
    On the developer dashboard, click "Connect Calendar" and authenticate with Google.
  </Step>

  <Step title="Grant Permissions">
    Allow Syncline to read your calendar availability and create events.
  </Step>

  <Step title="Verify Connection">
    You'll see a green checkmark when your calendar is connected.
  </Step>
</Steps>

## Schedule Your First Meeting

### Using the REST API

```bash theme={null}
curl -X POST https://api.syncline.run/v1/schedule/auto \
  -H "Authorization: Bearer $SYNCLINE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "attendees": ["alice@example.com", "bob@example.com"],
    "duration_minutes": 30,
    "title": "Product Demo",
    "context": "client_demo",
    "description": "Demo of our new features",
    "auto": true
  }'
```

### Response (202 Accepted)

The API returns immediately with a job ID. Results are delivered via webhook.

```json theme={null}
{
  "job_id": "sched_7d8f9e3a2b1c",
  "status": "processing",
  "message": "Scheduling request received. Results will be delivered via webhook.",
  "estimated_completion_seconds": 10,
  "webhook_event": "meeting.scheduling.completed"
}
```

<Note>
  **Async API**: The scheduling happens in the background. You'll receive a `meeting.scheduling.completed` webhook with the meeting details, or `meeting.scheduling.failed` if scheduling fails. See [Webhooks](/webhooks) for details.
</Note>

## Using the MCP Server (For AI Agents)

If you're building with Claude or other AI agents, use our MCP server:

### Installation

```bash theme={null}
npm install -g @kekwanulabs/syncline-mcp-server
```

### Configure Claude Desktop

Add to your `claude_desktop_config.json`:

```json theme={null}
{
  "mcpServers": {
    "syncline": {
      "command": "npx",
      "args": ["-y", "@kekwanulabs/syncline-mcp-server"],
      "env": {
        "SYNCLINE_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

### Use with Claude

```
You: Schedule a 30-minute product demo with alice@example.com 
     next week. Pick the best time automatically.

Claude: I'll use Syncline to find and schedule the optimal time...
        [Uses schedule_auto tool]
        
        Done! I've scheduled your product demo for Tuesday, 
        January 16th at 2:00 PM. Calendar invites sent to both attendees.
```

## Understanding Meeting Contexts

Syncline's AI uses context to make smart scheduling decisions:

<CodeGroup>
  ```bash Investor Call (Morning Priority) theme={null}
  curl -X POST https://api.syncline.run/v1/schedule/auto \
    -H "Authorization: Bearer $SYNCLINE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "attendees": ["investor@vc.com"],
      "duration_minutes": 45,
      "title": "Series A Discussion",
      "context": "investor_call",
      "auto": true
    }'
  ```

  ```bash Quick Sync (Flexible) theme={null}
  curl -X POST https://api.syncline.run/v1/schedule/auto \
    -H "Authorization: Bearer $SYNCLINE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "attendees": ["teammate@company.com"],
      "duration_minutes": 15,
      "title": "Quick Sync",
      "context": "team_standup",
      "auto": true
    }'
  ```
</CodeGroup>

## Available Meeting Contexts

* `warm_intro` - Introduction to someone you know
* `cold_outreach` - First contact
* `investor_call` - Meeting with investors (prioritizes mornings)
* `client_demo` - Product demonstration
* `team_standup` - Daily team sync (flexible timing)
* `one_on_one` - 1:1 meeting
* `interview` - Job interview
* `sales_call` - Sales conversation
* `strategy_session` - Strategic planning
* `brainstorm` - Creative ideation
* `review` - Performance or project review
* `casual_chat` - Informal catch-up
* `urgent` - Time-sensitive meeting

## Next Steps

<CardGroup cols={2}>
  <Card title="API Reference" icon="code" href="/api-reference/schedule-auto">
    Explore all API endpoints
  </Card>

  <Card title="Smart Ranking" icon="sparkles" href="/concepts/smart-ranking">
    Learn how slots are ranked by quality
  </Card>

  <Card title="MCP Server Guide" icon="robot" href="/mcp/installation">
    Full MCP server documentation
  </Card>

  <Card title="AI Assistant Example" icon="lightbulb" href="/examples/ai-assistant">
    Build a complete scheduling agent
  </Card>
</CardGroup>
