Formdesk
MARKETING · MARKETING
Forms, their input items, and form results in the account they connected.
Acts as the person, not as itself
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Credentials never touch the agent
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Every call on the record
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
formdesk_delete_by_domain_files_by_id_fileWRITEPermanently deletes one file by file id. Costs 1 API credit.
formdesk_delete_by_domain_formresults_by_id_formresultWRITEDeletes one result by entry id. The entry is still readable for 30 days with `_fd_deleted` set, but any file uploaded to it is lost immediately. Costs 1 API credit.
formdesk_delete_by_domain_formresults_by_id_formresult_filesWRITEDeletes every file uploaded to one result by entry id. The files are gone; the result itself stays. Costs 1 API credit.
formdesk_delete_by_domain_forms_by_form_filesWRITEDeletes every file uploaded to EVERY result of the form, in one call. Costs 1 API credit.
formdesk_delete_by_domain_users_by_id_userWRITEPermanently deletes one Formdesk user by user id. Requires a key belonging to a SUPERVISOR. Costs 1 API credit.
formdesk_delete_by_domain_visitors_by_id_visitorWRITEPermanently deletes one visitor by visitor id. Requires a key belonging to a SUPERVISOR. Costs 1 API credit.
formdesk_get_by_domain_filesREADLists the account's files: those attached to result entries and those uploaded into the account, such as images used on forms and email attachments. Costs 1 API credit.
formdesk_get_by_domain_files_by_id_fileREADReturns the details of one file by file id -- not its content. Costs 1 API credit.
formdesk_get_by_domain_files_by_id_file_contentREADDownloads one file's content by file id. Formdesk answers with the BYTES; this tool returns the content type, the length, the filename from the content-disposition header and the content as base64 when it is within Agentic Fabriq's inline ceiling, and describes it without the bytes when it is larger. A file id comes from Get form result or from one of the file listings. Costs 1 API credit.
formdesk_get_by_domain_formresults_by_id_formresultREADReturns every answer and system field of one result by entry id. A deleted result is still returned for 30 days (with `_fd_deleted` set); files uploaded to a deleted entry are gone. Costs 1 API credit.
formdesk_get_by_domain_formresults_by_id_formresult_filesREADLists the files uploaded to one result by entry id. Costs 1 API credit.
formdesk_get_by_domain_formresults_by_id_formresult_workflowREADReturns the workflow steps recorded against one result by entry id. Costs 1 API credit.
formdesk_get_by_domain_formsREADLists the forms in the account folder. Costs 1 API credit.
formdesk_get_by_domain_forms_by_form_filesREADLists the files uploaded to every result of the form. Costs 1 API credit.
formdesk_get_by_domain_forms_by_form_filtersREADLists the names of the filters defined for the form; the definitions themselves are not returned. A name can be passed as `view` to the result listing and export tools. Costs 1 API credit.
formdesk_get_by_domain_forms_by_form_itemsREADLists every item on the form that takes input and has an identifier, with its type (text, textarea, radiogroup, checkboxgroup, listbox, checkbox, userlist and so on). This is how to learn the field identifiers the result tools write to. Costs 1 API credit.
formdesk_get_by_domain_forms_by_form_resultsREADLists the entry ids of the form's results, narrowed by the query parameters. Results already marked processed are not returned. Costs 1 API credit.
formdesk_get_by_domain_usersREADLists the Formdesk user accounts in the folder. Costs 1 API credit.
formdesk_get_by_domain_users_by_id_userREADReturns every property of one user by Formdesk user id. Costs 1 API credit.
formdesk_get_by_domain_users_external_by_id_user_externalREADReturns every property of one user by the external id an identity provider knows them by, rather than by Formdesk's own id. Costs 1 API credit.
formdesk_get_by_domain_visitorsREADLists the visitor accounts in the folder -- the logins that reach forms, as distinct from Formdesk users. Costs 1 API credit.
formdesk_get_by_domain_visitors_by_id_visitorREADReturns every property of one visitor by visitor id. Costs 1 API credit.
formdesk_get_by_domain_visitors_by_id_visitor_formresultsREADLists the entry ids of every login-form result belonging to one visitor. Costs 1 API credit.
formdesk_get_by_domain_visitors_external_by_id_visitor_externalREADReturns every property of one visitor by the external id an identity provider knows them by. Costs 1 API credit.
formdesk_post_by_domain_formresults_by_id_formresult_pdfREADRenders one result as a PDF. Formdesk answers with the PDF BYTES; this tool returns the content type, the length, the filename from the content-disposition header and the PDF as base64 when it is within Agentic Fabriq's inline ceiling, and describes it without the bytes when it is larger. Costs 1 API credit.
formdesk_post_by_domain_forms_by_form_resultsWRITEAdds one or more result entries to the form. The body is an ARRAY of entries, keyed by the form's own field identifiers (see List form items); a single entry may be sent as a bare object. At most 10 entries per call. A file is sent as `{"filename": ..., "content": "<base64>"}`. With several entries Formdesk always answers a success status and reports per-entry failures in an `errors` array. Costs 1 API credit per entry.
formdesk_post_by_domain_forms_by_form_results_exportREADExports the form's results to a file in the requested format and answers with the export's download links (`files[]._links.content`). The query parameters narrow which entries are exported, exactly as on the result listing. COSTS ONE CREDIT PER COMPLETED FORM in the download, not one per call. Results already marked processed are not exported.
formdesk_post_by_domain_forms_by_form_signonWRITEReturns a single sign-on link that opens the form for the named visitor without their username and password. Identify them by `username`, `email` or `id`. The link grants that visitor's access, so treat the answer as a credential. Costs 1 API credit.
formdesk_post_by_domain_parkWRITEParks form field values temporarily and returns a 32-character ticket. Passing that ticket to a form as `?ticket=<value>` pre-fills it, so no field values need to travel in the form's own URL. Costs 1 API credit.
formdesk_post_by_domain_signonWRITEReturns a single sign-on link that signs the named Formdesk user in without their username and password. Identify them by `username`, `email` or `id`. Requires a key belonging to a SUPERVISOR. The link grants that user's access, so treat the answer as a credential. Costs 1 API credit.
formdesk_post_by_domain_usersWRITECreates a Formdesk user. Requires a key belonging to a SUPERVISOR. An ordinary user needs `name`, `email`, `username` and `password`; a user provisioned from an identity provider needs only `type` set to "external" plus `external_userid` and `external_provider`, and its other fields are filled from the provider's claims on first sign-in. Costs 1 API credit.
formdesk_post_by_domain_visitorsWRITECreates a visitor account. Requires a key belonging to a SUPERVISOR. An ordinary visitor needs `name`, `email` and `username`; a visitor provisioned from an identity provider needs only `type` set to "external" plus `external_userid` and `external_provider`. Costs 1 API credit.
formdesk_put_by_domain_formresults_by_id_formresultWRITEUpdates the answers of one result by entry id; the body is keyed by the form's own field identifiers. Costs 1 API credit.
formdesk_put_by_domain_formresults_by_id_formresult_incrementWRITEIncrements a numeric field of one result by entry id, locking the record so the resulting value is unique. Costs 1 API credit.
formdesk_put_by_domain_formresults_by_id_formresult_processedWRITEMarks one result's synchronisation status as Processed (P). A processed result is then skipped by the result listing and the export, which is how a polling integration avoids reading the same entry twice. Costs 1 API credit.
formdesk_put_by_domain_users_by_id_userWRITEUpdates one user's properties by Formdesk user id. Requires a key belonging to a SUPERVISOR. The password cannot be changed here -- Formdesk's own update request carries no password field. Costs 1 API credit.
formdesk_put_by_domain_visitors_by_id_visitorWRITEUpdates one visitor's properties by visitor id. Requires a key belonging to a SUPERVISOR. Costs 1 API credit.
Often connected alongside
Put Formdesk behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.