Bidsketch

Learn how to use Bidsketch with Composio

Overview

SLUG: BIDSKETCH

Description

Bidsketch is a proposal software that helps businesses create professional proposals quickly and efficiently.

Authentication Details

generic_api_key
stringRequired

Connecting to Bidsketch

Create an auth config

Use the dashboard to create an auth config for the Bidsketch toolkit. This allows you to connect multiple Bidsketch accounts to Composio for agents to use.

1

Select App

Navigate to the Bidsketch toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5bidsketch_auth_config_id = "ac_YOUR_BIDSKETCH_CONFIG_ID" # Auth config ID created above
6user_id = "0000-0000-0000" # UUID from database/app
7
8composio = Composio()
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 # Replace this with a method to retrieve an API key from the user.
12 # Or supply your own.
13 user_api_key = input("[!] Enter API key")
14
15 connection_request = composio.connected_accounts.initiate(
16 user_id=user_id,
17 auth_config_id=auth_config_id,
18 config={"auth_scheme": "API_KEY", "val": user_api_key}
19 )
20
21 # API Key authentication is immediate - no redirect needed
22 print(f"Successfully connected Bidsketch for user {user_id}")
23 print(f"Connection status: {connection_request.status}")
24
25 return connection_request.id
26
27
28connection_id = authenticate_toolkit(user_id, bidsketch_auth_config_id)
29
30# You can verify the connection using:
31connected_account = composio.connected_accounts.get(connection_id)
32print(f"Connected account: {connected_account}")

Tools

Executing tools

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["BIDSKETCH"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Get Client

Description

Tool to get a client by id. use when you need detailed client info after obtaining its id.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Client

Description

Tool to create a client. use when adding a new client record to bidsketch.

Action Parameters

address_field_one
string
address_field_two
string
alt_phone
string
city
string
country
string
email
stringRequired
first_name
stringRequired
last_name
stringRequired
name
string
notes
string
other_contact
object
phone
string
postal_zip
string
state
string
website
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Client

Description

Tool to delete a client and all their proposals. use when you want to permanently remove a client and its associated proposals from your account.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Fee

Description

Tool to delete a fee. use when a saved fee is no longer needed. use after confirming this fee isn't referenced in any live proposals.

Action Parameters

fee_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Proposal

Description

Tool to delete a proposal and all its content. use after confirming the proposal id to prevent accidental deletions.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Proposal Fee

Description

Tool to delete a proposal fee. use when you need to remove an existing fee before finalizing or sending a proposal.

Action Parameters

fee_id
integerRequired
proposal_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Proposal Section

Description

Tool to delete a proposal section. use when you need to remove a section from a proposal after verifying its id.

Action Parameters

proposal_id
integerRequired
section_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Section

Description

Tool to delete a section. use when you need to permanently remove a saved section after confirming its id.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Webhook

Description

Tool to delete a webhook. use after obtaining the webhook id to remove it.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Clients

Description

Tool to retrieve all clients. use when you need to list all clients on the account.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Client Proposals

Description

Tool to list proposals for a specific client. use after confirming the client id exists.

Action Parameters

client_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Fee

Description

Tool to get a single fee. use when you need detailed information about a fee by its id after confirming its existence.

Action Parameters

fee_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Fees

Description

Tool to list all the fees for the account. use when you need to fetch every saved fee.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Proposal

Description

Tool to get a proposal by id. use when you need detailed information for a specific proposal after obtaining its id.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Proposals

Description

Tool to retrieve all proposals for the account. use when you need an overview of existing proposals.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Proposal Content

Description

Tool to get a proposal with all its content (sections and fees). use when you need a full proposal in one call.

Action Parameters

proposal_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Proposal Fee

Description

Tool to get a single fee item for a proposal. use when you need detailed information about a specific fee before updating or displaying it.

Action Parameters

fee_id
integerRequired
proposal_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Proposal Fees

Description

Tool to list all fees for a proposal. use after confirming the proposal id exists; supports pagination.

Action Parameters

page
integer
per_page
integer
proposal_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Proposal Section

Description

Tool to fetch a single proposal section. use when you need detailed information for a section after listing proposal sections.

Action Parameters

proposal_id
integerRequired
section_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Proposal Sections

Description

Tool to get all sections for a proposal. use when you need to list opening or closing sections by proposal id.

Action Parameters

proposal_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Proposal Stats

Description

Tool to get proposal statistics. use when you need the total count of proposals for the account.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Section

Description

Tool to fetch a section by id. use when you need detailed section information after confirming its id.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Sections

Description

Tool to list all sections. use when you need to retrieve saved sections for your account.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Templates

Description

Tool to list all proposal templates saved for the account. use when you need to fetch available templates before creating a new proposal.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Fee

Description

Tool to create a fee. use when you need to add a reusable fee to the account before adding it to a proposal. ensure required fields are set (e.g., unit for custom fees).

Action Parameters

amount
numberRequired
category
string
description
string
feetype
stringRequired
name
stringRequired
quantity
integer
unit
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Proposal Fee

Description

Tool to create a proposal fee. use after confirming the proposal exists to add a cost line item; require unit when feetype is custom.

Action Parameters

amount
numberRequired
description
string
feetype
stringRequired
name
stringRequired
optional
boolean
proposal_id
integerRequired
quantity
integer
unit
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Proposal Section

Description

Tool to create a proposal section. use after confirming a proposal exists to add a new opening or closing section.

Action Parameters

description
stringRequired
name
stringRequired
proposal_id
integerRequired
sectiontype
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Section

Description

Tool to create a section. use when you need to add a new section to your account before including it in proposals.

Action Parameters

category
string
description
string
name
stringRequired
sectiontype
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Webhook

Description

Tool to create a webhook. use when your endpoint is ready to receive event notifications and must return http 200 ok.

Action Parameters

endpoint
stringRequired
event
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Client

Description

Tool to update a client. use when you need to modify existing client records with new data.

Action Parameters

address_field_one
string
address_field_two
string
alt_phone
string
city
string
country
string
email
string
first_name
string
id
integerRequired
last_name
string
name
string
notes
string
other_contact
object
phone
string
postal_zip
string
state
string
website
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Fee

Description

Tool to update a fee. use when you need to modify existing fee records with new data after verifying current values.

Action Parameters

amount
number
category
string
description
string
fee_id
integerRequired
feetype
string
name
string
quantity
integer
unit
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Proposal

Description

Tool to update a specific proposal's details. use after retrieving a proposal to apply changes.

Action Parameters

client_id
integer
currency
string
description
string
discount
number
id
integerRequired
name
string
proposal_date
string
settings
object
tax
number
tax2
number

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Proposal Fee

Description

Tool to update a proposal fee. use when modifying specific properties of an existing fee within a proposal after verifying its existence.

Action Parameters

amount
number
description
string
fee_id
integerRequired
feetype
string
name
string
optional
boolean
proposal_id
integerRequired
quantity
integer
unit
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Proposal Section

Description

Tool to update a proposal section. use when you need to modify the name or content of an existing section after verifying its existence.

Action Parameters

description
string
name
string
proposal_id
integerRequired
section_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Section

Description

Tool to update a section. use when you need to modify an existing section after confirming its id.

Action Parameters

category
string
description
string
id
integerRequired
name
string
sectiontype
string

Action Response

data
objectRequired
error
string
successful
booleanRequired