getsign_detect_placeholders_ai
Run AI placeholder detection on a PDF document.
Detects signer-fillable pads (signature, initials, sign dates, text boxes,
checkboxes) and Monday board fields (email, phone, numbers, location,
text, date, item-name) in one run. Board fields pull values from the
item's Monday columns. itemId is the column id, title is the column name.
Always pass board_id so columns reach the detector. item_id is not
enough. If omitted, the tool resolves board_id from envelope_id or
template_id. Printed {{Column Title}} / {columnId} tags are not
rewritten into board overlays.
By default waits for the async job to finish and returns detected
placeholders. Set wait=false to only start the job and get a jobId.
Present these choices to the user. Do not pick silently.
First detect — ask which fields to detect:
- Board fields (filled from Monday columns)
- Signer-fillable placeholders (the signer writes them)
- Both
Pass their choice as intent, e.g. intent="board fields only",
intent="signer-fillable only", or intent="both". They can add document
type on the same string. Do not invent a choice they did not give.
If the result is wrong they can:
- Edit with text: re-call with refine=true and intent set to what they
said is wrong (e.g. intent="you missed the signature on page 2").
- Start from scratch: re-call with force=true. That mints new field ids,
so save afterwards with merge=false or fields will duplicate.
If AI detection was already completed / fields are already mapped on this
file, returns AI_DETECTION_ALREADY_DONE instead of redetecting. Pass
envelope_id+item_id or template_id so that check can read file state. That
response includes previous_run and user_options — tell the user those
options (refine with text vs start over vs review in the editor).
Prefer this when the user asks to auto-detect signature pads, form
fields, or Monday board fields on a PDF. After completion, save via
getsign_save_document_configuration action=placeholders, then open
getsign_get_document_url(action="edit") so the user can review.
For item / useFileColumn documents, always pass envelope_id (workflow id) +
item_id. The tool calls POST /files/find-or-create/with-rendered-string first
(same as opening the PDF editor) so detect has an S3 key. Without envelope_id
the ingest step is skipped and Monday-only file ids can fail with
"File not found or has no storage key".
This is the required first step for placing signer-fillable or
board-bound fields via the API. Always call this before
getsign_save_document_configuration (action=placeholders), and pass
its data.placeholders through unmodified, including board field types.
The only field-placement path that skips this tool is the manual PDF
editor (getsign_get_document_url with action="edit"), where the user
places fields by hand.
Never construct a placeholders array yourself from guessed coordinates —
the save route accepts it without error but it can fail to render or
resolve a signer, with no indication anything is wrong.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | ||
| force | No | ||
| intent | No | ||
| job_id | No | ||
| refine | No | ||
| file_id | Yes | ||
| item_id | No | ||
| board_id | No | ||
| envelope_id | No | ||
| template_id | No | ||
| confirm_token | No | Retry token from a prior CONFIRMATION_REQUIRED response. Do not invent one. | |
| timeout_seconds | No |