Integration
Connect GitLab and Harpoon
When New Code Snippet Comment fires in GitLab, your agent runs Add Invoice in Harpoon, or New Client in Harpoon to Add Note to Issue in GitLab. Describe the whole flow and it is built, tested on every scenario and kept running.
What the catalog holds today. Ask for anything missing and your agent reads the API documentation and adds it.
Build solutions, not workarounds.
What do you want GitLab and Harpoon to do together?
Ask the assistant
Connect your AI client
Give your AI client this address.
https://mcp.apiant.aiOne connection does both: ask your client to act in an app once, or have it build an automation that keeps running. Any client that takes a remote MCP server. Nothing to install. Create your free account, then sign in once in your browser.
Set it up in your client
Claude Code
Run this in the directory you want to work in.
claude mcp add --transport http -s project apiant-ai https://mcp.apiant.aiStart Claude Code there, approve the server, and sign in in the browser page it opens.
Claude Code guide (opens in a new tab)Claude, web and desktop
Open Customize, then Connectors, then Add custom connector, and paste the address. On Team and Enterprise an owner adds it first.
Setup guide (opens in a new tab)Cursor
Add the address to your MCP configuration as a server URL. Cursor signs you in in your browser.
Setup guide (opens in a new tab)Zed
Open Settings, then AI, then MCP Servers, then Add Server, then Add Remote Server.
Setup guide (opens in a new tab)Codex and the ChatGPT desktop app
Open Settings, then MCP servers, then Add server, and choose Streamable HTTP. From the terminal, Codex takes the address with its own add command and then signs you in.
Setup guide (opens in a new tab)Any other MCP client
Paste the address where the client asks for a remote MCP server URL, and name the server apiant-ai where it lets you. APIANT's skills reach the client over the same connection.
Setup guide (opens in a new tab)Example flows
What GitLab and Harpoon can do together
From GitLab to Harpoon
When New Code Snippet Comment in GitLab
then Add Invoice in Harpoon
When New Commit in GitLab
then Add Lead Source in Harpoon
From Harpoon to GitLab
When New Client in Harpoon
then Add Note to Issue in GitLab
When New Contact in Harpoon
then Create Issue in GitLab
Starting points drawn from the triggers and actions in the catalog today. Describe the flow you need, at any depth, and your agent builds it and tests every scenario before it ships.
Everything your agent can do with GitLab and Harpoon
Triggers and actions 30 triggers · 108 actions
Trigger
Deployment Event (instant)Fires on a deployment status change (deployment_events).
Trigger
New Code Snippet CommentTriggers when a new comment is made on a code snippet in the selected project
Trigger
New CommitTriggers when a new commit is pushed to a GitLab project's repository.
Trigger
New Commit CommentTriggers when a new comment is made on a commit in the selected project
Trigger
New Group Issue EventTriggers on group issue events, e.g. when an issue is opened, updated, or closed.
Trigger
New Group Merge Request EventTriggers on an open, merge, close, or update merge request event.
Trigger
New IssueTriggers when a new issue is created in a GitLab project.
Trigger
New Issue CommentTriggers when a new comment is made on an issue in the selected project
Trigger
New Job EventTriggers for a specified job event in a project.
Trigger
New Merge RequestTriggers when a new merge request is opened in a GitLab project.
Trigger
New Merge Request CommentTriggers when a new comment is made on a merge request in the selected project
Trigger
New PipelineTriggers when a new CI/CD pipeline is created in a GitLab project.
Trigger
New ProjectTriggers when a new GitLab project is created that the connected user can see.
Trigger
New Project Issue EventTriggers on project issue events, e.g. when an issue is opened, updated, or closed.
Trigger
New Project Merge Request EventTriggers on an open, merge, close, or update merge request event.
Trigger
New ReleaseTriggers when a new release is created in a GitLab project.
Trigger
New Release (instant)Fires when a release is created or updated (releases_events).
Trigger
New TagTriggers when a new tag is added to a GitLab project's repository.
Trigger
New Tag (instant)Fires when a tag is pushed (tag_push_events).
Trigger
Pipeline Event (instant)Fires on a pipeline status change (pipeline_events).
Trigger
Wiki Page Event (instant)Fires when a wiki page is created or updated (wiki_page_events).
Action
Accept Merge RequestMerges an open merge request into its target branch, optionally squashing commits, deleting the source branch, or setting it to merge automatically once checks pass.
Action
Add Comment to CommitAdds a comment to a commit in a GitLab project, optionally on a specific line of a file.
Action
Add Note to IssueAdds a comment to an issue in a GitLab project.
Action
Add Note to Merge RequestAdds a comment to a merge request in a GitLab project.
Action
Add Note to SnippetAdds a comment to a project snippet in GitLab and returns the created comment.
Action
Approve Merge RequestApproves a merge request as the connected GitLab user and returns the merge request's updated approval state.
Action
Cancel PipelineCancels all running and pending jobs in a GitLab pipeline and returns the pipeline with its updated status.
Action
Create BranchCreates a new branch in a GitLab project's repository from an existing branch or commit.
Action
Create CommitCreates a commit on a branch of a GitLab project, applying a batch of file changes (create, update, delete, move, chmod).
Action
Create FileCreates a new file in a GitLab project's repository by committing it to a branch.
Action
Create IssueCreates a new issue in a GitLab project, with optional description, labels, assignees, milestone and due date.
Action
Create LabelCreates a label in a GitLab project with the name and color you choose.
Action
Create Merge RequestCreates a new merge request in a GitLab project from a source branch to a target branch.
Action
Create MilestoneCreates a milestone in a GitLab project, with an optional description, start date and due date.
Action
Create PipelineStarts a new CI/CD pipeline on a branch or tag of a GitLab project, optionally with pipeline variables and inputs.
Action
Create ProjectCreates a new GitLab project in your personal namespace or in a group you choose.
Action
Create ReleaseCreates a release in a GitLab project from an existing tag, or from a branch or commit that is tagged as part of the release.
Action
Create SnippetCreates a personal snippet with a title and one file of content in your GitLab account.
Action
Create TagCreates a new Git tag in a GitLab project pointing at a branch, commit or existing tag. Add a message to make it an annotated tag.
Action
Create Wiki PageCreates a new wiki page in a GitLab project with the given title and content.
Action
Delete BranchDeletes a branch from a GitLab project's repository. The default branch and protected branches cannot be deleted.
Action
Delete FileDeletes a file from a GitLab project's repository by committing its removal to a branch.
Action
Delete IssueDeletes an issue from a GitLab project. Only administrators and project owners can delete issues.
Action
Delete TagDeletes a tag from a GitLab project's repository.
Action
Find Group Merge RequestsReturns merge requests across a GitLab group and its subgroups, filtered by state, author, assignee, reviewer, labels, milestone, branch, dates or search text.
Action
Find Project Merge RequestsFinds merge requests in a GitLab project, filtered by text search, state, author, assignee, reviewer, labels, branches, dates and more.
Action
Find ProjectsFinds GitLab projects whose name, path or description matches your search text, optionally narrowed by membership, ownership, visibility, topic and activity dates.
Action
Find UserFinds GitLab users by username, public email, or a name/username/email search, with optional filters on account state and type.
Action
Get BranchReturns a repository branch in a GitLab project, including its protection status, merge status and latest commit.
Action
Get CommitReturns a single commit from a project's repository, identified by its SHA or by a branch or tag name, including stats and the latest pipeline.
Action
Get FileReturns a file from a GitLab repository, including its name, size, commit details and Base64-encoded content.
Action
Get GroupReturns the details of a GitLab group, such as its name, path, visibility and parent group.
Action
Get IssueReturns a single issue in a GitLab project, including its title, description, state, labels, assignees and milestone.
Action
Get JobReturns a single CI/CD job in a GitLab project, including its status, stage, pipeline, commit and runner details.
Action
Get Merge RequestReturns a single merge request in a GitLab project, including its state, branches, author, reviewers and pipeline.
Action
Get Merge Request ApprovalsReturns the approval state of a merge request: whether it is approved, who approved it, and how many approvals are still required.
Action
Get PipelineReturns a single CI/CD pipeline in a project, including its status, ref, commit, timing and who triggered it.
Action
Get ProjectReturns a single GitLab project by its ID or full path, including its settings, visibility and links.
Action
Get ReleaseReturns a project's release for the given Git tag, including its description, commit, milestones and assets.
Action
Get SnippetReturns a personal snippet by its ID, including its title, file name, visibility, author and links.
Action
Get Snippet NoteReturns a single comment (note) posted on a project snippet.
Action
Get Wiki PageReturns a wiki page from a GitLab project, including its title, content and format.
Action
List BranchesReturns the branches in a GitLab project's repository, sorted by name, optionally filtered by a search term or regular expression.
Action
List Commit CommentsReturns the comments left on a commit in a GitLab project.
Action
List CommitsReturns the commits in a GitLab project's repository, optionally filtered by branch, author, file path or date range.
Action
List GroupsReturns the GitLab groups visible to the connected user, optionally filtered by name, visibility, ownership or access level.
Action
List LabelsReturns the labels defined for a GitLab project, optionally filtered by keyword and including issue and merge request counts.
Action
List MilestonesReturns the milestones of a GitLab project, optionally filtered by state, title, search text or dates.
Action
List PipelinesReturns the pipelines in a GitLab project, optionally filtered by branch, status, commit, date range or user.
Action
List Project JobsReturns the CI/CD jobs in a project, newest first, optionally filtered to one job status such as success or failed.
Action
List Project MembersReturns the direct members of a GitLab project, optionally filtered by name, email or username.
Action
List ReleasesReturns the releases of a GitLab project, newest first by release date.
Action
List TagsReturns the Git tags in a GitLab project's repository, optionally filtered by name and sorted.
Action
Retry JobRetries a single CI/CD job in a GitLab project and returns the new job that was queued.
Action
Retry PipelineRetries the failed or canceled jobs in a GitLab pipeline and returns the updated pipeline.
Action
Update FileUpdates the content of an existing file in a GitLab repository by committing the change to a branch.
Action
Update IssueUpdates an existing issue in a GitLab project, including closing or reopening it, changing its title, description, labels, assignees, milestone or dates.
Action
Update Merge RequestUpdates an existing merge request in a GitLab project — title, description, assignees, reviewers, labels, milestone, target branch or state.
Action
Update MilestoneUpdates a project milestone's title, description, dates, or open/closed state.
Action
Update ProjectUpdates an existing GitLab project's name, description, visibility, default branch, topics, merge settings and feature visibility. Returns the updated project.
Action
Update ReleaseUpdates an existing release's name, description, milestones or release date in a GitLab project.
Action
Update Wiki PageUpdates the title, content or format of an existing wiki page in a GitLab project.
Trigger
New ClientTriggered when a new client is created in Harpoon.
Trigger
New ContactTriggered when a new contact is created in Harpoon.
Trigger
New ExpenseTriggered when a new expense is created in your Harpoon account.
Trigger
New Expense CategoryTriggered when a new expense category is created in Harpoon.
Trigger
New InvoiceTriggered when a new invoice is created in Harpoon.
Trigger
New PaymentTriggered when a new payment is recorded in your Harpoon account.
Trigger
New ProjectTriggered when a new project is created in Harpoon.
Trigger
New Task CategoryTriggered when a new task category is added in your Harpoon account.
Trigger
New Time EntryTriggered when a new time entry is logged in Harpoon.
Action
Add Credit EntryCreates a new credit entry on a client's account in Harpoon, recording an amount, a date and an optional note or originating invoice. Returns the credit entry that was created.
Action
Add InvoiceCreates a new invoice in Harpoon for a client or project, with an invoice number, issue date, and optional line items. Returns the invoice that was created.
Action
Add Lead SourceCreates a new lead source in Harpoon, so new clients can be tagged with where they came from. Returns the lead source that was created.
Action
Add NoteAdds a note to a client, project or invoice in Harpoon. Returns the note that was created.
Action
Add TeamCreates a new team in your Harpoon account. Harpoon populates the new team from your account details; the API accepts no team attributes on creation.
Action
Clone Time EntryCreates a copy of an existing time entry in Harpoon. The copy keeps the original's project, task and description, and starts with today's date and zero hours logged.
Action
Create ContactCreates a contact person under a Harpoon client, with their name, email address, and phone number. Returns the contact that was created.
Action
Create ExpenseRecords a one-off expense in Harpoon with its date, amount, and vendor, optionally attributed to a client, project, or expense category. Returns the expense that was created.
Action
Create Expense CategoryCreates a new expense category in your Harpoon account so expenses can be grouped under it.
Action
Create ProjectCreates a project in Harpoon for a client, with its budget, rate, and start and end dates. Returns the project that was created.
Action
Create Time EntryLogs hours worked in Harpoon for a team member on a given date, optionally against a client or project. Returns the time entry that was created.
Action
Delete ClientDeletes a client from your Harpoon account.
Action
Delete ExpensePermanently deletes an expense from your Harpoon account.
Action
Delete InvoicePermanently removes an invoice from Harpoon. Returns Harpoon's confirmation that the invoice was deleted.
Action
Delete NoteDeletes a note from your Harpoon account.
Action
Delete Recurring ExpenseDeletes a recurring expense template from Harpoon by its id, so it stops generating new expenses.
Action
Delete Recurring InvoiceStops and removes a recurring invoice schedule in Harpoon so it no longer generates invoices. Returns Harpoon's confirmation that it was deleted.
Action
Delete Time EntryDeletes a time entry from your Harpoon account.
Action
Get ClientReturns a single client from your Harpoon account, including its name, contact details and other stored attributes.
Action
Get Client CreditsReturns a client's credit entries in Harpoon, along with the credit still available on the account.
Action
Get ContactReturns a single Harpoon contact, including their name, email address, phone number, and the client they belong to.
Action
Get EstimateReturns a single estimate from your Harpoon account, including its client, line items, totals and status.
Action
Get ExpenseReturns a single expense from your Harpoon account, including its amount, date, vendor, category and the client or project it is attached to.
Action
Get Expense CategoryReturns a single Harpoon expense category with every detail it carries, including its name and budget settings.
Action
Get InvoiceFetches one invoice from Harpoon by its id, with its client, line items and payment totals. An error occurs if the invoice is not found.
Action
Get Lead SourceReturns a single lead source from your Harpoon account.
Action
Get ProjectReturns a single project from your Harpoon account, including its client, budget and status.
Action
Get Recurring ExpenseFetches one recurring expense template from Harpoon by its id, with its vendor, amount, frequency and schedule. An error occurs if it is not found.
Action
Get Recurring InvoiceReturns a single recurring invoice schedule from Harpoon, including its client, frequency, dates, and line items.
Action
Get TaskReturns a single task category from your Harpoon account, including its name and hourly rate.
Action
Get TeamReturns a single team from your Harpoon account, including its name, email address, phone, address, owner and whether it is active.
Action
Get Time EntryReturns a single tracked time entry from your Harpoon account, including its date, hours, client, project and notes.
Action
List ContactsReturns the contacts in your Harpoon account, including each contact's name, email address and phone number.
Action
List EstimatesReturns the estimates in a Harpoon account, optionally narrowed to a year, client, project, status, or search text.
Action
List Expense CategoriesReturns the expense categories set up in Harpoon, each with its budget settings.
Action
List ExpensesReturns the expenses in your Harpoon account, optionally narrowed by date range, client, project, category, billing status or search text.
Action
List InvoicesReturns the invoices in your Harpoon account, optionally narrowed by year, client, project, status or a search term.
Action
List ProjectsReturns the projects in a Harpoon account, with their client, budget, rate, and dates.
Action
List TeamsReturns the teams in your Harpoon account, along with the total number of teams found.
Action
List Time EntriesReturns time entries from your Harpoon account — either the timers running now or logged history for a date range — optionally narrowed by client, project, task, team member or billing status.
Action
Update ExpenseUpdates an existing expense in your Harpoon account. Only the values you supply are changed.
Action
Update InvoiceUpdates an existing invoice in your Harpoon account. Only the values you supply are changed.
Action
Update ProjectUpdates an existing project in Harpoon — its name, client, billing type, status, dates, budget and task rates. Returns the updated project.
Action
Update Recurring ExpenseUpdates a recurring expense in Harpoon — its vendor, amount, frequency, category, dates, and status. Anything left blank keeps its current value. Returns the updated recurring expense.
Action
Update Recurring InvoiceUpdates an existing recurring invoice template in your Harpoon account. Only the values you supply are changed.
Action
Update Time EntryUpdates an existing time entry in Harpoon — its date, hours, description, project, task or billing state.
No trigger or action matches that. Ask your agent to add it: it reads the API documentation and builds what you describe.
Each app on its own
Reviews
What our customers say
More from GitLab
GitLab to HubSpotHubSpot is your all-in-one stop for all of your marketing software needs.
GitLab to SalesforceSalesforce is a leading enterprise customer relationship management (CRM) platform.
GitLab to SlackSlack is a messaging platform for teams. Post messages, manage channels, users, reminders, and react to...
GitLab to Google SheetsGoogle Sheets
GitLab to GmailGmail is Google’s email service, featuring spam protection, search functions, and seamless integration with...
GitLab to Google CalendarGoogle Calendar is a time management tool providing scheduling features, event reminders, and integration...
More into Harpoon
Google Calendar to HarpoonGoogle Calendar is a time management tool providing scheduling features, event reminders, and integration...
ActiveCampaign to HarpoonActiveCampaign is a marketing automation, email marketing, and CRM platform.
Notion to HarpoonA new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team.
Airtable to HarpoonOrganize anything with Airtable, a modern database created for everyone.
Asana to HarpoonAsana is a collaborative information manager for workspace.
ClickUp to HarpoonClickUp is an all-in-one app to plan, track, and manage your work in a beautifully intuitive environment.
Questions
GitLab and Harpoon, answered
What can start an automation from GitLab?
Any of GitLab's 21 triggers in the catalog, including New Code Snippet Comment, New Commit, New Commit Comment and New Group Issue Event. Describe the moment in plain language and your agent picks the right one.
What can your agent do in Harpoon when something happens in GitLab?
Any of Harpoon's 46 actions, including Create Contact, Create Expense, Create Expense Category and Create Project. Your agent maps the data both ways and tests every scenario before it ships.
Can it also run from Harpoon to GitLab?
Yes. When something happens in Harpoon, your agent can act in GitLab too. This page covers both directions: Harpoon's triggers and GitLab's actions are listed here as well.
Do I have to build a connector for GitLab or Harpoon?
No. Both are in the catalog with their triggers and actions. You describe the automation; your agent builds it, tests every scenario and keeps it running.
Can my AI client use GitLab and Harpoon without building an automation?
Yes. With your AI client connected to APIANT, ask it to do something in either app once and it runs that action on the spot. Ask for an automation and your agent builds it, tests every scenario and keeps it running. One connection covers both.
What happens when something fails?
Your agent works that out for you. It plans the failure paths along with the happy path, then tests every scenario before it ships.
Is there a free plan?
Yes. Every plan includes the agent, including free, and building from your own AI client spends no assistant credits.