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

# Luma: Post V1 Calendars Events Add

> Add or submit an existing event (on Luma or on an external platform) to the Luma calendar. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

Add or submit an existing event (on Luma or on an external platform) to the Luma calendar.

<Info>
  Tool ID: `luma_post_v1_calendars_events_add`
</Info>

## Run this action

Use the TypeScript SDK for a single call. Put `ctx.tools.execute(...)` inside a Play when the call should be durable, scheduled, or run across a CSV.

```ts theme={null}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'luma_post_v1_calendars_events_add',
  {
    "platform": "external",
    "url": "https://example.com",
    "name": "Example",
    "start_at": "2026-01-15T12:00:00Z",
    "duration_interval": "example",
    "timezone": "America/New_York"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={null}
deepline tools execute luma_post_v1_calendars_events_add --input '{
  "platform": "external",
  "url": "https://example.com",
  "name": "Example",
  "start_at": "2026-01-15T12:00:00Z",
  "duration_interval": "example",
  "timezone": "America/New_York"
}' --json
```

## Example response

The SDK exposes this shape at `result.toolResponse.raw`. Values below are representative.

```json theme={null}
{
  "data": {
    "id": "id_123",
    "status": "approved"
  }
}
```

Use `deepline tools get luma_post_v1_calendars_events_add --json` for the latest machine-readable contract.

## Input reference

Add or submit an existing event (on Luma or on an external platform) to the Luma calendar. By default, events added by a calendar manager are approved immediately. Use `submission_mode: "pending"` to keep the submission pending. On calendars with `require-manage-access`, submitting a Luma event you manage can also grant the target calendar manage access once the submission is approved.

