What an assistant is and how to build your first one in a few steps – explained simply for getting started.
An assistant is an AI helper that you set up once and then reuse for similar tasks – for example "reply to emails in the right tone", "summarize offers", or "translate texts into English".
Instead of explaining what the AI should do every single time, you give an assistant fixed instructions once. After that you simply start a chat with it and get going.
An assistant is flexible – you chat with it freely. A workflow follows fixed steps. Rule of thumb: same sequence every time? → workflow. Free question and answer? → assistant.
You'll find assistants in the left navigation under Assistants. Click + Create assistant in the top right – the editor opens. Don't worry: you don't have to fill in everything. Only the first three steps are truly required.
Give it a name and a short description
In the General section, set a name and an icon (avatar) so you can recognize the assistant later. The description helps you – and colleagues you share it with – understand what it's for.
Choose a model (and optionally a project)
The model is your assistant's "brain". If you're unsure, leave Best model on – it selects GPT-5 by default and only switches automatically to Gemini 2.5 Flash for very long conversations (including attachments). The choice depends on input length, not on task type – for accuracy-critical tasks, pick a specific model manually, see AI models.
Under Default project you can also assign the assistant to a project. New chats with this assistant then automatically use that project – handy when you want to keep related conversations in one place.
Tell it what to do (instructions)
This is the most important step. In the Instructions field (also called the system prompt) you describe the assistant's task in plain words: who is it, what should it do, and how should it respond?
Note
Tip for getting started: Just write as if you were explaining the task to a new colleague. For example: "You are a friendly support agent. Answer customer questions briefly, politely, and in English." The Improve button helps meinGPT sharpen your prompt.
Optional: add tools and knowledge
Does your assistant need more than plain chatting? In the Tools section you enable basic tools (e.g. web search, calculator, charts, or Memory for a long-term memory) and connect external services like Microsoft 365 or your own MCP servers via Connectors.
Under Knowledge you give the assistant access to your own content: upload files (PDF, DOCX, PPTX, XLSX) or connect a data pool as a searchable knowledge index. That way it answers questions based on your own documents. For your first assistant, feel free to skip this – we'll look at Memory and Skills in a moment.
Save and try it out
Click Save in the top right. Your assistant now appears under My assistants. Open it, start a chat, and test whether it responds the way you imagined. You can adjust every setting at any time.
You don't need all of this to get started. But if you want more control, here's every section of the assistant editor – just expand what interests you.
General – avatar, name, model, description
Your assistant's basic information:
Avatar: the profile image. In the sidebar and favorites you only see the avatar – pick it as a clear distinguishing mark. Click it to adjust color and symbol.
Name: short and concise so the task is instantly recognizable.
Model: sets which AI model is used in the chat. Default is Best model – it selects GPT-5 and only switches to Gemini 2.5 Flash when the context window is exceeded, regardless of task type. For accuracy-critical tasks, pick a model manually instead. More under AI models.
Description: explains the assistant's task and function – more detailed than the name, understandable to colleagues too.
Default project: optionally assigns the assistant to a project; new chats then use that project automatically.
Instructions – the system prompt
The Instructions section is your main lever for the assistant's behavior. Here you write the system prompt – the heart of your assistant. A good system prompt contains:
The persona (the assistant's role)
The task and how it should be solved
Additional context
The response format
Best practice – structure with ## sections. A prompt with clearly separated sections delivers noticeably better results than free-flowing text:
## RoleYou are an expert in contract analysis.## TaskAnalyze uploaded contracts and identify risks.## Rules- Always answer in English- Use the data pool for reference documents- Use the Charts tool for visualizations
System prompts are merged in this order:
Global prompt (workspace level, maintained by the admin – tone of voice, company principles)
Assistant prompt (this configuration – the specific assistant's role and task)
User input in the chat (the concrete request)
Keep each level focused – duplication leads to fuzzy answers.
Note
Mention tools explicitly in the prompt: an enabled tool is often ignored if it isn't mentioned in the system prompt. Reference it concretely, e.g.: "Use the Charts tool to visualize data when the user asks for charts."
The system prompt has no placeholder or variable syntax (for example, for the signed-in user's name) – it's passed to the model exactly as written. If the assistant should address the user's name or role, write that directly into the prompt or supply it in the chat. The curly-brace {{...}} syntax in the Prompt Library is a different, unrelated feature: it only applies to saved prompts and has to be filled in manually on every use – it doesn't auto-populate from user data either.
Top right, the Improve button optimizes your prompt automatically (structure, wording, completeness); Tips opens context-specific hints.
Tools – tools, connectors, MCP, databases
Here you equip the assistant with capabilities beyond plain answering. Five areas:
Basic tools: built in and ready to use – calculator, charts, Memory, code sandbox, web search, translator, image generator, and more.
Connectors (Live): live-API connections to external services (Microsoft 365, Google Workspace, Jira, Confluence, HubSpot, Salesforce). They deliver real-time data and perform actions. Overview: All connectors.
Custom MCP: connect your own MCP servers – for internal systems or special APIs. See Custom MCP Server.
Databases: direct read access to structured data sources (PostgreSQL, MySQL, tables). See Connect databases.
Request integration: missing a tool? Request it here.
Retry behavior: if a single tool call fails, the assistant retries it automatically – a red mark on a single tool call is normal and doesn't mean the overall answer failed. Each retry attempt counts as its own step against the assistant mode's limit: if a tool keeps failing – for example because a connected service is currently down – that one tool alone can use up the entire step budget. The response then ends with "Maximum number of agent steps reached", even though it can feel like an infinite loop while it's happening – the assistant reliably stops there at the latest.
Memory is one of the basic tools – detailed under Memory. For your own code, Skills are the next step.
Knowledge – files and data pools
Gives the assistant access to static company knowledge – in two ways:
Upload files: individual documents via drag and drop. Good for manageable, assistant-specific sets.
Connect a data pool (RAG search index): larger knowledge volumes via a pre-indexed search index, maintained by admins. Unlike connectors, data pools don't deliver live data but search a prepared knowledge base.
For most teams, the data pool runs on the meinGPT Cloud and doesn't require a dedicated Outpost – more under Data Sources (RAG). A dedicated Outpost is only needed for on-premise setups, for example with special security requirements. Unsure whether to use a connector or a data pool? See the Integrations guide.
Attention
Several or larger files take time. Uploaded files need to be processed before the assistant can use them – with several or larger files, this can take noticeably long. If your set grows beyond a manageable, assistant-specific collection, a data pool is the better choice: it's built for large volumes and syncs in the background, so you don't have to wait for it to finish.
Note
Excel and CSV files are handled differently from Word files. Uploaded Word documents are automatically included in every conversation once processed. Excel and CSV files are not automatically read in this way – the assistant has to actively decide to look them up. If the instructions don't say when and why to do so, the file can end up being silently skipped. State explicitly in the instructions when and for what the Excel or CSV file should be consulted.
Note
File upload limits: Up to 50 files per assistant, each up to 50 MB. Supported formats include PDF, DOCX, PPTX, and XLSX. Older formats like .doc, .xls, and .ppt aren't supported – convert them to .docx, .xlsx, or .pptx first.
If an upload fails, meinGPT shows an error toast and the file won't appear in the knowledge list. Check the file size and format, then upload it again. If the problem persists, contact support with the error text shown.
Two optional levers at the very bottom of the editor:
Conversation starters: predefined opening messages offered when the assistant is opened (e.g. "What is Apple's current stock price?"). Add as many as you like via Add another.
Assistant mode: controls how many tool calls the assistant makes at most per answer. Default: up to 5 tool calls. Higher values help with complex tasks but cost more time and credits.
Assistant check
The Assistant check in the right sidebar checks live whether the basics are set: system prompt defined, description added, tools enabled, and knowledge sources linked. The detailed analysis also runs on Save.
With Memory, your assistant remembers information about you across individual chats – e.g. your role, your working style, or fixed preferences. That way you don't have to re-explain recurring context every time.
Note
Memory is personal per user. Your memories are tied to your account, not visible to others, and are not automatically shared with your team. They apply to all your assistants that have Memory enabled – what one assistant stores, another with Memory enabled can also use.
Enabling: Memory is a built-in tool and only works when it's switched on in the assistant. You enable it in the editor under Tools → Basic tools. If it's off, the assistant neither stores nor reads memories.
How it works: Memory isn't loaded automatically into every chat. Instead, the model decides for itself when to use it:
It searches your memories before answering a question that might depend on prior context.
It stores a new memory when a stable preference or long-term context comes up.
It updates an existing memory when you correct earlier information.
You see these actions directly in the chat as their own tool steps. The memory search itself works semantically – it finds relevant memories by meaning, not just exact word matches.
Managing: you manage your memories centrally on the Memory page in Settings. There you can view, search, delete individually or together, remove everything via Delete all, or import from another AI.
Note
The assistant can create, search, retrieve and update memories – but cannot delete them. Deleting is up to you alone in Settings. A memory's content isn't edited there; to change it, delete it or have the assistant update it in the chat.
Memory tool functions
When Memory is enabled, the assistant has these functions available:
Function
What it does
memory_add
Store a new memory
memory_search
Search memories semantically
memory_get_all
Retrieve all stored memories
memory_update
Update an existing memory
Import memories from another AI
If you've already worked with ChatGPT, Gemini or Claude, you can bring over what they've stored about you. On the Memory page in Settings, open Import:
Copy the prompt: meinGPT gives you a ready-made prompt. Copy it and paste it into ChatGPT, Gemini or Claude.
Paste the answer: bring the other AI's answer back and paste it. meinGPT extracts the memories and sorts them by category (Profile, Working style, Current work, Team & contacts, Rules).
Review and import: go through the suggestions, uncheck anything you don't want, and finish via Import memories.
Only the selected memories are stored – up to 50 memories per import.
Best practices for Memory
Store stable preferences and long-term context – not fleeting one-off details.
Keep memories short and self-contained so they stay usable on their own.
Don't store secrets or highly sensitive data (passwords, keys).
Have existing memories updated on corrections instead of creating duplicates.
Skills are reusable code packages (.zip) that give your assistant capabilities beyond plain prompting or knowledge access. They run in the code sandbox and can call external APIs, generate files, process data, or apply specialized logic.
Note
In the editor, Skills are a standalone section right below Knowledge – not part of the Tools section, even though the two work together. They're only available when the code sandbox is active for your organization (on by default). If the Skills area is missing, ask an admin.
When does a skill make sense? When your assistant needs to:
call an API for which there's no native connector (e.g. your internal contract-management system)
generate a file with your layout (Word template, Excel report, PowerPoint with branding)
process data in a format the model can't handle natively (e.g. parse binary data)
run deterministic logic (calculations, validation, business rules)
If a system prompt plus knowledge/data pool and native tools is enough, you don't need a skill – skills are the next step up for your own executable logic.
How to add a skill: the Skills area sits in the editor as its own card, with a Create skill button top right and a drag-and-drop zone below. There are two ways:
Clicking Create skill doesn't open a wizard – it starts a normal new chat with your assistant, pre-filled with a first message: "Create a new skill for this assistant."
Send the message: the pre-filled message is already in the input field – just send it.
Answer the questions: the assistant interviews you before writing code – the skill's purpose, required APIs, credentials, and whether an existing file should serve as a basis.
Code is generated: the assistant writes the package files (at least a SKILL.md) and builds a .zip from them.
Attached automatically: the finished package appears directly in the assistant's skills list – no manual upload needed.
Note
If the skill contains credentials (API keys, tokens), the assistant creates a secrets.json with placeholder values. You then enter the real values in the file explorer – they're never asked for or logged in the chat.
If the skill already exists as a package, drag the .zip into the drop zone or click to select it.
Limits: up to 20 files at once, practical limit 50 MB per file.
No structure check: the platform only checks technical safety (no zip bomb). Whether a SKILL.md is included or the package is sensibly built is not validated – stick to the recommended structure below.
Skill vs. tool vs. connector – a quick distinction
Tool
What it is
When
Native tool / connector
Pre-built connection to standard services (Slack, Outlook, Salesforce …)
Standard integrations from the marketplace
Skill (.zip)
Your own code (Python or JS/TS) running in the sandbox
Custom logic, proprietary APIs, file generation in your own format
Knowledge / data pool
RAG over static documents
When the assistant should know your knowledge, not execute it
Structure of a skill package
A skill package is a .zip with a SKILL.md as instructions plus the code. Recommended structure:
The SKILL.md starts with a YAML frontmatter and is free-form Markdown after that:
Field / section
Purpose
name
Short, descriptive name (lowercase, hyphenated)
description
When the assistant should use the skill – the text the model relies on
license (optional)
Usually Proprietary or MIT
Title (H1)
One-sentence summary
## Rules
What the assistant should do / avoid
## Workflow
Step-by-step flow
## Good fits
Concrete use cases
## Avoid by default
What the skill is not meant for
If the SKILL.md gets too long (guideline: 500 lines), move detail into references/. The language (Python or JavaScript) is detected automatically – from markers like requirements.txt (Python) or package.json (JS). Without a clear marker, JavaScript is the default. So for a pure Python skill, include a requirements.txt, even if it stays empty.
Security & sandbox
Skills run in an isolated sandbox:
No direct access to the host system, no internet access from the skill code
The language per skill is detected automatically on binding (Python or JS)
Credentials live as secrets.json inside the package and aren't delivered to the model itself
Resource limits prevent infinite loops or excessive memory use
Word template + Python script that inserts chat data
DATEV export from invoice data
JS script converting JSON to CSV
Connect to the internal CRM (no standard connector)
Python API client for your CRM
Structured PDF extraction from your own layout
Python with pdfplumber
Custom validation (e.g. tax calculations)
JS with your calculation logic
Attention
Formatting fidelity isn't guaranteed. When filling a Word template, the skill carries over the template's existing styles – exact adherence to your brand guidelines isn't automatically checked. For brand-critical templates, spot-check the result.
Editing & limits
Clicking a skill in the list opens the file explorer: file tree on the left (SKILL.md always on top), code editor on the right. You can view, edit, delete files and save changes back into the package.
No version history: saving overwrites the previous state permanently – keep your own copy before larger changes.
No sharing between assistants: each skill belongs to exactly one assistant. To run the same skill on several assistants, upload the .zip to each one individually.
"Improve" often creates a new package: if you ask the assistant to extend an existing skill, it often creates a new package – remove outdated duplicates manually.
Once your assistant is saved, you can use, share, and manage it.
Start a chat
There are several ways:
Click the profile image under Favorites.
Directly from the Preview top right on the editing page.
Select it under My assistants and start with a conversation starter or your own message.
In a general chat, pick an assistant via the model selector bottom right.
Clicking the card under My assistants starts a chat directly – the most common action.
Edit an assistant
Since an assistant is used far more often than edited, clicking the card is reserved for starting a chat. You reach the configuration via the three-dot menu (⋮) on the card → Edit assistant. The menu only appears if you have edit rights; for assistants shared as Can use, it isn't available.
Favorite
Click the star on the card. Favorited assistants appear in the Favorites area of the sidebar with their avatar – the chat is start-able with one click.
Share
In two steps: click the share icon (on the card or in the editor top right), then search for people or teams and choose the access type:
Can use – use it, but can't view or edit the configuration
Can view – view it, but can't use or edit it
Can edit – use, change, and manage its shares
Workspace admins can also share with everyone in the workspace (org-wide is limited to Can use or Can view). The dialog shows all active shares; removing the workspace-wide share must be confirmed.
Import via link
Assistants can be added via a shareable import link. Create links with the Assistant Creator↗. The import page supports the parameters c (compressed, recommended) and p (legacy). Details: Assistant Creator.
Pin to the sidebar (admins)
Workspace admins can pin shared assistants to the Apps area of the sidebar – they then appear there as standalone chatbot apps. Pin via the pin icon (📌) in the card header or the editor toolbar; unpin via the same icon or the context menu. Pinned assistants remain visible only to people who already have access to them – normal permission checks still apply. Pinned assistants can only be deleted after unpinning.
Delete
You'll find Delete in the three-dot menu (⋮) on the card. A confirmation dialog asks once more before the assistant is permanently removed.
If the assistant is pinned to the sidebar, the Delete entry is disabled – unpin it first via Unpin from sidebar (see above), only then can it be deleted.
A share (to people, teams, or the whole workspace) does not restrict deletion for you as the owner.
Multiple languages
You can offer the same assistant to international teams in multiple languages without duplicating it: description, system prompt, and conversation starters can be stored translated. On opening, the variant in the workspace's or user's language is shown.
Access via API
Via the meinGPT API you call assistants from your own applications or automations (e.g. Make). The AssistantID is in the browser URL in edit mode after /assistants/ (e.g. .../assistants/abc-123 → ID abc-123). Full reference: Assistants API.