# Bidsketch integrations: clients and proposals

> Create a client, create a proposal and create a fee in Bidsketch, and start a workflow when Bidsketch sends “Client created”.

**Canonical page:** https://tray.ai/connectors/bidsketch-integrations/
**Categories:** Sales
**Connects through:** HTTP Connector

## Overview

Bidsketch is proposal software for agencies and freelancers to build client proposals from templates, track views, and collect signed acceptance. Tray.ai connects to Bidsketch through the HTTP Connector, so your workflows can call the Bidsketch API alongside the rest of your stack.

## Use cases

### Clients

Read, create, update, and delete clients in Bidsketch from any Tray.ai workflow. The Bidsketch API covers calls such as list clients and get a client.

- List clients
- Get a client
- Create a client

### Proposals

Read, create, and update proposals in Bidsketch from any Tray.ai workflow. The Bidsketch API covers calls such as list proposals and get a proposal.

- List proposals
- Get a proposal
- Get proposal stats

### Fees

Read, create, update, and delete fees in Bidsketch from any Tray.ai workflow. The Bidsketch API covers calls such as list fees and get a fee.

- List fees
- Get a fee
- Create a fee

### Templates

Read templates in Bidsketch from any Tray.ai workflow. The Bidsketch API covers calls such as list templates and get a template.

- List templates
- Get a template

### Webhooks

Create and delete webhooks in Bidsketch from any Tray.ai workflow. The Bidsketch API covers calls such as create a webhook and delete a webhook.

- Create a webhook
- Delete a webhook

### Bidsketch events

Start a Tray.ai workflow the moment something happens in Bidsketch. Bidsketch sends events such as client created and proposal created to a Tray.ai webhook trigger.

- Client created
- Proposal created
- Proposal sent

## Challenges Tray.ai solves

### Keeping Bidsketch credentials out of logs

A raw API call usually means pasting a key or token into the request, where it ends up in step inputs, logs, and screenshots.

**How Tray.ai helps:** Store Bidsketch credentials once as a Tray.ai authentication and reference them from the HTTP Connector. Tray.ai masks authentication values in logs, so the secret never shows up in a step's input or output.

### Going from the Bidsketch API docs to a working call

Translating an example request from API docs into a workflow step means copying the method, URL, headers, and body by hand.

**How Tray.ai helps:** Paste a cURL example from the Bidsketch API docs into the HTTP Connector and Tray.ai fills in the method, URL, headers, and body for you.

### Handling files and non-JSON responses

Not every API answers in JSON. Some return XML, files, or binary data, or expect a multipart upload.

**How Tray.ai helps:** The HTTP Connector parses JSON and XML responses, returns files you can pass to the next step, and sends multipart form data for uploads.

## Frequently asked questions

### Does Tray.ai connect to Bidsketch?

Yes. Tray.ai connects to Bidsketch through the HTTP Connector, which calls the Bidsketch API directly. Any call the Bidsketch API documents can run as a step in a Tray.ai workflow.

### How does Tray.ai authenticate with Bidsketch?

The Bidsketch API uses an API key in a request header. You save it once as a Tray.ai authentication, and the HTTP Connector adds it to every request.

### Can I get a dedicated Bidsketch connector?

Bidsketch runs through the HTTP Connector rather than a dedicated connector. If your team wants one, the Tray.ai connector SDK can build a dedicated Bidsketch connector from the Bidsketch API.

## Learn more

- Intelligent Integration: https://tray.ai/platform/intelligent-ipaas/
- Merlin Agent Builder: https://tray.ai/platform/merlin-agent-builder/
- Agent Gateway for MCP: https://tray.ai/platform/agent-gateway/
- Book a demo: https://tray.ai/contact/
