# Better Proposals

Better Proposals is a web-based proposal creation tool that enables users to send professionally designed proposals.

- **Category:** proposal & invoice management
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 23
- **Triggers:** 0
- **Slug:** `BETTER_PROPOSALS`
- **Version:** 20260227_00

## Tools

### Create Company

**Slug:** `BETTER_PROPOSALS_CREATE_COMPANY`

Tool to create a new company. Use after confirming the company does not already exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `CompanyName` | string | Yes | Company name. |

#### 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 Document Type

**Slug:** `BETTER_PROPOSALS_CREATE_DOCUMENT_TYPE`

Tool to create a new document type. Use after confirming the desired type name does not already exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `TypeName` | string | Yes | Document type name |
| `TypeColour` | string | No | Hex colour for your new document type. Default is '#01A3EF'. |

#### 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 Proposal Cover

**Slug:** `BETTER_PROPOSALS_CREATE_PROPOSAL_COVER`

Tool to create a new proposal cover design. Use when you need a custom cover design before sending out a proposal. Use after finalizing cover settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `BrandID` | integer | No | ID of the brand to use; if omitted, default brand settings are applied |
| `BGColour` | string | No | Background colour as 6-digit hex code, e.g. 'ffffff' |
| `Headline` | string | No | Main headline text on the cover |
| `CoverName` | string | No | Name for the cover; default is 'Untitled' |
| `Subheader` | string | No | Subheader text on the cover |
| `TextAlign` | string ("left" | "center" | "right") | No | Text alignment on the cover; one of 'left', 'center', or 'right' |
| `ButtonText` | string | No | Label text for the start button |
| `TextColour` | string | No | Text colour as 6-digit hex code, e.g. 'ffffff' |
| `ButtonStyle` | string ("round" | "square") | No | Style of the start button; 'round' or 'square' |

#### 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 All Companies

**Slug:** `BETTER_PROPOSALS_GET_ALL_COMPANIES`

Tool to retrieve a paginated list of all companies. Use when listing available companies for display or selection.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve (minimum 1) |
| `per_page` | integer | No | Number of companies per page (minimum 1) |

#### 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 All Currencies

**Slug:** `BETTER_PROPOSALS_GET_ALL_CURRENCIES`

Tool to retrieve a paginated list of all currencies. Use when listing available currency options before selection.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve (minimum 1) |
| `per_page` | integer | No | Number of currencies per page (minimum 1) |

#### 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 All Document Types

**Slug:** `BETTER_PROPOSALS_GET_ALL_DOCUMENT_TYPES`

Tool to retrieve a paginated list of all document types. Use when you need to display or select a document type ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve |
| `per_page` | integer | No | Number of document types per page |

#### 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 All Proposals

**Slug:** `BETTER_PROPOSALS_GET_ALL_PROPOSALS`

Tool to retrieve a paginated list of all proposals. Use when you need to fetch proposals list after validating credentials.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >= 1 |
| `type` | integer | No | Document Type ID to filter proposals |
| `per_page` | integer | No | Number of proposals per page, must be >= 1 |

#### 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 All Quotes

**Slug:** `BETTER_PROPOSALS_GET_ALL_QUOTES`

Tool to retrieve a paginated list of all quotes. Use after setting pagination parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to fetch, default is 1 |
| `per_page` | integer | No | Number of quotes per page, default is 10 |

#### 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 All Templates

**Slug:** `BETTER_PROPOSALS_GET_ALL_TEMPLATES`

Tool to retrieve a paginated list of all templates. Use when you need to list available templates for selection.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve (minimum 1) |
| `per_page` | integer | No | Number of templates per page (minimum 1) |

#### 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 Brand Settings

**Slug:** `BETTER_PROPOSALS_GET_BRAND_SETTINGS`

Tool to retrieve settings for the default brand. Use when you need default-brand configuration (colors, tax, name, etc.) before creating or customizing documents.

#### 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 Company

**Slug:** `BETTER_PROPOSALS_GET_COMPANY`

Tool to retrieve details of a specific company. Use when you need company metadata by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company_id` | string | Yes | The unique identifier of the company 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 Currency

**Slug:** `BETTER_PROPOSALS_GET_CURRENCY`

Tool to retrieve details of a specific currency. Use when you need currency metadata by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `currency_id` | string | Yes | The unique identifier of the currency 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 New Proposals

**Slug:** `BETTER_PROPOSALS_GET_NEW_PROPOSALS`

Tool to retrieve all new proposals. Use after validating credentials when you need only newly created proposals.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >= 1 |
| `type` | integer | No | Document Type ID to filter proposals |
| `per_page` | integer | No | Number of proposals per page, must be >= 1 |

#### 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 Opened Proposals

**Slug:** `BETTER_PROPOSALS_GET_OPENED_PROPOSALS`

Tool to retrieve all opened proposals. Use when you need proposals that recipients have opened.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >= 1 |
| `type` | integer | No | DocumentTypeID to filter proposals |
| `per_page` | integer | No | Number of proposals per page, must be >= 1 |

#### 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 Paid Proposals

**Slug:** `BETTER_PROPOSALS_GET_PAID_PROPOSALS`

Tool to retrieve all paid proposals. Use when you need to list proposals that have been paid.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >= 1 |
| `type` | integer | No | Document Type ID to filter paid proposals |
| `per_page` | integer | No | Number of paid proposals per page, must be >= 1 |

#### 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 Proposal

**Slug:** `BETTER_PROPOSALS_GET_PROPOSAL`

Tool to retrieve details of a specific proposal by ID. Use when you need complete proposal metadata and content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `proposal_id` | string | Yes | The unique identifier of the proposal 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 Proposal Count

**Slug:** `BETTER_PROPOSALS_GET_PROPOSAL_COUNT`

Tool to retrieve the total count of proposals. Use when you need to know how many proposals exist.

#### 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 Quote

**Slug:** `BETTER_PROPOSALS_GET_QUOTE`

Tool to retrieve details of a specific quote. Use when you need full quote data by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `quote_id` | string | Yes | The unique identifier of the quote 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 Sent Proposals

**Slug:** `BETTER_PROPOSALS_GET_SENT_PROPOSALS`

Tool to retrieve all sent proposals. Use after dispatching proposals to clients to list them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >= 1 |
| `type` | integer | No | Document Type ID to filter proposals |
| `per_page` | integer | No | Number of proposals per page, must be >= 1 |

#### 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 Settings

**Slug:** `BETTER_PROPOSALS_GET_SETTINGS`

Tool to retrieve current account settings. Use when you need default currency, tax, and timezone configuration before creating proposals.

#### 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 Signed Proposals

**Slug:** `BETTER_PROPOSALS_GET_SIGNED_PROPOSALS`

Tool to retrieve all signed proposals. Use when you need to list proposals clients have signed after confirming credentials.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >= 1 |
| `type` | integer | No | Document Type ID to filter signed proposals |
| `per_page` | integer | No | Number of signed proposals per page, must be >= 1 |

#### 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 Template Details

**Slug:** `BETTER_PROPOSALS_GET_TEMPLATE`

Tool to retrieve details of a specific template. Use after selecting the template ID to fetch metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | The unique identifier of the template 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 |

### List Merge Tags

**Slug:** `BETTER_PROPOSALS_LIST_MERGE_TAGS`

Tool to retrieve custom merge tags with pagination support. Use when you need to list available merge tags for templates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve (minimum 1). Default: 1 |
| `per_page` | integer | No | Number of merge tags per page (minimum 1). Default: 10 |

#### 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 |
