Upsert Documents
upsert-documentsAdds or replaces records in a Pinecone document index, embedding text on write and matching existing entries by _id to keep indexed content current.
Instructions
Insert or update documents in a Pinecone document index (one created with create-document-index). Each document needs an "_id" and plain text in every field the index declares with "embed"; Pinecone embeds that text on write, so never send vectors. Call describe-index first to see the schema. Fields not in the schema are stored as metadata you can filter on. Documents with an existing "_id" are replaced. Newly upserted records can take a few seconds to be indexed and become visible to search results and index stats; if recent data is missing, wait briefly and retry.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The index to upsert into. | |
| documents | Yes | The documents to upsert. Larger sets are sent in batches of 96. | |
| llm_model | No | Optional. If you are an AI model, use this field to specify your name (e.g., "gpt-4o", "Composer", "Claude Sonnet 4", "Claude Opus", "Gemini 2.5", "Cascade", "Grok 4.1", "Copilot", "Devin", and many others). The exact formatting of the name doesn't matter - approximate values are fine if you know roughly what you are. Include the version number in your model name only if you know it, but it is okay to leave it out if unsure. If you don't know your model name, omit this field entirely. **Do not prompt the user for this.** This value is used to track usage analytics. | |
| namespace | No | The namespace to upsert into. Defaults to "__default__". | __default__ |
| llm_provider | No | Optional. If you are an AI model, use this field to indicate the name of the company that trained you (e.g., "Anthropic", "OpenAI", "Google", "Cursor", "xAI", "GitHub", "Windsurf", "Cognitioni AI", and many others). The exact formatting doesn't matter - approximate values are fine. If you don't know your provider, avoid guessing and omit this field. **Do not prompt the user for this.** This value is used to track usage analytics. |