What an assistant can do
A connected AI client gets a fixed set of tools. This is all of them. You never call these yourself — the list is here so you know what a client can reach, and what it cannot.
Reading
Section titled “Reading”| Tool | What it returns |
|---|---|
get_authoring_context |
Your templates, reusable blocks, recent proposals and brand colours, plus the exact section format. Assistants call this first. |
search_docs |
This documentation. |
list_proposals |
Your proposals, newest first, filterable by status and free text. |
get_proposal |
One proposal with all its sections. |
list_sections |
A proposal’s or template’s sections with a text preview and the placeholders each uses, without the full layout tree. |
render_preview |
A layout report and screenshots of what a section actually looks like. |
list_templates |
Your proposal template library. |
get_proposal_template |
One template with its sections and the placeholders it actually contains. |
list_placeholders |
Every placeholder that exists, with the markup to insert it. |
fetch_page_content |
The text of a public web page — your own services or process page — as source material. |
list_template_blocks |
Your reusable blocks. |
get_template_block |
The sections inside one block. |
get_price_table |
The line items of a price section, without the computed totals. |
get_accept_section |
The acceptance configuration: button, form fields, decline link, signature flag. |
find_images |
Stock photo candidates, returned as actual pictures. |
list_customers |
Your customer list, searchable. |
get_customer |
One customer record. |
Writing
Section titled “Writing”Every tool below needs the write permission and an active subscription — the same gate the app applies. During an expired trial an assistant can still read, but not write.
| Tool | What it changes |
|---|---|
create_proposal |
Creates a draft, optionally from a template. |
create_proposal_template |
Creates an empty proposal template. |
add_section |
Inserts a section at a position you choose, or at the end. |
update_section |
Replaces one section. It cannot change a section’s kind. |
remove_section |
Deletes one section. |
reorder_sections |
Sets the order. Must list every section exactly once. |
add_price_section |
Creates a price section with its line items. |
set_price_table |
Replaces a price table’s line items. |
add_accept_section |
Creates the acceptance block. One per proposal or template. |
set_accept_section |
Replaces the acceptance configuration — it replaces rather than merges. |
create_customer |
Creates a customer. This writes real CRM data. |
The guided prompts
Section titled “The guided prompts”Alongside the tools, the server offers two prompts. In Claude Code they appear as
/pural:draft_proposal and /pural:draft_proposal_template. See
Drafting with AI.
What no tool can do
Section titled “What no tool can do”These limits hold regardless of which permissions were granted:
- Sending. No tool sends email. Sending stays a decision you make in the app.
- Uploading. An assistant can place a stock photo or an asset that already exists, but it cannot put a file into your workspace.
- Deleting a template. It can create and edit proposal templates; it cannot delete one. Other proposals were built from it, so that stays a decision you make in the app.
- Editing customers. It can create one and read the list; it cannot change or delete an existing record, and customer contacts are not exposed at all.
This page for language models
The same content as plain text, for an AI assistant to read.