| Name                        | Type                   | Required | Default  | Details                                                                                                                                                                  |
| --------------------------- | ---------------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `payload.platform`          | `"external" \| "luma"` | Yes      | —        | Allowed: `external`, `luma`.                                                                                                                                             |
| `payload.submission_mode`   | `"auto" \| "pending"`  | No       | `"auto"` | `auto` approves the event immediately. `pending` keeps the event pending for calendar admin approval. Allowed: `auto`, `pending`.                                        |
| `payload.url`               | `string`               | No       | —        | —                                                                                                                                                                        |
| `payload.name`              | `string`               | No       | —        | —                                                                                                                                                                        |
| `payload.start_at`          | `string`               | No       | —        | ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z Format: `date-time`.                                                                                            |
| `payload.duration_interval` | `string`               | No       | —        | ISO 8601 Duration. For example, PT2H                                                                                                                                     |
| `payload.timezone`          | `string`               | No       | —        | IANA Timezone, e.g. America/New\_York. [https://en.wikipedia.org/wiki/List\_of\_tz\_database\_time\_zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) |
| `payload.geo_address_json`  | `object \| null`       | No       | —        | —                                                                                                                                                                        |
| `payload.host`              | `string`               | No       | —        | —                                                                                                                                                                        |
| `payload.geo_longitude`     | `number`               | No       | —        | —                                                                                                                                                                        |
| `payload.geo_latitude`      | `number`               | No       | —        | —                                                                                                                                                                        |
| `payload.coordinate`        | `object`               | No       | —        | —                                                                                                                                                                        |
| `payload.event_id`          | `string`               | No       | —        | Event ID, this usually starts with evt-                                                                                                                                  |
| `payload.event_api_id`      | `string`               | No       | —        | Use `event_id` instead.                                                                                                                                                  |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Add or submit an existing event (on Luma or on an external platform) to the Luma calendar. By default, events added by a calendar manager are approved immediately. Use `submission_mode: \"pending\"` to keep the submission pending. On calendars with `require-manage-access`, submitting a Luma event you manage can also grant the target calendar manage access once the submission is approved.",
    "properties": {
      "platform": {
        "type": "string",
        "enum": [
          "external",
          "luma"
        ]
      },
      "submission_mode": {
        "type": "string",
        "description": "`auto` approves the event immediately. `pending` keeps the event pending for calendar admin approval.",
        "default": "auto",
        "enum": [
          "auto",
          "pending"
        ]
      },
      "url": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "start_at": {
        "type": "string",
        "description": "ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z",
        "format": "date-time"
      },
      "duration_interval": {
        "type": "string",
        "description": "ISO 8601 Duration. For example, PT2H"
      },
      "timezone": {
        "type": "string",
        "description": "IANA Timezone, e.g. America/New_York. https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"
      },
      "geo_address_json": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "manual"
              },
              "address": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "address"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "google"
              },
              "place_id": {
                "type": "string"
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "type",
              "place_id"
            ],
            "additionalProperties": false
          },
          {
            "type": "null"
          }
        ]
      },
      "host": {
        "type": [
          "string",
          "null"
        ]
      },
      "geo_longitude": {
        "type": [
          "number",
          "null"
        ]
      },
      "geo_latitude": {
        "type": [
          "number",
          "null"
        ]
      },
      "coordinate": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "longitude": {
            "type": "number"
          },
          "latitude": {
            "type": "number"
          }
        },
        "required": [
          "longitude",
          "latitude"
        ],
        "additionalProperties": false
      },
      "event_id": {
        "type": "string",
        "description": "Event ID, this usually starts with evt-"
      },
      "event_api_id": {
        "type": "string",
        "description": "Use `event_id` instead."
      }
    },
    "required": [
      "platform"
    ],
    "anyOf": [
      {
        "type": "object",
        "properties": {
          "platform": {
            "type": "string",
            "const": "external"
          },
          "submission_mode": {
            "type": "string",
            "description": "`auto` approves the event immediately. `pending` keeps the event pending for calendar admin approval.",
            "default": "auto",
            "enum": [
              "auto",
              "pending"
            ]
          },
          "url": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "start_at": {
            "type": "string",
            "description": "ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z",
            "format": "date-time"
          },
          "duration_interval": {
            "type": "string",
            "description": "ISO 8601 Duration. For example, PT2H"
          },
          "timezone": {
            "type": "string",
            "description": "IANA Timezone, e.g. America/New_York. https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"
          },
          "geo_address_json": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "manual"
                  },
                  "address": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "address"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "google"
                  },
                  "place_id": {
                    "type": "string"
                  },
                  "description": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "type",
                  "place_id"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "host": {
            "type": [
              "string",
              "null"
            ]
          },
          "geo_longitude": {
            "type": [
              "number",
              "null"
            ]
          },
          "geo_latitude": {
            "type": [
              "number",
              "null"
            ]
          },
          "coordinate": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "longitude": {
                "type": "number"
              },
              "latitude": {
                "type": "number"
              }
            },
            "required": [
              "longitude",
              "latitude"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "platform",
          "url",
          "name",
          "start_at",
          "duration_interval",
          "timezone"
        ],
        "additionalProperties": false
      },
      {
        "type": "object",
        "properties": {
          "platform": {
            "type": "string",
            "const": "luma"
          },
          "submission_mode": {
            "type": "string",
            "description": "`auto` approves the event immediately. `pending` keeps the event pending for calendar admin approval.",
            "default": "auto",
            "enum": [
              "auto",
              "pending"
            ]
          },
          "event_id": {
            "type": "string",
            "description": "Event ID, this usually starts with evt-"
          },
          "event_api_id": {
            "type": "string",
            "description": "Use `event_id` instead."
          }
        },
        "required": [
          "platform"
        ],
        "additionalProperties": false
      }
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name                 | Type                      | Required | Default | Details                                        |
| -------------------- | ------------------------- | -------- | ------- | ---------------------------------------------- |
| `result.data`        | `object`                  | Yes      | —       | Provider response payload.                     |
| `result.data.id`     | `string`                  | Yes      | —       | —                                              |
| `result.data.status` | `"approved" \| "pending"` | Yes      | —       | Allowed: `approved`, `pending`.                |
| `result.meta`        | `object`                  | No       | —       | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "approved",
              "pending"
            ]
          }
        },
        "required": [
          "id",
          "status"
        ],
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Luma provider guide](/docs/providers/luma/guide)
* [SDK V2 quickstart](/docs/sdk-v2/quickstart)
* [SDK reference](/docs/sdk-v2/sdk-reference)
* [Run tools across a CSV](/docs/sdk-v2/batch-csv)
