diff --git a/docs/Connect & Automate/triggers-automation/gitlab.md b/docs/Connect & Automate/triggers-automation/gitlab.md
index e98e893..34d774b 100644
--- a/docs/Connect & Automate/triggers-automation/gitlab.md
+++ b/docs/Connect & Automate/triggers-automation/gitlab.md
@@ -32,6 +32,10 @@ The project must live in a **group**. A project in a personal namespace cannot b
- **Remove** deletes the webhook and the project's bots and stops agents answering there. Nothing in the project's code or history changes.
- **Take over administration** moves the project onto your own connection. Reach for it when the connection that set the project up was disconnected, or when the person who owned it has left: cleanup needs that account's own token, so without a takeover the project cannot be removed and the connection it belongs to cannot be released.
+
+
+
+
A connection itself has two stages. **Disconnect** releases it but keeps the row, and deleting a released row removes it. Removal is refused while the connection still administers projects — take those over or remove them first, and the card says so.
GitLab.com Free allows **100 service accounts per top-level group**; a self-managed Free or Community Edition instance allows 100 across the **entire instance**. The population is agents-with-projects, and a refused creation is reported as a quota failure that leaves existing accounts untouched.
@@ -40,6 +44,10 @@ GitLab.com Free allows **100 service accounts per top-level group**; a self-mana
On the agent: **Integrations → Add integration → GitLab**.
+
+
+
+
A trigger rides an existing authorization and never creates one: the project must already be the agent's workspace or one of its authorized additional repositories, or adding the watch is refused.
Choose the project, what to listen for — issues, merge requests, or both — and how eagerly the agent wakes up:
@@ -48,6 +56,10 @@ Choose the project, what to listen for — issues, merge requests, or both — a
- **updated** — openings plus new revisions, labels and replies.
- **mention only** — when the agent is @-mentioned.
+
+
+
+
## Who may trigger an agent
AgentConnect checks the **current project membership** of whoever wrote the content, through the GitLab API, at the moment of the event. Webhook-carried labels are never treated as authority.
diff --git a/docs/Connect & Automate/triggers-automation/linear.md b/docs/Connect & Automate/triggers-automation/linear.md
index db6f508..86bf322 100644
--- a/docs/Connect & Automate/triggers-automation/linear.md
+++ b/docs/Connect & Automate/triggers-automation/linear.md
@@ -18,6 +18,10 @@ On the agent: **Integrations → Add integration → Linear**.
There is nothing to fill in. Choose **Connect Linear**, approve the workspace in the Linear tab that opens, and the connection lands back in the console. The agent you started from becomes each team's **dispatch default** — the agent a bare delegation reaches.
+
+
+
+
The authorization asks for read and write access, permission to be assigned and mentioned as an app, and initiative access. If you connected a workspace before initiative support existed, everything else keeps working and only the three initiative tools ask you to reconnect.
To put a **second agent** on the same workspace, open that agent's **Add integration → Linear** and pick the connected workspace from the list. To connect a **different** workspace, use **Connect another workspace…** in the same pane.
@@ -29,6 +33,10 @@ A connected workspace lists **one row per Linear team** on the agent's Linear ca
- the **dispatch default** — the agent a bare delegation in that team starts; and
- a **trigger** — **Mention** or **Off**.
+
+
+
+
There is no "any message" setting: every Linear event is addressed to the app already, so a team either takes delegations and mentions or it is off. Turning a team **Off** mutes it for every agent on the workspace; unlinking an agent from the workspace is how that one agent stops answering anywhere in it.
A team's name links to the team in Linear, with its key beside it. Moving a team's default is that row's selector; when the current default is a [restricted agent](/docs/team-visibility#what-a-restricted-agent-changes), the console warns you first — being the default is what lets it act there. A team whose linking agent is restricted starts **Off** until someone enables it.
@@ -51,6 +59,14 @@ Each delegation or mention creates one Linear agent session bound to one agent.
The full transcript is always in [Sessions](/docs/sessions), whatever reaches Linear.
+
+
+
+
+
+
+
+
### How much reaches the feed
The agent's **Output mode** decides what is posted:
diff --git a/images/gitlab-add-integration.png b/images/gitlab-add-integration.png
new file mode 100644
index 0000000..75bd13f
Binary files /dev/null and b/images/gitlab-add-integration.png differ
diff --git a/images/gitlab-agent-card.png b/images/gitlab-agent-card.png
new file mode 100644
index 0000000..cd67513
Binary files /dev/null and b/images/gitlab-agent-card.png differ
diff --git a/images/gitlab-code-hosts.png b/images/gitlab-code-hosts.png
new file mode 100644
index 0000000..38bd4fd
Binary files /dev/null and b/images/gitlab-code-hosts.png differ
diff --git a/images/linear-add-integration.png b/images/linear-add-integration.png
new file mode 100644
index 0000000..e86403b
Binary files /dev/null and b/images/linear-add-integration.png differ
diff --git a/images/linear-agent-card.png b/images/linear-agent-card.png
new file mode 100644
index 0000000..9eb414a
Binary files /dev/null and b/images/linear-agent-card.png differ
diff --git a/images/linear-issue-resources.png b/images/linear-issue-resources.png
new file mode 100644
index 0000000..74e50fe
Binary files /dev/null and b/images/linear-issue-resources.png differ
diff --git a/images/linear-session-panel.png b/images/linear-session-panel.png
new file mode 100644
index 0000000..cea9d66
Binary files /dev/null and b/images/linear-session-panel.png differ