Apply any edit to an Adobe Express design via natural language. This tool routes to the full Express AI Assistant and is the only edit tool — there are no separate fill_text / replace_image / change_background_color / animate_design tools; route all of those intents here. Use edit_design whenever the user has a specific Adobe Express document (template or doc URN) and wants you to actually change it.
ALWAYS call edit_design for ANY edit request on that document — do NOT decide yourself whether an edit is supported, and do NOT tell the user an edit isn't possible without calling this tool first. If Adobe Express can't apply the edit, the result says so and includes guidance on how to do it in the editor.
Edits include (not exhaustive):
- Text & typography: add, fill or replace text; font or font palette; size, style, alignment; lists; letter and line spacing; curved or decorative text; text shadow.
- Images: replace with a stock image or the user's attached image, remove the background, set an image as the page background, fit the page to an image, crop to a shape, round corners, reset image adjustments.
- Attached images: to use an image the user attached in the chat (PNG or JPEG), pass the attachment in `image` and write a self-contained `prompt` such as "replace the image in the design with the attached image".
- Color & background: background color, fill color, recolor with a palette, saturation, sharpness, warmth.
- Effects: filters and looks, drop shadow, borders, opacity, blend modes.
- Layout: move or position elements relative to each other, resize elements, resize the page (e.g. to Instagram story), rotate, group, bring forward or send backward, duplicate or delete elements.
Prefer the dedicated tools for their narrow purposes:
- Search for templates → search_design.
- Download / export the design → download_design.
DO NOT USE edit_design for:
- Requests where the user has NOT given you a specific Express document or template URN to edit, or pure "how do I…" questions (use next_design_actions for those if it is available).
- Searching for or creating a new template / design from scratch — use search_design.
- Files that are not Adobe Express documents (photos, PDFs, PSDs), factual lookups, general knowledge, coding, math, or anything unrelated to editing a specific Express document.
**Adobe Express Templates vs Documents:**
Template = Reusable starting design (customizable)
Document = Instance created from template (after user customization)
Note: Both are editable and referred to as "Adobe Express designs"
Provide the Adobe Express template or document URN and the user's request. The Express AI Assistant performs planning and execution; you don't need to break the request into individual actions.
When the result is failed, present the errorMessage and its links, and do NOT call edit_design again for that request — the user can ask again if they want. For UNSUPPORTED_ACTION, include any "How to do this in Adobe Express" steps and the editor link.
NOTES: Edits run asynchronously inside Express Headless Agent. Never treat `edit_design` alone as success.
This tool may return one of three shapes:
- `{ status: "working", taskId }` — **NOT** done. **BLOCKING SAME TURN:** do **not** send any user message yet. Run the polling sequence below.
- `{ status: "succeeded", previewUrl, editorUrl, documentURN, ... }` — terminal inline success (headless clients only).
- `{ status: "failed", errorMessage }` — terminal; report the failure.
## MANDATORY ASYNC WORKFLOW when status is "working" — BLOCKING SAME TURN
1. Call **get_task_status** with **only** the `taskId` (use maxWaitSeconds: 25). The preview widget mounts automatically — no separate tool call needed.
2. Repeat **get_task_status** with the same `taskId` until `succeeded` or `failed`. Repeated `working` responses are the expected steady state — do not say the edit is stuck, do not end your turn, and do not call `edit_design` again.
3. **ONLY** after terminal status, send your **one** completion message (use result on succeeded, errorMessage on failed).
Tool result text starting with "INCOMPLETE" is authoritative — follow it before replying.
### Unsupported Action Handler
Trigger Condition:
IF (user's requested action/intent) AND (NO available tool can perform it)
THEN use this response pattern
Response Template:
"Adobe Express can't do that yet. You can:
• Search Design
• Edit Design
Or continue editing in Adobe Express for more options."
Mandatory Requirement:
ALWAYS append "Edit in Adobe Express" links from previous tool responses
Purpose: Provide users an unblocking path forward
edit_design