---
title: "Connect Harpoon and Slack - APIANT.ai"
description: "When \"New Client\" fires in Harpoon, your agent runs \"Send Direct Message\" in Slack, or \"New Channel\" in Slack to \"Add Invoice\" in Harpoon."
canonical: "https://apiant.ai/connect/harpoon-to-slack"
---

# Connect Harpoon and Slack

When **New Client** fires in [Harpoon](https://apiant.ai/connections/harpoon), your agent runs **Send Direct Message** in [Slack](https://apiant.ai/connections/slack), or **New Channel** in Slack to **Add Invoice** in Harpoon. Describe the whole flow and it is built, tested on every scenario and kept running.

Harpoon **9** triggers Harpoon **46** actions Slack **15** triggers Slack **60** actions

What the catalog holds today. Ask for anything missing and your agent reads the API documentation and adds it.

## What do you want Harpoon and Slack to do together?

Give your AI client this address.

`https://mcp.apiant.ai`

One 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.ai`

Start Claude Code there, approve the server, and sign in in the browser page it opens.

[Claude Code guide (opens in a new tab)](https://apiant.ai/docs/mcp/claude-code)

### 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)](https://apiant.ai/docs/mcp)

### 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)](https://apiant.ai/docs/mcp)

### Zed

Open Settings, then AI, then MCP Servers, then Add Server, then Add Remote Server.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### 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)](https://apiant.ai/docs/mcp)

### 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)](https://apiant.ai/docs/mcp)

Example flows

## What Harpoon and Slack can do together

### From Harpoon to Slack

- When **New Client** in Harpoon then **Send Direct Message** in Slack
- When **New Contact** in Harpoon then **Send Ephemeral Message** in Slack

### From Slack to Harpoon

- When **New Channel** in Slack then **Add Invoice** in Harpoon
- When **New Channel Member** in Slack then **Add Lead Source** in Harpoon

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 Harpoon and Slack

## Triggers and actions 24 triggers · 106 actions

- Trigger

**New Client**

Triggered when a new client is created in Harpoon.

- Trigger

**New Contact**

Triggered when a new contact is created in Harpoon.

- Trigger

**New Expense**

Triggered when a new expense is created in your Harpoon account.

- Trigger

**New Expense Category**

Triggered when a new expense category is created in Harpoon.

- Trigger

**New Invoice**

Triggered when a new invoice is created in Harpoon.

- Trigger

**New Payment**

Triggered when a new payment is recorded in your Harpoon account.

- Trigger

**New Project**

Triggered when a new project is created in Harpoon.

- Trigger

**New Task Category**

Triggered when a new task category is added in your Harpoon account.

- Trigger

**New Time Entry**

Triggered when a new time entry is logged in Harpoon.

- Action

**Add Credit Entry**

Creates 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 Invoice**

Creates 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 Source**

Creates 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 Note**

Adds a note to a client, project or invoice in Harpoon. Returns the note that was created.

- Action

**Add Team**

Creates 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 Entry**

Creates 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 Contact**

Creates a contact person under a Harpoon client, with their name, email address, and phone number. Returns the contact that was created.

- Action

**Create Expense**

Records 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 Category**

Creates a new expense category in your Harpoon account so expenses can be grouped under it.

- Action

**Create Project**

Creates 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 Entry**

Logs 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 Client**

Deletes a client from your Harpoon account.

- Action

**Delete Expense**

Permanently deletes an expense from your Harpoon account.

- Action

**Delete Invoice**

Permanently removes an invoice from Harpoon. Returns Harpoon's confirmation that the invoice was deleted.

- Action

**Delete Note**

Deletes a note from your Harpoon account.

- Action

**Delete Recurring Expense**

Deletes a recurring expense template from Harpoon by its id, so it stops generating new expenses.

- Action

**Delete Recurring Invoice**

Stops 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 Entry**

Deletes a time entry from your Harpoon account.

- Action

**Get Client**

Returns a single client from your Harpoon account, including its name, contact details and other stored attributes.

- Action

**Get Client Credits**

Returns a client's credit entries in Harpoon, along with the credit still available on the account.

- Action

**Get Contact**

Returns a single Harpoon contact, including their name, email address, phone number, and the client they belong to.

- Action

**Get Estimate**

Returns a single estimate from your Harpoon account, including its client, line items, totals and status.

- Action

**Get Expense**

Returns 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 Category**

Returns a single Harpoon expense category with every detail it carries, including its name and budget settings.

- Action

**Get Invoice**

Fetches 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 Source**

Returns a single lead source from your Harpoon account.

- Action

**Get Project**

Returns a single project from your Harpoon account, including its client, budget and status.

- Action

**Get Recurring Expense**

Fetches 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 Invoice**

Returns a single recurring invoice schedule from Harpoon, including its client, frequency, dates, and line items.

- Action

**Get Task**

Returns a single task category from your Harpoon account, including its name and hourly rate.

- Action

**Get Team**

Returns a single team from your Harpoon account, including its name, email address, phone, address, owner and whether it is active.

- Action

**Get Time Entry**

Returns a single tracked time entry from your Harpoon account, including its date, hours, client, project and notes.

- Action

**List Contacts**

Returns the contacts in your Harpoon account, including each contact's name, email address and phone number.

- Action

**List Estimates**

Returns the estimates in a Harpoon account, optionally narrowed to a year, client, project, status, or search text.

- Action

**List Expense Categories**

Returns the expense categories set up in Harpoon, each with its budget settings.

- Action

**List Expenses**

Returns the expenses in your Harpoon account, optionally narrowed by date range, client, project, category, billing status or search text.

- Action

**List Invoices**

Returns the invoices in your Harpoon account, optionally narrowed by year, client, project, status or a search term.

- Action

**List Projects**

Returns the projects in a Harpoon account, with their client, budget, rate, and dates.

- Action

**List Teams**

Returns the teams in your Harpoon account, along with the total number of teams found.

- Action

**List Time Entries**

Returns 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 Expense**

Updates an existing expense in your Harpoon account. Only the values you supply are changed.

- Action

**Update Invoice**

Updates an existing invoice in your Harpoon account. Only the values you supply are changed.

- Action

**Update Project**

Updates an existing project in Harpoon — its name, client, billing type, status, dates, budget and task rates. Returns the updated project.

- Action

**Update Recurring Expense**

Updates 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 Invoice**

Updates an existing recurring invoice template in your Harpoon account. Only the values you supply are changed.

- Action

**Update Time Entry**

Updates an existing time entry in Harpoon — its date, hours, description, project, task or billing state.

- Trigger

**New Channel**

Triggers when a new channel is created in the workspace.

- Trigger

**New Channel (instant)**

Triggers when a new channel is created (Slack event channel_created).

- Trigger

**New Channel Member**

Triggers when a member joins a chosen channel (Slack event member_joined_channel).

- Trigger

**New File (instant)**

Triggers when a new file is uploaded to the workspace (Slack event file_created).

- Trigger

**New Mention (instant)**

Triggers when a username or keyword is mentioned in a channel. Events API message events with keyword filter.

- Trigger

**New Message Posted to Channel**

Triggers when a message is posted to a chosen channel (Slack event message.channels).

- Trigger

**New Message Posted to Private Channel**

Triggers when a message is posted to a chosen private channel or group DM (Slack events message.groups, message.mpim).

- Trigger

**New Pinned Item**

Triggers when an item is pinned in a channel.

- Trigger

**New Public Message Posted Anywhere**

Triggers when a message is posted to any public channel (Slack event message.channels).

- Trigger

**New Reaction Added**

Triggers when an emoji reaction is added to a message (Slack event reaction_added).

- Trigger

**New Saved Message**

Triggers when a message or file is saved (starred) (Slack event star_added).

- Trigger

**New Team Custom Emoji**

Triggers when a custom emoji is added to the workspace (Slack event emoji_changed).

- Trigger

**New Thread Reply**

Triggers when a new reply is added to a message thread.

- Trigger

**New User**

Triggers when a new user joins the workspace. Polling; deduped by user id.

- Trigger

**New User (instant)**

Triggers when a new user joins the workspace (Slack event team_join).

- Action

**Add Bookmark**

Add a bookmark to a channel.

- Action

**Add Reaction**

Add an emoji reaction to a message.

- Action

**Add Star**

Save a message or file by starring it.

- Action

**Archive Channel**

Archive a channel.

- Action

**Complete Reminder**

Mark a reminder as complete.

- Action

**Create Canvas**

Create a standalone canvas document.

- Action

**Create Channel**

Create a new public or private channel.

- Action

**Create Channel Canvas**

Create a canvas attached to a channel.

- Action

**Create Reminder**

Create a reminder for a user at a specified time.

- Action

**Delete Canvas**

Delete a canvas.

- Action

**Delete File**

Delete a file from the workspace.

- Action

**Delete Message**

Delete a message from a channel by timestamp.

- Action

**Delete Reminder**

Delete a reminder.

- Action

**Delete Scheduled Message**

Cancel a scheduled message before it is sent.

- Action

**Edit Bookmark**

Edit an existing channel bookmark.

- Action

**Edit Canvas**

Edit the content of a canvas.

- Action

**Find Channel by Name**

List channels filtered to locate a channel by name (client filters the returned list).

- Action

**Find User by Email**

Look up a Slack user by their email address.

- Action

**Get Channel Messages**

Fetch the message history of a channel.

- Action

**Get File Info**

Get information about a file.

- Action

**Get Message Permalink**

Get a permanent link to a specific message.

- Action

**Get Message Reactions**

Get the emoji reactions on a message.

- Action

**Get Team Info**

Get information about the workspace.

- Action

**Get Thread Replies**

Get the replies in a message thread.

- Action

**Get User Info**

Get profile information for a Slack user by ID.

- Action

**Get User Presence**

Get a user's current presence status.

- Action

**Get User Profile**

Get a user's profile fields.

- Action

**Invite User to Channel**

Invite one or more users to a channel (comma-separated user IDs).

- Action

**Join Channel**

Join a public channel.

- Action

**Leave Channel**

Leave a channel.

- Action

**List Bookmarks**

List the bookmarks in a channel.

- Action

**List Channel Members**

List the members of a channel.

- Action

**List Channels**

List channels in the workspace (public and private).

- Action

**List Custom Emojis**

List the workspace's custom emojis.

- Action

**List Files**

List files in the workspace, optionally filtered by channel or user.

- Action

**List Pinned Items**

List the items pinned in a channel.

- Action

**List Scheduled Messages**

List messages scheduled to be sent later.

- Action

**List User Groups**

List the workspace's user groups.

- Action

**List Users**

List all users in the workspace.

- Action

**List User's Channels**

List the channels a user is a member of.

- Action

**Mark Channel Read**

Set the read cursor position in a channel.

- Action

**Pin Message**

Pin a message to a channel.

- Action

**Remove Bookmark**

Remove a bookmark from a channel.

- Action

**Remove Reaction**

Remove an emoji reaction from a message.

- Action

**Remove Star**

Remove a star from a message or file.

- Action

**Remove User from Channel**

Remove a member from a channel.

- Action

**Rename Channel**

Rename a channel.

- Action

**Schedule Message**

Schedule a message to be sent to a channel at a future Unix time.

- Action

**Search Files**

Search files across the workspace.

- Action

**Search Messages**

Search messages across the workspace.

- Action

**Send Direct Message**

Open a DM with a user and post a message to it.

- Action

**Send Ephemeral Message**

Send a message in a channel that is visible only to one user.

- Action

**Send Message**

Post a message to a channel, private group, or DM.

- Action

**Set Channel Purpose**

Set the purpose (description) for a channel.

- Action

**Set Channel Topic**

Set the topic for a channel.

- Action

**Set User Presence**

Set the authenticated user's presence status.

- Action

**Unarchive Channel**

Restore an archived channel.

- Action

**Unpin Message**

Remove a pinned message from a channel.

- Action

**Update Message**

Update an existing message in a channel by timestamp.

- Action

**Upload File**

Upload a file and share it to one or more channels.

## Each app on its own

- [ **Harpoon** Harpoon is a financial planning, scheduling, time-tracking, invoicing, and budgeting platform for...](https://apiant.ai/connections/harpoon)
- [ **Slack** Slack is a messaging platform for teams. Post messages, manage channels, users, reminders, and react to...](https://apiant.ai/connections/slack)

Reviews

## What our customers say

## More from Harpoon

- [ **Harpoon to Bugcrowd** Bugcrowd API for interacting and tracking the reported issues programmatically](https://apiant.ai/connect/harpoon-to-bugcrowd)
- [ **Harpoon to HubSpot** HubSpot is your all-in-one stop for all of your marketing software needs.](https://apiant.ai/connect/harpoon-to-hubspot)
- [ **Harpoon to Salesforce** Salesforce is a leading enterprise customer relationship management (CRM) platform.](https://apiant.ai/connect/harpoon-to-salesforce)
- [ **Harpoon to Google Sheets** Google Sheets](https://apiant.ai/connect/harpoon-to-google-sheets)
- [ **Harpoon to Gmail** Gmail is Google’s email service, featuring spam protection, search functions, and seamless integration with...](https://apiant.ai/connect/harpoon-to-gmail)
- [ **Harpoon to Google Drive** Google Drive is a cloud storage solution for uploading, sharing, and collaborating on files across devices...](https://apiant.ai/connect/harpoon-to-google-drive)

## More into Slack

- [ **Salesforce to Slack** Salesforce is a leading enterprise customer relationship management (CRM) platform.](https://apiant.ai/connect/salesforce-to-slack)
- [ **Google Calendar to Slack** Google Calendar is a time management tool providing scheduling features, event reminders, and integration...](https://apiant.ai/connect/google-calendar-to-slack)
- [ **Mailchimp to Slack** Mailchimp marketing automation and email platform.](https://apiant.ai/connect/mailchimp-to-slack)
- [ **Stripe to Slack** Stripe is a payment processing platform for online businesses.](https://apiant.ai/connect/stripe-to-slack)
- [ **Shopify to Slack** Shopify is a commerce platform for online stores and retail point-of-sale.](https://apiant.ai/connect/shopify-to-slack)
- [ **Notion to Slack** A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team.](https://apiant.ai/connect/notion-to-slack)

Questions

## Harpoon and Slack, answered

###

### What can start an automation from Harpoon?

Any of Harpoon's 9 triggers in the catalog, including New Client, New Contact, New Expense and New Expense Category. Describe the moment in plain language and your agent picks the right one.

###

### What can your agent do in Slack when something happens in Harpoon?

Any of Slack's 60 actions, including Create Canvas, Create Channel, Create Channel Canvas and Create Reminder. Your agent maps the data both ways and tests every scenario before it ships.

###

### Can it also run from Slack to Harpoon?

Yes. When something happens in Slack, your agent can act in Harpoon too. This page covers both directions: Slack's triggers and Harpoon's actions are listed here as well.

###

### Do I have to build a connector for Harpoon or Slack?

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 Harpoon and Slack 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.
