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

# data_sources_create

> Add another table to an existing database. Exactly one column must be the `title` type. To create a database and its first table together, use `databases_create` instead.

<div className="tool-route"><span className="tool-row-method" data-method="POST">POST</span><code>{"https://api.notion.com/v1/data_sources"}</code></div>

```python notion_data_sources_create.py theme={null}
from charter.packs import notion

result = await notion.data_sources_create.ainvoke({"body": ...})
```

<Note>
  Requires `Insert content`.
</Note>

<Warning>
  This tool's JSON schema is 23 KB, because it models the whole resource this endpoint writes.
  That is more context than most tasks. Narrow it at the call site
  with [`Tool.derived`](/charter/charter/reference/tool#tool-derived):

  ```python theme={null}
  narrowed = notion.data_sources_create.derived(
      name="data_sources_create_narrowed",
      drop={"body.title", "body.icon"},
  )
  ```

  Those are its heaviest branches by schema size, not a recommendation: which ones you can spare is yours to decide. The tool underneath is unchanged.
  See [Projections](/charter/charter/tools/projections).
</Warning>

## Body

<div className="reference-table">
  | Field                                                        | Type                                                                                    | Description                |
  | ------------------------------------------------------------ | --------------------------------------------------------------------------------------- | -------------------------- |
  | `body` <span className="required" title="required">\*</span> | [DataSourceCreateBody](/charter/charter/packs/notion/data_sources/objects#datasourcecreatebody) | The data source to create. |
</div>
