> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://salesrobot.crisp.help/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Using SalesRobot APIs

# SalesRobot API Documentation

SalesRobot's API functionality enables seamless integration and automation with your systems. Use these APIs to manage leads, send sequences, and simplify workflows. This guide covers getting started, API endpoints, and detailed information for enhanced prospect management.

## Getting Started

### Signup Flow
To create a SalesRobot account:
1. Go to [https://app.salesrobot.co/register](https://app.salesrobot.co/register)
2. Click on the Signup button

### Adding a LinkedIn Account
To connect your LinkedIn account:
1. Go to [https://app.salesrobot.co/accounts](https://app.salesrobot.co/accounts)
2. Click on **Add Account**
3. Select **Add LinkedIn Account**
4. Enter your LinkedIn credentials

### API Key Generation
To generate your API key:
1. Go to [https://app.salesrobot.co/admin/settings?tab=apiKey](https://app.salesrobot.co/admin/settings?tab=apiKey)
2. Click **Generate API Key**
3. Store your API key securely for use in API requests

## API Endpoints

### Copy Blacklist from Another LinkedIn Account
**Endpoint:** `POST&#32;https://api.boomtechinc.com/api/blacklist/copy_from_account`
**Description:** Copies the blacklist from one LinkedIn account to another.
**Headers:**
* `authorization`
* `content-type: application/json;charset=UTF-8`
* `customeruuid`
**Query Parameters:**
* `copyFromAccount` - Another LinkedIn account UUID (to copy from)
* `linkedinAccountUuid` - Destination LinkedIn account UUID
**Request Body:**
json
```
{}
```
**Example Request:**
curl
```
curl --location 'https://api.boomtechinc.com/api/blacklist/copy_from_account?copyFromAccount=ca18a474-479e-4841-b46d-4328a9069db6&linkedinAccountUuid=' \
--header 'authorization;' \
--header 'content-type: application/json;charset=UTF-8' \
--header 'customeruuid;' \
--data '{}'
```
**Example Response (200 OK):**
json
```
{
  "success": true,
  "message": "Blacklist copied successfully",
  "data": "ok"
}
```

### Automatic Warmup
**Endpoint:** `POST&#32;https://app.boomtechinc.com/api/settings/automaticWarmUp`
**Description:** Configures automatic warmup settings for your LinkedIn account, including automated connection acceptance and suggested connections.
**Headers:**
* `authorization`
* `content-type: application/json;charset=UTF-8`
* `customeruuid`
**Query Parameters:**
* `linkedinAccountUuid` - UUID of the LinkedIn account
**Request Body:**
json
```
{"automatedAcceptConnections":true,"automatedConnectSuggested":null}
```
**Example Request:**
curl
```
curl --location 'https://app.boomtechinc.com/api/settings/automaticWarmUp?linkedinAccountUuid=' \
--header 'authorization;' \
--header 'content-type: application/json;charset=UTF-8' \
--header 'customeruuid;' \
--data '{"automatedAcceptConnections":true,"automatedConnectSuggested":null}'
```
**Example Response (200 OK):**
json
```
{
  "success": true,
  "message": "Automatic warm up settings saved successfully",
  "data": "Saved new automatic warm up settings"
}
```

### Create Video Avatar
**Endpoint:** `POST&#32;https://api.boomtechinc.com/api/ai-video-personalization/create-video-avatar`
**Description:** Creates an AI video avatar for personalized video outreach.
**Headers:**
* `authorization`
* `customeruuid`
**Query Parameters:**
* `linkedinAccountUuid` - UUID of the LinkedIn account
**Form Data Parameters:**
* `name` - Name for the avatar (e.g., "Rohit")
* `description` - Description of the avatar (e.g., "Rohit's test avtar")
* `gender` - Gender of the avatar (e.g., "male")
* `video` - Video file to upload
**Example Request:**
curl
```
curl --location 'https://api.boomtechinc.com/api/ai-video-personalization/create-video-avatar?linkedinAccountUuid=' \
--header 'authorization;' \
--header 'content-type: multipart/form-data; boundary=----WebKitFormBoundary32OFUFykU84p9znS' \
--header 'customeruuid;' \
--form 'video=@"/path/to/file"' \
--form 'name="Rohit"' \
--form 'description="Rohit'\''s test avtar"' \
--form 'gender="male"'
```
**Example Response (200 OK):**
json
```
{
  "success": true,
  "message": "Video avatar creation initiated successfully",
  "data": {
    "videoAvatarUuid": "1f0010ed-3564-46f6-9dda-ab59a2cc6e81",
    "videoAvatarStatus": "INITIALIZED"
  }
}
```

## Inbound APIs (Webhooks)
To configure inbound APIs in SalesRobot:
1. Navigate to **Settings** in your SalesRobot account
2. Go to **Integrations**
3. Under SalesRobot, select **Configure**
4. Enable the **Webhook Endpoint** switch
Once enabled, you'll access seven inbound API endpoints:

### 1. Add Prospect to Campaign

**Endpoint:** `POST&#32;https://app.salesrobot.co/public/webhooks/fbe0dc37-7040-4ec4-b6e3-4cb3e78dfcb6/campaign/addProspect`
**Description:** Adds new prospects to your SalesRobot campaigns using either profileUrl or salesNavUrl. The campaignName must match exactly with the campaign name in SalesRobot.
**Request Body:**
json
```
{
  "campaignName": "Name of your campaign here",
  "firstName": "Sherlock",
  "lastName": "Holmes",
  "profileUrl": "https://www.linkedin.com/in/holmes-sherlock-8a78b1143",
  "salesNavUrl": "https://www.linkedin.com/sales/people/8a78b1143HHHLS-KSKSK8383",
  "companyName": "Good Detectives",
  "jobTitle": "Sr. Detective",
  "isPremium": true,
  "connectionLevel": "2nd/3rd",
  "personalWebsite": "https://sherlock.holmes.com",
  "phoneNumber": "+4242424242",
  "emailId": "sherlock.holmes@detective.com",
  "mostRecentEducation": "BTech",
  "topVolunteerExperience": "Solving Mysteries",
  "topCertification": "Solving Mysteries",
  "topRecommender": "Solving Mysteries",
  "topSkill": "Solving Mysteries",
  "location": "UK",
  "customColumns": "{\"Custom snippet\":\"Custom snippet value\"}"
}
```
**Note:** If using customColumns, format the value as a string. Email will only work if it matches the one on the LinkedIn profile.

### 2. Pause a Sequence

**Endpoint:** `POST&#32;https://app.salesrobot.co/public/webhooks/fbe0dc37-7040-4ec4-b6e3-4cb3e78dfcb6/pauseSequence`
**Description:** Pauses the latest running sequence for a prospect in your campaign. You can use either profileUrl or email. If both are provided, profileUrl takes precedence.
**Request Body:**
json
```
{
  "profileUrl": "https://www.linkedin.com/in/holmes-sherlock-8a78b1143",
  "email": "sherlock.holmes@detective.com"
}
```
**Note:** Email must match the one on the LinkedIn profile for it to work.

### 3. Resume a Sequence

**Endpoint:** `POST&#32;https://app.salesrobot.co/public/webhooks/fbe0dc37-7040-4ec4-b6e3-4cb3e78dfcb6/resumeSequence`
**Description:** Resumes the most recent paused sequence for the prospect.
**Request Body:** Same as Pause a Sequence.
**Note:** Similar to pausing, profileUrl is preferred if both profileUrl and email are provided.

### 4. Tag Inbox Chat

**Endpoint:** `POST&#32;https://app.salesrobot.co/public/webhooks/fbe0dc37-7040-4ec4-b6e3-4cb3e78dfcb6/addTag`
**Description:** Tags a prospect's chat in SalesRobot, viewable in the inbox/campaign leads. Use either profileUrl or email, with profileUrl taking priority if both are provided.
**Request Body:**
json
```
{
  "profileUrl": "https://www.linkedin.com/in/holmes-sherlock-8a78b1143",
  "email": "sherlock.holmes@detective.com",
  "tag": "Positive lead",
  "tagList": ["Positive lead", "100k"]
}
```

### 5. Send Reply to Prospect

**Endpoint:** `POST&#32;https://app.salesrobot.co/public/webhooks/fbe0dc37-7040-4ec4-b6e3-4cb3e78dfcb6/replyToProspect`
**Description:** Sends a reply message to a prospect. Only profileUrl is required.
**Request Body:**
json
```
{
  "profileUrl": "https://www.linkedin.com/in/holmes-sherlock-8a78b1143",
  "replyMessage": "Hello, delighted to add you to my network."
}
```

### 6. Update Prospect Information

**Endpoint:** `POST&#32;https://app.salesrobot.co/public/webhooks/fbe0dc37-7040-4ec4-b6e3-4cb3e78dfcb6/updateProspect`
**Description:** Updates prospect data within a specific campaign or across all campaigns if campaignName is not specified. Only include fields you wish to update.
**Request Body:**
json
```
{
  "campaignName": "Name of your campaign here",
  "firstName": "Sherlock",
  "lastName": "Holmes",
  "profileUrl": "https://www.linkedin.com/in/holmes-sherlock-8a78b1143",
  "companyName": "Good Detectives",
  "jobTitle": "Sr. Detective",
  "connectionLevel": "2nd/3rd",
  "personalWebsite": "https://sherlock.holmes.com",
  "phoneNumber": "+4242424242",
  "emailId": "sherlock.holmes@detective.com",
  ...
}
```
**Note:** customColumns should be in string format.

### 7. Remove Prospect from Campaign

**Endpoint:** `POST&#32;https://app.salesrobot.co/public/webhooks/fbe0dc37-7040-4ec4-b6e3-4cb3e78dfcb6/removeProspect`
**Description:** Removes a prospect from a specified campaign using profileUrl. If campaignName is omitted, the prospect will be removed from all campaigns.
**Request Body:**
json
```
{
  "profileUrl": "https://www.linkedin.com/in/holmes-sherlock-8a78b1143",
  "campaignName": "Test campaign 1"
}
```

## Setting Up Outbound APIs

To set up outbound API functionality and connect SalesRobot to your CRM or other external tools, refer to our detailed guide: [How Do I Connect SalesRobot to My CRM?](https://salesrobot.crisp.help/en/article/salesrobot-webhooksconnecting-to-crm-qw8tmz/)
This guide walks you through the process of integrating SalesRobot's outbound API capabilities with your CRM, ensuring seamless data transfer and automation.
