# Endorsal

Endorsal automates the collection and display of customer testimonials and reviews, enhancing social proof for businesses.

- **Category:** reviews
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 26
- **Triggers:** 0
- **Slug:** `ENDORSAL`
- **Version:** 20260217_00

## Tools

### Archive Contact

**Slug:** `ENDORSAL_ARCHIVE_CONTACT`

Tool to archive a contact using its unique identifier. Use when you need to remove a contact from active use without permanently deleting it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | The unique identifier of the contact to archive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Contact

**Slug:** `ENDORSAL_CREATE_CONTACT`

Tool to create a new contact in your Endorsal account. Use when you need to add a new contact with their email, name, and company details. Optionally add the contact to an AutoRequest campaign by providing the campaign ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the contact. This is required to create a contact. |
| `phone` | string | No | Phone number of the contact. |
| `company` | string | No | Company name of the contact. |
| `job_title` | string | No | Job title or position of the contact. |
| `last_name` | string | No | Last name of the contact. |
| `first_name` | string | No | First name of the contact. |
| `campaign_id` | string | No | Pass in an AutoRequest campaign ID to automatically add the contact to that campaign. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Tag

**Slug:** `ENDORSAL_CREATE_TAG`

Tool to create a new tag in Endorsal. Tags can be used to categorize testimonials or represent products. Use when you need to add a new organizational category or product tag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sku` | string | No | External ID/SKU (typically used for product type tags) |
| `link` | string | No | URL link to product page (typically used for product type tags) |
| `name` | string | Yes | Name of the tag |
| `type` | string ("tag" | "product") | Yes | Type of tag: 'tag' for general categorization or 'product' for product-specific tags |
| `image` | string | No | URL to image (typically used for product type tags) |
| `description` | string | No | Description of the tag |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Testimonial

**Slug:** `ENDORSAL_CREATE_TESTIMONIAL`

Tool to submit a new testimonial. Use when adding customer feedback to your Endorsal account after gathering input.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job` | string | No | Job title of the individual |
| `name` | string | Yes | Name of the individual giving the testimonial |
| `email` | string | Yes | Email address of the individual |
| `rating` | integer | No | Rating value (1-5) |
| `company` | string | No | Company name of the individual |
| `profile` | string | No | Profile image URL |
| `website` | string | No | Website URL of the individual or company |
| `featured` | boolean | No | Whether the testimonial is featured |
| `location` | string | No | Location of the individual |
| `property_id` | string | Yes | The ID of the property to associate with this testimonial. Can be obtained from the List Properties action. |
| `testimonial` | string | Yes | The testimonial text |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Tag

**Slug:** `ENDORSAL_DELETE_TAG`

Tool to delete a tag using its unique identifier. Use when you need to remove a tag from the system permanently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the tag to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Testimonial

**Slug:** `ENDORSAL_DELETE_TESTIMONIAL`

Tool to permanently delete a testimonial by its ID. Use when you need to remove a testimonial from your Endorsal account. This action cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the testimonial to delete. Obtain this from list endpoints or after creating a testimonial. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get AutoRequest Campaign

**Slug:** `ENDORSAL_GET_AUTO_REQUEST_CAMPAIGN`

Tool to retrieve a specific AutoRequest campaign by its unique identifier. Use when you need to fetch details of an existing AutoRequest campaign.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the AutoRequest campaign (MongoDB ObjectID format: 24 hexadecimal characters). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact

**Slug:** `ENDORSAL_GET_CONTACT`

Tool to retrieve details of a specific contact by its unique identifier. Use when you have the contact ID and need to fetch complete contact details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | Unique identifier of the contact to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Tag

**Slug:** `ENDORSAL_GET_TAG`

Tool to retrieve details of a specific tag by its unique identifier. Use when you have a tag ID and need full tag metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the tag to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Testimonial

**Slug:** `ENDORSAL_GET_TESTIMONIAL`

