The Profile screen of the Virtual Marketer CRM web app, covering identity details, preferences, API keys, and connected messaging accounts, with stable anchor ids for AI agents.
Virtual Marketer CRM is an open-source, AI-native CRM. This page documents the Profile screen of the web app for humans and for AI agents that drive the UI.
Profile holds your personal workspace settings: everything scoped to you as a user rather than to the company. Three tabs cover your settings (one form for identity and preferences: name, country, avatar, theme, language), API keys for MCP and REST clients, and the messaging accounts that feed the Inbox. Changes here affect only your own account.
/profile/settings
URLs are locale-prefixed. For example https://crm.virtual-marketer.de/en/profile/settings. Each tab has its own route: /profile/settings, /profile/api-keys, /profile/connected-accounts.
| Action | Where | Anchor id | What happens |
|---|---|---|---|
| Go to Profile | App sidebar | #nav-profile | Opens /profile/settings |
| Settings tab | Sidebar sub-item | #nav-profile-settings | Identity (name, country, avatar) and preferences (theme, language) in one form |
| Save / reset settings | Form footer | #profile-settings-save / #profile-settings-reset | Persists or discards (reset appears with unsaved changes) |
| API keys tab | Sidebar sub-item | #nav-profile-api-keys | Manage keys for MCP/REST clients |
| Add an API key | API keys card | #profile-api-keys-generate | Opens a wizard for a standard key or a guided AI connection |
| Create a standard key | Add-key wizard | #api-key-save | Opens after Standard API key; the key is shown once, so copy it immediately |
| Connect an AI client | Add-key wizard | none | Choose Claude, ChatGPT, Codex, Cursor, or Gemini for client-specific setup |
| Revoke a key | Key row | none | Row button labeled Revoke |
| Connected accounts tab | Sidebar sub-item | #nav-profile-connected-accounts | Messaging accounts for the Inbox |
| Connect an account | Card header | #profile-connected-accounts-connect | Opens the hosted-auth window (email, WhatsApp) |
| Connect an account from an empty profile | Centered empty state | #profile-connected-accounts-connect-empty | Opens the same hosted-auth window when no account exists |
| Manage account / folders | Account row click | none | Opens the account modal (folder selection, resync) |
#profile-api-keys-generate finds the generate button. The ids are stable; visible labels and layout are not.?open=<entityType>:{id} on entity pages. The Profile tabs are plain routes, so navigate by tab URL and act on rows via their visible buttons (e.g. Revoke) or by clicking the row.#api-key-save or a quick connection. Copy the displayed key or snippet in the same step; there is no way to display the plaintext key again.