--- name: ms-teams-tables description: Insert, fill, or modify a table in the Microsoft Teams chat compose box using agent-browser. Covers the hidden toolbar overflow button and table picker. Use only when the user asks to create or edit a table in a Teams message. --- # MS Teams tables Teams supports tables in the compose editor, but Insert table is hidden behind a formatting-toolbar overflow button. ## Insert a table 1. Focus the editor. 2. Open formatting with `agent-browser press Control+Shift+x` or click “Show Formatting options”. 3. Inspect with `agent-browser snapshot -i -c`. 4. If the overflow control is not accessible by name, use a narrow DOM query. In the main `.ms-FocusZone.ui-toolbar` with more than ten buttons, the overflow button has historically been index 18 and `aria-haspopup="dialog"`: ```bash agent-browser eval '(() => { const tb=Array.from(document.querySelectorAll(".ms-FocusZone.ui-toolbar")).find(t=>t.querySelectorAll("button").length>10); const b=tb && Array.from(tb.querySelectorAll("button"))[18]; if (!b) return "overflow not found"; b.click(); return "clicked"; })()' ``` Take a fresh snapshot. Prefer a currently exposed button whose accessible name matches `Insert N by M table`; click its ref. If needed: ```bash agent-browser eval '(() => { const b=Array.from(document.querySelectorAll("button")).find(x=>x.getAttribute("aria-label")==="Insert 3 by 3 table"); if (!b) return "not found"; b.click(); return "clicked"; })()' ``` The first table cell should receive focus. ## Fill cells Type into the focused cell and press Tab to move left-to-right, top-to-bottom: ```bash agent-browser keyboard type 'A1' agent-browser press Tab agent-browser keyboard type 'B1' agent-browser press Tab agent-browser keyboard type 'A2' agent-browser press Tab agent-browser keyboard type 'B2' ``` Use `Shift+Tab` to move backward. Formatting shortcuts such as `Control+b` work inside cells. ## Modify an existing table When the caret is in a table, the toolbar may expose: - `Insert column or row` - `Delete column, row, or table` Take a fresh snapshot and click the appropriate named control. Confirm destructive table deletion if the user's intent is unclear. ## Verify ```bash agent-browser eval '(() => { const e=document.querySelector("[role=textbox]"); const t=e && e.querySelector("table"); return JSON.stringify(t ? {rows:t.rows.length,cols:t.rows[0]?.cells.length||0,cells:Array.from(t.querySelectorAll("td")).map(c=>c.innerText.trim())} : null); })()' ``` Do not look for Insert table in Teams' Actions and apps menu; use the formatting toolbar overflow.