---
title: "Check for new meetings"
description: "The Google Meet scripts connected to workspace that have Check now on run now instead of at their next run (every 5 minutes): Markdrop calls each script's web…"
canonical_url: https://docs.markdrop.in/api/meetings/check-for-new-meetings
last_updated: 2026-11-06
site: "Markdrop Docs"
index: https://docs.markdrop.in/llms.txt
---

# Check for new meetings

`POST https://api.markdrop.in/api/v1/meetings/check-now`

The Google Meet scripts connected to `workspace` that have Check now on run now instead of at their next run (every 5 minutes): Markdrop calls each script's web app with a key only it and the script have, the script sends what's new to the inbox as usual, and this waits for them (up to about 50 seconds; a script still sending then answers `timeout`, and its meetings arrive as it sends them). Members and up; once a minute per workspace (429 `{error: "too_soon", retry_after, message}`). 409 `{error, message}` with `not_connected` or `not_set_up`. Returns `{ok, message, checked, failed, not_set_up, imported, attached, updated, not_ready, writing, remaining, connections}`; each connection: `{connected_by, mine, ok, error?, message?, found, sent, imported, attached, updated, not_ready, writing, remaining}`. `error` is `bad_key` or `no_key` (the deployment runs an older script, or setup hasn't run since the update), `too_soon`, `busy` (a scheduled run is going), `disconnected`, `failed`, `sign_in` (Who has access isn't Anyone), `not_script`, `unreachable` or `timeout`. 6 a minute per person.

- **Authentication:** API token required: `Authorization: Bearer mdk_…`.
- **Rate limit:** 6 per minute per IP address.
- **MCP tool:** `check_meetings_now` ([tools](https://docs.markdrop.in/ai/tools))
- **Guide:** [Check for new meetings](https://docs.markdrop.in/workspaces/meetings-auto-import#check-for-new-meetings)

## Request body

`application/json`, required.

- `workspace` (string, required): File it in this workspace: the workspace's id. Up to 40 characters.

## Responses

- `200`: OK.
- `401`: No token, or the token is revoked or mistyped.
- `422`: The request didn't validate. `detail` lists each problem, with where it is (`loc`) and why (`msg`).
- `429`: Too many requests from your IP address. Wait the seconds in `Retry-After`.

## Examples

**curl**

```bash
curl -X POST https://api.markdrop.in/api/v1/meetings/check-now \
  -H "Authorization: Bearer $MARKDROP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"workspace":"665f1c2ab3e4d5f6a7b8c9d0"}'
```

**JavaScript**

```javascript
const res = await fetch("https://api.markdrop.in/api/v1/meetings/check-now", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.MARKDROP_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "workspace": "665f1c2ab3e4d5f6a7b8c9d0"
  }),
});
const data = await res.json();
```

**Python**

```python
import os

import requests

r = requests.post(
    "https://api.markdrop.in/api/v1/meetings/check-now",
    headers={"Authorization": f"Bearer {os.environ['MARKDROP_TOKEN']}"},
    json={"workspace": "665f1c2ab3e4d5f6a7b8c9d0"},
)
r.raise_for_status()
print(r.json())
```
