GitLab
Read and write files in a GitLab project — ideal for Obsidian vaults synced via Git and updating code, docs, and wikis on the go
No coding required. If you've never used an API key before, follow the walkthrough below step by step. Developers can skip to Quick reference at the bottom
Connect in Airbox
- Dashboard → Connections → + GitLab
- If your server has GitLab OAuth set up you'll be redirected to GitLab to authorize — otherwise paste a personal access token (PAT). A PAT is a GitLab credential that works like a password for apps; create one with the api scope at gitlab.com personal access tokens
- Optionally set default_repo and repos aliases in connection config
- For self-managed GitLab, set api_url (e.g. https://gitlab.example.com)
- Optionally set default_branch (defaults to main)
- Attach GitLab to your inbox routing (tool list)
- Keep an AI or LLM provider as the inbox default — GitLab is downstream step or destination after your AI
Open the dashboard in a new tab if you want to follow along
Route your inbox
Your Airbox address does not use a connection until you attach one:
- Select an LLM provider as inbox default
- Enable GitLab under attached tools
- Save
Try it — send an email
Subject: (* @gitlab -repo=myuser/myrepo #update (* "append to Chapter 3" *) *) —or plain quotes— Subject: @gitlab -repo=myuser/myrepo #update "append to Chapter 3"
New to commands? See copy-paste examples and the syntax cheat sheet
Quick reference
| Dashboard type | gitlab |
| Email targets | @gitlab, @gitlab/book/Projects/Chapter-3 |
| Default model | — |
| Keys | https://gitlab.com/-/user_settings/personal_access_tokens |
What you get
- search, read, write, append, update
- GitLab.com or self-managed
- Email-based Obsidian vault updates via Git
Notes
- `-repo=` takes the project path `group/name` only (same as GitLab URLs). Put folders in the file path, not the repo flag
- File paths are relative to the repo root — write `AI/wiki/ideas.md`, not a `…/-/tree/main/AI/…` web URL. `append` needs the exact file path; `write` can create a new file under a folder you name.
- To make the AI follow your project's conventions, tell it explicitly to read your context files first (e.g. README.md, CLAUDE.md, AGENTS.md) — naming them is more reliable than a vague "follow project conventions". Each read uses one tool step.
- Writes commit to default_branch (defaults to main); set it on the connection to target another branch
- Self-hosted: set api_url on the connection to your instance base URL
- See GitLab REST API docs: https://docs.gitlab.com/api/