Retrieves complete details of a specific testimonial by its ID. Returns the testimonial content, author information (name, email, company, job, location), rating, approval status, and timestamps. Use this after obtaining a testimonial ID from listing endpoints or creation operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_id` | string | Yes | The unique testimonial ID to retrieve. Obtain this from list endpoints or after creating a testimonial. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Wall of Love

**Slug:** `ENDORSAL_GET_WALL_OF_LOVE`

Retrieves the Wall of Love for a property, returning testimonials that match its configuration options. Optionally returns a fully rendered HTML widget. Use render=false (default) to get testimonial data as JSON for custom display, or render=true to get a complete HTML/CSS/JS bundle ready to embed on your website.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `render` | boolean | No | If true, the API returns a fully rendered Wall of Love bundled with required JavaScript and CSS files that can be inserted directly into your website. If false or omitted, returns testimonial data as JSON. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Widget

**Slug:** `ENDORSAL_GET_WIDGET`

Tool to retrieve details of a specific widget by its unique identifier. Use when you need full widget details before editing or analysis.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `widget_id` | string | Yes | The unique identifier for the widget in MongoDB ObjectID format (24 hexadecimal characters) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List All Tags

**Slug:** `ENDORSAL_LIST_ALL_TAGS`

Tool to retrieve a list of all Tag Objects across all properties in your Endorsal account. Use when you need to view all available tags regardless of property association.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List AutoRequest Campaigns

**Slug:** `ENDORSAL_LIST_AUTOREQUEST_CAMPAIGNS`

Tool to retrieve a list of all AutoRequest campaigns. Use when you need to view both active and inactive campaigns.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Contacts

**Slug:** `ENDORSAL_LIST_CONTACTS`

Retrieves a paginated list of all contacts for a specific property in your Endorsal account. Contacts are created when testimonials are submitted or when you manually add contacts to your property. Use this action to browse your contact list, view contact details, and manage your customer database. Requires a valid property_id which can be obtained from the List Properties action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-indexed). Defaults to 1 if not specified. |
| `per_page` | integer | No | Number of contacts to return per page (1-100). Defaults to API default if not specified. |
| `property_id` | string | Yes | Unique identifier for the property to filter contacts by. Obtain this from the List Properties action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Contact Testimonials

**Slug:** `ENDORSAL_LIST_CONTACT_TESTIMONIALS`

Retrieves all testimonials associated with a specific contact in Endorsal. A contact in Endorsal is a person or entity that has been added to your contact list, typically through manual import, API creation, or auto-request campaigns. This action returns testimonials that have been explicitly linked to the specified contact. Note: This is different from testimonials created with an email address - those are standalone testimonials. Use List Contacts to find valid contact IDs first. Use this action when you need to view all testimonials for a particular contact, such as when displaying a contact's feedback history or generating reports.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based index) |
| `per_page` | integer | No | Number of testimonials per page |
| `contact_id` | string | Yes | Unique identifier of the contact (typically a 24-character hexadecimal ID). Obtain from the List Contacts action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Properties

**Slug:** `ENDORSAL_LIST_PROPERTIES`

Tool to retrieve all properties for the authenticated account. Use after obtaining a valid API key and login.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tags

**Slug:** `ENDORSAL_LIST_TAGS`

Retrieves all tags associated with a specific property in Endorsal. Tags are used to categorize and organize testimonials. Use this action when you need to view available tags for a property before assigning them to testimonials, or to get a complete list of tags for filtering purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `propertyId` | string | Yes | The unique identifier for the property whose tags you want to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tag Testimonials

**Slug:** `ENDORSAL_LIST_TAG_TESTIMONIALS`

Tool to retrieve all testimonials for a given tag. Use when you need to list testimonials filtered by tag ID for pagination and display.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for paginated results. Defaults to 1. |
| `limit` | integer | No | Number of items per page. Defaults to 50, maximum is 100. |
| `tag_id` | string | Yes | The unique identifier of the tag to filter testimonials by. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Testimonials

**Slug:** `ENDORSAL_LIST_TESTIMONIALS`

Retrieves a paginated list of all testimonials in your Endorsal account. Use when you need to browse testimonials, generate reports, or manage customer feedback.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based index). Defaults to 1 if not specified. |
| `limit` | integer | No | Number of testimonials to return per page (1-100). Defaults to 20 if not specified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Widgets

**Slug:** `ENDORSAL_LIST_WIDGETS`

Retrieves all testimonial display widgets associated with your Endorsal account. Widgets are used to display collected testimonials on your website. This action returns basic information about each widget including its ID, name, status, and timestamps. No parameters required - retrieves all widgets for the authenticated account. Use this when you need to: - Enumerate available widgets for management or selection - Get widget IDs for use with other widget operations - Check widget statuses across your account

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Contacts

**Slug:** `ENDORSAL_SEARCH_CONTACTS`

Tool to search contacts using query Match Objects. Returns matching Contact Objects based on field, operator, and value criteria. Use when you need to find specific contacts by email, name, company, or other fields with flexible matching operators.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | array | Yes | Array of Match Objects defining search criteria. Each Match Object contains field, operator, and value. Multiple conditions are combined with AND logic. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Testimonials

**Slug:** `ENDORSAL_SEARCH_TESTIMONIALS`

Tool to search testimonials using query Match Objects. Returns matching Testimonial Objects. Use when you need to filter testimonials by specific criteria like rating, approval status, property ID, or any other testimonial field.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | array | Yes | Array of Match Objects to filter testimonials. Each object specifies a field, operator, and value for matching |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Tag Testimonial

**Slug:** `ENDORSAL_TAG_TESTIMONIAL`

Tool to add tag(s) to a testimonial. Use when you need to categorize or associate tags with a testimonial. Supports both existing tags (by _id) and creating new tags inline.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | Yes | Array of tag objects. Use ExistingTagReference (with _id) for existing tags or NewTagObject (with name, type, etc.) to create new tags |
| `testimonial_id` | string | Yes | The unique identifier of the testimonial to tag |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Contact

**Slug:** `ENDORSAL_UPDATE_CONTACT`

Tool to update a contact's information. Pass in fields you'd like to update using a 'fields' object. Use when you need to modify existing contact details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | ID of the contact to update. |
| `fields` | object | Yes | Object containing fields to update (e.g., name, email, phone, position, company, location, website, etc.). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Testimonial

**Slug:** `ENDORSAL_UPDATE_TESTIMONIAL`

Tool to update an existing testimonial. Pass in only the fields you want to update using the 'fields' object. Use this when modifying testimonial content, author information, rating, or approval status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | ID of the testimonial to update |
| `fields` | object | Yes | Object containing fields to update. Include only the fields you want to change. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
