Access OpenAI's platform API with API key authentication. Manage files, assistants, vector stores, batches, fine-tuning jobs, and model resources. Generate chat completions, images, audio, and video.
This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure OpenAI API access yourself.
Step 1: InstallStep 2: Pair AccountStep 3: Connect OpenAI
_App-specific connection GIF coming soon_Run the install command in OpenClawSign in and approve the deviceOpen the dashboard and connect OpenAI
text
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ OpenAI API │
│ (User Chat) │ │ (API Key) │ │ │
└─────────────────┘ └──────────────┘ └──────────────────┘
│ │ │
│ 1. Install Plugin │ │
│ 2. Pair Device │ │
│3. Connect OpenAI │ │
│ │ 4. Secure Proxy │
│ │ 5. API Requests │
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ SKILL │ │ Dashboard│ │ OpenAI │
│ File │ │ Auth │ │ Platform │
└──────────┘ └──────────┘ └──────────┘
Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.
bash
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for OpenAI again."
bash
# List assistants
clawlink_call_tool --tool "openai_list_assistants" --params '{"limit": 10}'
# Create a chat completion
clawlink_call_tool --tool "openai_create_chat_completion" --params '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'
# List files
clawlink_call_tool --tool "openai_list_files" --params '{"purpose": "batch"}'
All OpenAI tool calls are authenticated automatically by ClawLink using the user's OpenAI API key.
No API key is required in chat. ClawLink stores the API key securely and injects it into every OpenAI API request on the user's behalf.
clawlink_begin_pairing if it is not configured yet.clawlink_list_integrations to verify the connection is active.bash
clawlink_list_integrations
Response: Returns all connected integrations. Look for openai in the list.
bash
clawlink_list_tools --integration openai
Response: Returns the live tool catalog for OpenAI.
If OpenAI tools are missing or the connection shows an error:
clawlink_list_integrations to verifyclawlink_list_tools --integration openaiToolDescriptionModeopenai_list_assistantsList assistants to discover by name or metadataReadopenai_create_assistantCreate a new assistant with model and toolsWriteopenai_modify_assistantUpdate an existing assistantWriteopenai_delete_assistantDelete an assistant permanentlyWriteopenai_create_threadCreate a new conversation threadWriteopenai_create_messageAdd a message to a threadWriteopenai_create_runExecute an assistant on a threadWriteopenai_list_messagesList messages in a threadReadopenai_list_runsList runs for a threadReadopenai_cancel_runCancel an in-progress runWriteopenai_list_run_stepsList steps in a runReadopenai_get_run_stepGet details of a specific run stepRead
ToolDescriptionModeopenai_list_filesList uploaded filesReadopenai_upload_fileUpload a file to OpenAIWriteopenai_delete_fileDelete an uploaded fileWriteopenai_download_fileDownload file contentReadopenai_create_vector_storeCreate a vector storeWriteopenai_list_vector_storesList vector storesReadopenai_get_vector_storeGet vector store detailsReadopenai_delete_vector_storeDelete a vector storeWriteopenai_create_vector_store_fileAdd a file to a vector storeWriteopenai_list_vector_store_filesList files in a vector storeReadopenai_delete_vector_store_fileRemove a file from a vector storeWrite
ToolDescriptionModeopenai_list_batchesList batch jobsReadopenai_create_batchCreate a batch from a JSONL fileWriteopenai_cancel_batchCancel an in-progress batchWriteopenai_list_fine_tunesList fine-tuning jobsReadopenai_create_fine_tuning_jobStart a fine-tuning jobWriteopenai_list_fine_tuning_eventsGet events for a fine-tuning jobReadopenai_list_fine_tuning_job_checkpointsList checkpoints from a fine-tuning jobRead
ToolDescriptionModeopenai_create_chat_completionCreate a chat completionReadopenai_create_completionCreate a text completion (legacy)Readopenai_create_responseCreate a response via Responses APIWriteopenai_create_embeddingsGenerate text embeddingsReadopenai_create_imageGenerate an imageWriteopenai_create_image_editEdit an existing imageWriteopenai_create_image_variationCreate an image variationWriteopenai_create_speechGenerate text-to-speech audioReadopenai_create_audio_transcriptionTranscribe audio to textReadopenai_create_audio_translationTranslate audio to EnglishReadopenai_create_videoGenerate a videoWriteopenai_list_videosList video generation jobsReadopenai_get_videoGet video generation statusReadopenai_download_videoDownload video contentReadopenai_create_moderationClassify content for policy violationsRead
ToolDescriptionModeopenai_list_evalsList evaluationsReadopenai_get_evalGet evaluation detailsReadopenai_create_evalCreate an evaluationWriteopenai_delete_evalDelete an evaluationWriteopenai_create_eval_runStart an evaluation runWriteopenai_get_eval_runGet evaluation run statusReadopenai_list_eval_runsList evaluation runsReadopenai_cancel_eval_runCancel an evaluation runWrite
ToolDescriptionModeopenai_list_modelsList available modelsReadopenai_list_enginesList available enginesReadopenai_get_input_token_countsCalculate token counts for a requestReadopenai_create_skillCreate a skill from filesWriteopenai_list_skillsList skillsReadopenai_delete_skillDelete a skillWriteopenai_create_containerCreate an isolated execution containerWriteopenai_list_containersList containersReadopenai_delete_containerDelete a containerWrite
bash
clawlink_call_tool --tool "openai_create_chat_completion" \
--params '{
"model": "gpt-4o",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain quantum computing in simple terms."}
],
"max_tokens": 500
}'
bash
clawlink_call_tool --tool "openai_create_assistant" \
--params '{
"name": "Code Reviewer",
"model": "gpt-4o",
"instructions": "You review code and suggest improvements.",
"tools": [{"type": "code_interpreter"}]
}'
bash
clawlink_call_tool --tool "openai_upload_file" \
--params '{
"file": "@./knowledge.pdf",
"purpose": "assistants"
}'
clawlink_call_tool --tool "openai_create_vector_store_file" \
--params '{
"vector_store_id": "VS_ID",
"file_id": "FILE_ID"
}'
bash
clawlink_call_tool --tool "openai_create_batch" \
--params '{
"input_file_id": "FILE_ID",
"endpoint": "chat/completions",
"model": "gpt-4o-mini",
"completion_window": "24h"
}'
bash
clawlink_call_tool --tool "openai_create_image" \
--params '{
"model": "dall-e-3",
"prompt": "A minimalist diagram showing the OpenClaw to ClawLink to Provider flow",
"size": "1024x1024",
"n": 1
}'
clawlink_list_integrations to confirm OpenAI is connected.clawlink_list_tools --integration openai to see the live catalog.clawlink_search_tools with a short query and integration openai.text
┌─────────────────────────────────────────────────────────────┐
│ READ OPERATIONS (Safe) │
│ list → get → search → describe → call │
│ │
│ Example: List models → Create completion → Return result │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ WRITE OPERATIONS (Require Confirmation) │
│ list → get → describe → preview → confirm → call │
│ │
│ Example: Describe tool → Preview changes → User approves │
│ → Execute update │
└─────────────────────────────────────────────────────────────┘
clawlink_describe_tool first.whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.clawlink_preview_tool first.clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.openai_list_models — misspelled or unsupported IDs cause validation errors.get endpoints to check completion.purpose: "batch"; files for assistants must have purpose: "assistants".openai_get_video until status is completed.Status / ErrorMeaningTool not foundThe tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration openai.Missing connectionOpenAI is not connected. Direct the user to https://claw-link.dev/dashboard?add=openai.invalid_request_errorInvalid parameter or model not available. Verify model ID with openai_list_models.RateLimitErrorToo many requests. Wait and retry with exponential backoff.authentication_errorInvalid API key. Reconnect OpenAI at the dashboard.Write rejectedUser did not confirm a write action. Always confirm before executing writes.
Check that the ClawLink plugin is installed: bash
openclaw plugins list
If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
If a fresh chat does not help, run: bash
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
After restart, tell the user to send /new again and retry.
openai.clawlink_describe_tool to verify parameter names and types before calling.clawlink_preview_tool first.Powered by ClawLink — an integration hub for OpenClaw
