create_document
Create new documents in Outline wiki with specified titles, content, and collection organization for structured knowledge management.
Instructions
Create a new document.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| text | No | ||
| collectionId | Yes | ||
| parentDocumentId | No | ||
| publish | No |
Implementation Reference
- src/lib/handlers/documents.ts:56-68 (handler)The main handler function for the 'create_document' tool. It performs access check and calls the Outline API to create a new document with the provided title, text, collection, parent, and publish settings.async create_document(args: CreateDocumentInput) { checkAccess(config, 'create_document'); const { data } = await apiCall(() => apiClient.post<OutlineDocument>('/documents.create', { title: args.title, text: args.text, collectionId: args.collectionId, parentDocumentId: args.parentDocumentId, publish: args.publish, }) ); return docResult(data, MESSAGES.DOCUMENT_CREATED); },
- src/lib/schemas.ts:42-48 (schema)Zod schema defining the input parameters for create_document: title (required), text (optional), collectionId (optional UUID), parentDocumentId (optional UUID), publish (boolean, default true).export const createDocumentSchema = z.object({ title: z.string().min(1, 'Title is required'), text: z.string().default(''), collectionId, parentDocumentId: z.string().uuid().optional(), publish: z.boolean().default(true), });
- src/lib/tools.ts:75-79 (registration)Tool registration in the allTools array using createTool, specifying name 'create_document', description, and schema key.createTool( 'create_document', 'Create a new document.', 'create_document' ),
- src/lib/schemas.ts:220-220 (schema)Mapping of 'create_document' tool name to its schema in the toolSchemas object used by createTool.create_document: createDocumentSchema,
- src/lib/handlers/documents.ts:31-31 (registration)The createDocumentHandlers factory function that returns an object containing the create_document handler, among others. This is imported and spread in handlers/index.ts.export function createDocumentHandlers({ apiClient, apiCall, config }: AppContext) {