OpenAI - AI agent tools
The @tiptap-pro/ai-toolkit-openai package provides tool definitions you can add to your AI agent built with OpenAI's JavaScript SDK.
The tool calls generated by the model can then be executed in the client-side using the executeTool method.
Example usage
Install the package.
npm install @tiptap-pro/ai-toolkit-openaiSupply the tool definitions to your OpenAI model.
import OpenAI from 'openai'
import { toolDefinitions } from '@tiptap-pro/ai-toolkit-openai'
const openai = new OpenAI()
const response = await openai.responses.create({
model: 'gpt-5',
input: [{ role: 'user', content: 'Help me edit this document' }],
tools: toolDefinitions(),
})Combine the tool definitions with your custom tools.
import OpenAI from 'openai'
import { toolDefinitions } from '@tiptap-pro/ai-toolkit-openai'
const openai = new OpenAI()
const customTools = [
{
type: 'function',
name: 'get_weather',
description: 'Get the weather in a location',
parameters: {
type: 'object',
properties: {
location: {
type: 'string',
description: 'The city and state, e.g. San Francisco, CA',
},
},
required: ['location'],
},
},
]
const response = await openai.responses.create({
model: 'gpt-5',
input: [{ role: 'user', content: 'What is the weather like and help me edit this document' }],
tools: [...toolDefinitions(), ...customTools],
})API reference
toolDefinitions
Creates tool definitions for the Tiptap AI Toolkit compatible with OpenAI's responses API.
Parameters (ToolDefinitionsOptions)
tools?:EnabledTools- Enable/disable specific tools by setting the value totrue(enabled) orfalse(disabled).tiptapRead?:boolean- Enable/disable thetiptapReadtool (default:true)tiptapEdit?:boolean- Enable/disable thetiptapEdittool (default:true)tiptapReadSelection?:boolean- Enable/disable thetiptapReadSelectiontool (default:true)getThreads?:boolean- Enable/disable thegetThreadstool (default:false)editThreads?:boolean- Enable/disable theeditThreadstool (default:false)
Returns
An array containing the enabled tool definitions that can be used with OpenAI's responses API. To see the full list of tools, see the Available tools page.
completionsApiToolDefinitions
Creates tool definitions for the Tiptap AI Toolkit compatible with OpenAI's completions API.
Parameters (ToolDefinitionsOptions)
tools?:EnabledTools- Enable/disable specific tools by setting the value totrue(enabled) orfalse(disabled).tiptapRead?:boolean- Enable/disable thetiptapReadtool (default:true)tiptapEdit?:boolean- Enable/disable thetiptapEdittool (default:true)tiptapReadSelection?:boolean- Enable/disable thetiptapReadSelectiontool (default:true)getThreads?:boolean- Enable/disable thegetThreadstool (default:false)editThreads?:boolean- Enable/disable theeditThreadstool (default:false)
Returns
An array containing the enabled tool definitions that can be used with OpenAI's completions API. To see the full list of tools, see the Available tools page.