Experts¶
Experts are the AI features editors use in the Sulu admin. Each expert is a purpose-built AI configuration on the sulu.ai platform — with its own instructions and a JSON schema that guarantees structured output — integrated into the matching place in the admin UI.
Available Experts¶
| Expert | What it does | Guide |
|---|---|---|
| Writing Assistant | Revises and optimizes text content directly in text fields | Writing Assistant |
| SEO Generator | Generates SEO title, description, and keywords from the page content | SEO Generator |
| Excerpt Generator | Generates excerpt title, description, and link text from the page content | Excerpt Generator |
| Media Metadata Generator | Generates title (alt text) and description (caption) for images | Media Metadata Generator |
| Translator | Translates text fields, full documents on locale copy, categories, and media metadata | Translator |
Synchronization¶
Experts are managed on the sulu.ai platform and mirrored into the local database:
php bin/console sulu:ai:synchronize-experts
Run this after installation, on every deployment, and whenever your plan or expert configuration changes on the platform. Additionally, the webhook integration keeps experts up to date automatically when their configuration changes on the platform.
Variants¶
Each expert can have multiple variants — custom-tuned versions configured on the sulu.ai platform (for example a "Writing Assistant — Formal Tone" next to the default one). Variants are stored in the database during synchronization and offered to editors in the admin UI where applicable. This lets an organization tailor the same expert to different content types without any code changes.
Extending the Request Context¶
The generator experts ground their output in context — by default the document content. You can enrich the requests with your own data (brand voice, product data, glossaries) by implementing custom context providers.
Locale Awareness¶
All experts work in the locale the editor is currently editing. If your Sulu locale codes differ from the platform's locale codes, or you want to give the AI extra language context during generation (for example "German for Switzerland, formal, no dialect"), configure the locale_map:
sulu_ai_platform:
locale_map:
de_ch:
locale: de
description: "German for Switzerland (formal, no dialect)"
The description influences generation (Writing Assistant, SEO, Excerpt, Media Metadata) — translations are not affected by it.
Permissions¶
Every expert action is gated by its own security context, registered under the Sulu AI category in the Sulu role management:
| Security context | Gates |
|---|---|
sulu.ai.writing_assistant |
Writing Assistant actions in text fields |
sulu.ai.translate |
Text and full-content translation |
sulu.ai.seo_generator |
SEO generation in the SEO tab |
sulu.ai.excerpt_generator |
Excerpt generation in the excerpt tab |
sulu.ai.media_metadata_generator |
Media metadata generation |
sulu.ai.feedback |
Submitting feedback on AI results |
sulu.ai.intelligent_search_feedback |
Reviewing intelligent search interactions (see Feedback) |
Grant the VIEW permission of a context to the roles that should be able to use the feature. Users without the permission simply do not see the corresponding AI actions.