The Docsautomator MCP connector routes your AI agent's tool calls to Docsautomator's own MCP server through Scalekit. Each user signs in to Docsautomator once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 23 tools.
- Tools
- 23
- What they doRead · write · destructive
- 4 · 19 · 04 read19 write0 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Docsautomator MCP connection
In AgentKit > Connections, create a Docsautomator MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Docsautomator MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'docsautomatormcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Docsautomator MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'docsautomatormcp_get_profile',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "docsautomatormcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Docsautomator MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="docsautomatormcp_get_profile",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_tooldocsautomatormcp_get_data_sourceBrowse a connected record source's tables and fields, for set_data_source.Read-onlyGet Data Source
Browse a connected record source's tables and fields, for set_data_source. The main path needs no data source: you send the values to create_document. airtable: no ids lists bases; baseId lists tables with fields (on a large base, add tableId). notion: no ids lists databases; dataSourceId lists properties (use dataSources[].id, not the database id). google_sheets needs spreadsheetId (ask for the URL). google_forms needs formId (the form file id). smartsuite (workspace slug first) and clickup step down by id; never invent one. An account that is not connected answers with the link to connect it in the app.
Inputs
sourcestringrequired- No description.one of
airtablenotiongoogle_sheetsgoogle_formssmartsuiteclickupapi baseIdstring- No description.
dataSourceIdstring- Notion data source id
formIdstring- Google Form FILE id (from the form's file id from the user) — lists its questions
listIdstring- ClickUp list id
searchstring- No description.
smartSuiteWorkspaceIdstring- No description.
solutionIdstring- No description.
spaceIdstring- ClickUp space id
spreadsheetIdstring- Google spreadsheet id (from its URL)
tableIdstring- No description.
docsautomatormcp_get_profileThe connected workspace (id, name, account email) and its plan: documents used and included this period, overage cap (most documents with overage on), period end.Read-onlyGet Profile
The connected workspace (id, name, account email) and its plan: documents used and included this period, overage cap (most documents with overage on), period end. Trials make unlimited test documents.
Inputs
This tool takes no inputs.
docsautomatormcp_get_recent_runsRead recent document runs, including failures with their real error messages: the first call for 'generation failed' questions.Read-onlyGet Recent Runs
Read recent document runs, including failures with their real error messages: the first call for 'generation failed' questions. successfulRequests lists runs that worked (testMode true is a watermarked test run); read it before you call a setup broken. failedRequests names the failing record. jobId follows one queued document instead; waitSeconds (max 120) waits for it to finish.
Inputs
automationIdstring- Limit to one automation
includeDataboolean- Also return the values each API or chat run was made with (kept 90 days), e.g. to make the same document again with changes
jobIdstring- The job ID returned from async document creation
limitnumber- No description.
onlyFailedboolean- Only runs containing failures
waitSecondsnumber- Wait up to this many seconds (max 120) for the job to finish before answering
docsautomatormcp_searchSearch DocsAutomator's help docs (in 'docs', the default) or its template gallery of about 125 designs (in 'templates').Read-onlySearch
Search DocsAutomator's help docs (in 'docs', the default) or its template gallery of about 125 designs (in 'templates'). Search the docs for any how-to, feature, integration, syntax, troubleshooting or pricing question and answer only with what the page says, in its order and with its names; if it has no answer, say so. A gallery result with hasWordVersion can be applied with set_template's galleryTemplateId.
Inputs
querystringrequired- Search terms, e.g. "nested line items" or "invoice"
instring- Default: docsone of
docstemplates
docsautomatormcp_cancel_esign_sessionCancel an open signing or acceptance session: its links stop working.WriteCancel Esign Session
Cancel an open signing or acceptance session: its links stop working. A completed session cannot be cancelled.
Inputs
sessionIdstringrequired- No description.
reasonstring- No description.
docsautomatormcp_configure_automationChange an automation's settings.WriteConfigure Automation
Change an automation's settings. Ask the user first. Test before live; going live is the last step. status: 'test' makes free watermarked documents; 'live' makes real ones that count against the quota; 'inactive' pauses triggers; 'trash' stops it at once (restorable from the app's Trash). locale sets how values print (de-DE prints 1.234,56 € and 01.10.2026); it is a setting, never a limit. title renames it; description tells AI clients what it is for. documentNameField is the source field that names each file. Record sources only: airtableTrigger or notionTrigger fire on a field value; sheetsAutoPolling polls Google Sheets every ~5 minutes.
Inputs
automationIdstringrequired- No description.
airtableTriggerobject- No description.
approvalobject- No description.
dateFormatobject- No description.
descriptionstring- No description.
documentNameFieldstring- No description.
eInvoiceobject- This automation's e-invoice: { enabled, format: zugferd|xrechnung, documentType: 380 (invoice)|381 (credit note), vatTreatment: standard|reverse_charge_de|reverse_charge_eu|intra_eu_goods|small_business, fields: { <key>: {placeholder}|{fieldId}|{value} } (prepaidAmount = amount already paid), seller: { <seller key>: {placeholder}|{fieldId}|{value} } (this automation only; unset keys use the workspace seller), lineItems: { source: line_items_N, columns: { <key>: {placeholder}|{fieldId} } } }
eInvoiceAddonboolean- E-invoice add-on on or off, for the whole workspace
formatNumbersWithLocaleboolean- No description.
localestring- No description.
notionTriggerobject- No description.
qrBillobject- Only this automation's QR-bill seller: { seller: { name|street|postcode|city|country|iban|qrIban: <ref as in eInvoice> } }; unset keys use Settings
sellerobject- Workspace e-invoice seller details; sent keys change: name, tradingName, street, addressLine2, postcode, city, country (2 letters), vatId, taxNumber, registrationId, contactName, contactPhone, contactEmail, iban, bic, accountName
sheetsAutoPollingobject- No description.
statusstring- No description.one of
livetestinactivetrash timeZonestring- No description.
titlestring- No description.
docsautomatormcp_configure_esignatureSet up signing or acceptance.WriteConfigure Esignature
Set up signing or acceptance. Ask the user first and show the signers. closeType 'acceptance': the recipient opens a link and taps Accept, no {{esign.*}} tags needed (quotes, offers). 'signature': a drawn signature at {{esign.signature_N}} tags, one signer per index. On API, MCP and no-source automations set every signer to emailSource 'request' and name the person per send in create_document recipients. Record sources (Airtable, Notion, Sheets, SmartSuite, ClickUp, Forms) and Zapier, Make, n8n, Glide and Noloco cannot use 'request': use the record's email field, or a placeholder, which must be a placeholder that exists in the template. emailTemplates changes the copy for EVERY future request; say so. signedPdfField writes the signed PDF back to the record. For the price, use search.
Inputs
automationIdstringrequired- No description.
acceptanceRequireNameboolean- Acceptance only: the recipient types their name before accepting.
brandingLogoUrlstring- Signing-page logo: a public https image URL; null restores the default.
closeTypestring- 'signature' (default): a signature (drawn or typed) at {{esign.*}} tags. 'acceptance': the recipient reviews and taps Accept, no tags. Signers are kept when switching.one of
signatureacceptance completionEmailobject- No description.
deliveryMethodstring- 'email': DocsAutomator emails each signer. 'manual': you hand out the links.one of
emailmanual driveFolderstring- After signing: Drive folder id or URL for the signed PDF. '' clears it.
dropboxAccountEmailstring- Needed only with several Dropbox accounts.
dropboxFolderPathstring- e.g. '/Contracts/Signed'; '' = root.
emailDateFormatstring- Date format used in signing emails, e.g. 'MM/DD/YYYY' or 'DD.MM.YYYY'
emailTemplatesobject- Email copy for EVERY future request. Variables: {{documentName}}, {{signerName}}, {{signerEmail}}, {{expirationDate}} and data placeholders. Invitation and reminder bodies need {{signButton:Sign your document}} or {{signLink:click here}}; the completion email can use {{downloadButton:text}}.
enabledboolean- Switch signing on or off. false keeps the signers and tags.
expirationDaysnumber- Days a signing request stays valid before it expires.
fieldConfigsobject- Per e-sign tag in the template, without 'esign.': displayName, helpText, required (default true). Merges per tag; null removes its settings.
fieldValueMappingsobject- E-sign tag (without 'esign.') -> the field (name or id) that gets what the signer typed or ticked. '' removes one. Signatures are not written back.
remindersobject- No description.
saveSignedPdfToDriveboolean- After signing: also save the signed PDF to Google Drive; needs driveFolder.
saveSignedPdfToDropboxboolean- AFTER SIGNING: also save the signed pdf to Dropbox.
senderobject- Who the signing emails come FROM (the Signing & Acceptance panel, Settings tab).
signedPdfFieldstring- Record field for the signed PDF (name or id): Airtable attachment, Notion Files, SmartSuite file, a Sheets column (a link), ClickUp 'enabled'. '' switches it off. Not on API, Zapier, Glide or Noloco. The unsigned PDF is configure_output writeBackPdfField.
signersarray- No description.
signingLanguagestring- Language of the signing page and its emails.one of
endeesfifrpthenlit signingOrderstring- parallel = everyone at once; sequential = one after anotherone of
parallelsequential
docsautomatormcp_configure_line_itemsSet how one line-item group (the N in {{line_items_N}}) is presented: grouping under header rows, sorting by up to three columns, an auto-number column, page breaks or keep-together for repeating sections, and skipRecords rules that leave records out.WriteConfigure Line Items
Set how one line-item group (the N in {{line_items_N}}) is presented: grouping under header rows, sorting by up to three columns, an auto-number column, page breaks or keep-together for repeating sections, and skipRecords rules that leave records out. Pass only the blocks you change. Which linked table feeds the rows is set_data_source's lineItems, not this.
Inputs
automationIdstringrequired- No description.
lineItemstringrequired- line-item index as a string, e.g. "1" for {{line_items_1}}
autoNumberobject- No description.
groupingobject- No description.
keepSectionOnOnePageboolean- Repeating sections only: true keeps each section on one page when it fits; false removes it.
pageBreakBetweenSectionsboolean- Repeating sections only: true starts each record on a new page; false removes it.
skipRecordsobject- No description.
sortingobject- No description.
docsautomatormcp_configure_outputSet what happens with each generated document.WriteConfigure Output
Set what happens with each generated document. Test before live; going live is the last step. Pass only the blocks you change. email: recipients (addresses or {{placeholders}}), sender 'gmail' or 'outlook' from a connected account (Business plan and up), and conditions. pdf: link expiry and a Drive folder. onedrive, googleDoc and word (word.save returns wordFileUrl from create_document). merge, webhook, documentsFolder. writeBackPdfField uploads the generated, UNSIGNED PDF to a record field; the signed PDF is configure_esignature's signedPdfField. Folders: an id or a Drive URL.
Inputs
automationIdstringrequired- No description.
documentsFolderstring- Documents-page folder to file new documents into (created if it doesn't exist); pass '' to stop filing
dropboxobject- No description.
emailobject- No description.
googleDocobject- No description.
mergePdfsobject- No description.
oneDriveobject- No description.
overwritePdfAttachmentboolean- true replaces the PDF on the record each run; false (default) adds a file. Ask first: replacing discards earlier documents.
overwriteWordAttachmentboolean- Same replace-vs-append choice for the Word (.docx) attachment.
pdfobject- No description.
webhookobject- No description.
wordobject- No description.
writeBackDrivePdfUrlFieldstring- Text or URL field that receives the link of the PDF saved in Google Drive (needs pdf.saveToDrive).
writeBackGoogleDocUrlFieldstring- text/URL field to write the generated GOOGLE DOC's link into. Only fires when the Google Doc copy is kept (googleDoc.save), so set both.
writeBackPdfFieldstring- attachment field/column to save the generated PDF into
writeBackPdfUrlFieldstring- text/URL field on the record to write the generated PDF URL into (Airtable/Notion)
writeBackWordFieldstring- Attachment field that receives the generated Word file.
docsautomatormcp_configure_placeholdersStore what each placeholder means and how it prints, right after a template exists and before the first document.WriteConfigure Placeholders
Store what each placeholder means and how it prints, right after a template exists and before the first document. descriptions: meaning plus print format, e.g. "Subtotal before tax, net, in EUR; prints as 1.234,56 €"; examples always use 1234.56 and 2026-12-31, never a value from this request. formats: one entry per amount, number or date (currency with its ISO code; percent multiplies by 100). Pair them with the locale (configure_automation). options: deleteWhenEmpty removes an empty placeholder's paragraph or row; ["*"] means all. conditions: show or hide {{section_NAME}} blocks and placeholders by raw values, hide values, render Markdown. Never regenerate a template to change these.
Inputs
automationIdstringrequired- No description.
conditionsobject- No description.
descriptionsobject- placeholder name -> description ("" or null removes it)
formatsarray- No description.
optionsobject- No description.
docsautomatormcp_create_automationCreate a new automation with the specified data source.WriteCreate Automation
Create a new automation with the specified data source. Returns the new automation ID and configuration.
Inputs
dataSourceNamestringrequired- The data source typeone of
AirtableGlideAPIZapierNolocoClickUpSmartSuiteGoogle Sheetsn8nMake titlestringrequired- Name for the automation
copySettingsboolean- With fromAutomationId: copy every setting, not only the template
docTemplateLinkstring- URL of the user's existing Google Doc template.
fromAutomationIdstring- Start from a copy of this automation's template. dataSourceName is then not needed.
docsautomatormcp_create_documentGenerate a document from a DocsAutomator automation.WriteCreate Document
Generate a document from a DocsAutomator automation. Supports various data sources including Airtable, Google Sheets, SmartSuite, ClickUp, and direct API data. Returns PDF URL and optionally Google Doc URL. **E-SIGNATURES**: If the automation has e-signing enabled in its output settings, creating a document will AUTOMATICALLY start the signing workflow. The response will include: - signingSessionId: The e-sign session ID - signingLinks: Array of signing URLs for each signer (if delivery method is "link") - signingStatus: "created" or "queued" You do NOT need to create e-sign sessions separately - they are triggered automatically when generating documents from automations configured with e-signing. To check if an automation has e-signing enabled, use get_automation first. For nested line items (up to 2 levels), use the "children" key to nest items: { "line_items_1": [ { "product": "Service A", "price": "$100", "children": [ { "task": "Task 1", "children": [ {"detail": "Detail 1"} ] } ] } ] }
Inputs
automationIdstringrequired- The automation/document ID to use
modestringrequired- 'preview': a watermarked PDF; nothing is sent or counted. 'test': outputs run and emails reach the real recipients; watermarked, not counted. 'live': real and counted; refused while the automation is in test mode or before its first test document.one of
previewtestlive approverEmailsarray- Business plan and up. Approvers for this document only; it waits for them even when approval is off, and later documents are not affected. A standing approval for every document is the automation's approval setting (get_automation approval). Someone outside the team decides from their own email link unless the automation requires an account.
asyncboolean- If true, returns immediately with jobId for pollingdefault
false dataobject- Placeholder values (API data source). A placeholder left out prints empty. Line items as arrays; nested rows (up to 2 levels) in each item's "children".
documentNamestring- Custom name for the generated document
idempotencyKeystring- Same key within 7 days: returns the first result, creates nothing.
isPreviewboolean- Old flag for test mode; mode replaces it.
recIdstring- Record ID for Airtable data source
recipientsarray- Who signs or accepts: [{ signer, email, name }]. signer is the number in get_automation esignature.signers, optional with one signer. For this document only; it adds no signer. Required for signers on 'Given with each request', also with recId.
rowNumbernumber- Row number for Google Sheets data source
skipEsignboolean- true: make the document without a signing or acceptance session, e.g. a draft for review.
webhookParamsobject- Strings sent back in this run's webhooks
docsautomatormcp_edit_word_templateChange an automation's existing Word template with one natural-language instruction: styling, layout, text, adding, renaming or hard-coding placeholders.WriteEdit Word Template
Change an automation's existing Word template with one natural-language instruction: styling, layout, text, adding, renaming or hard-coding placeholders. Ask the user first. One section or one concern per call, under 2,000 characters; split bigger changes into several calls. Afterwards check the returned placeholders: if the tag you changed is still there, the edit did not work, so say so. embedImageUrl bakes an image (such as a logo URL) into the template. undo true reverts your last AI change (up to 5 steps back); offer it after an edit the user does not like.
Inputs
automationIdstringrequired- No description.
instructionstringrequired- The edit instruction in natural language. Max 2,000 characters (about 300 words): one section or one concern per call.
embedImageUrlstring- Public PNG, JPG, GIF, WebP or SVG image URL to embed, e.g. the logoUrl that generate_word_template returns. SVG and WebP are converted to PNG.
tintColorstring- Optional 6-digit hex colour, e.g. "#b7410e": tints the embedded image in that colour (duotone, transparency kept). No other image effects.
docsautomatormcp_generate_word_templateDesign a new Word (.docx) template for an automation with the AI designer; takes about a minute.WriteGenerate Word Template
Design a new Word (.docx) template for an automation with the AI designer; takes about a minute. Last resort: only when they have no own template and no gallery template fits, or they ask for AI. Tell them the plan in one line: document type, sections, fields. The prompt describes STRUCTURE (sections, {{placeholder}} names, line-item tables, tone) and stays under 5,000 characters; put long user-supplied content in edit_word_template passes, never drop it, and never ask it to invent bulk content. brandWebsite (a URL the user gave) reads their colours and logo; customColors and logoUrl override it. Set signingMode when the document has signature fields. Not for the user's own Word file: change that with edit_word_template. If it times out, do not retry the same prompt.
Inputs
automationIdstringrequired- The automation id (24-char hex)
promptstringrequired- What to design: sections, {{placeholders}}, tables, tone. Max 5,000 characters; longer content goes in through edit_word_template.
titlestringrequired- Template title, e.g. "Customer Invoice"
brandWebsitestring- The user's website: its brand colours and logo are used
customColorsobject- Brand colors (hex)
logoUrlstring- Public PNG, JPG, GIF, WebP or SVG logo URL to embed; SVG and WebP are converted to PNG.
lookstring- restrained = the document style's own accent; branded = the brand colour as the accent (needs customColors). Omit to infer from customColors.one of
restrainedbranded placeholderDescriptionsobject- Placeholder name (no braces) -> what it is and how it prints, e.g. "Subtotal before tax, net, in EUR; prints as €1,234.56". Examples use the sample values 1234.56 and 2026-12-31, not values from a request. Change them later with configure_placeholders.
replaceUserFileboolean- true: a new design replaces the user's own uploaded Word file.
signingModestring- Required when the document has signature, initial, date or checkbox fields. 'docsautomator': signed through DocsAutomator ({{esign.*}} tags). 'external': the user's own tool signs; no {{esign.*}} tags, use ☐ and blank lines. 'none': nothing to sign. The value is the user's answer.one of
docsautomatorexternalnone stylePresetstring- A different look: ledger, counsel, studio, letter or certificate. Without it the designer picks.
docsautomatormcp_get_automationGet detailed information about a specific automation including data source config, output settings, field mappings, and e-signature configuration.WriteGet Automation
Get detailed information about a specific automation including data source config, output settings, field mappings, and e-signature configuration. Check the 'esignature' field to see if e-signing is enabled - if so, creating a document will automatically start a signing workflow.
Inputs
automationIdstringrequired- The automation id
includearray- Extra parts to return
docsautomatormcp_list_automationsList all automations in the workspace with their basic configuration including title, data source, and active status.WriteList Automations
List all automations in the workspace with their basic configuration including title, data source, and active status.
Inputs
limitnumber- Automations per page, 1 to 100 (default 25)
offsetnumber- How many matching automations to skip (default 0)
searchstring- Only automations whose title contains this text (case-insensitive)
docsautomatormcp_list_esign_sessionsList e-signature sessions with optional filtering by status or signer email.WriteList Esign Sessions
List e-signature sessions with optional filtering by status or signer email. Returns paginated results with session summaries.
Inputs
automationIdstring- Only sessions of this automation
emailstring- Filter by signer email (partial match)
includearray- No description.
limitinteger- Results per page (max 100)default
20 pageinteger- Page number for paginationdefault
1 sessionIdstring- One session in full
statusstring- Filter by session statusone of
openpendingin_progresscompleteddeclinedexpiredcancelled
docsautomatormcp_manage_esign_sessionAct on one signing or acceptance session; each action emails a real person or ends the request, so confirm the recipient and the action with the user before you act.WriteManage Esign Session
Act on one signing or acceptance session; each action emails a real person or ends the request, so confirm the recipient and the action with the user before you act. action 'remind' sends a reminder to one pending signer (signerIndex from list_esign_sessions waitingOn; the session's reminder limit applies). 'resend' sends the invitation again to one signer. 'cancel' ends an open session (not a completed one); reason is optional.
Inputs
actionstringrequired- No description.one of
remindresendcancel sessionIdstringrequired- No description.
reasonstring- For cancel
signerIndexnumber- For remind and resend (1-based)
docsautomatormcp_resend_esign_inviteEmail the signing or acceptance invitation to one signer again, e.g.WriteResend Esign Invite
Email the signing or acceptance invitation to one signer again, e.g. when they lost it. signerIndex: from list_esign_sessions.
Inputs
sessionIdstringrequired- No description.
signerIndexnumberrequired- 1-based
docsautomatormcp_send_esign_reminderEmail a reminder to one signer who has not signed or accepted yet.WriteSend Esign Reminder
Email a reminder to one signer who has not signed or accepted yet. signerIndex: from list_esign_sessions waitingOn. The session's reminder limit applies.
Inputs
sessionIdstringrequired- No description.
signerIndexnumberrequired- 1-based
docsautomatormcp_set_data_sourceConnect a record source to an automation and map its placeholders to fields, in one call.WriteSet Data Source
Connect a record source to an automation and map its placeholders to fields, in one call. Ask the user first and show the mapping. Pass source with its block (ids from get_data_source); source 'api' switches to data given with each request and clears record mappings. Line items come from a linked table or sheet: pass the block's lineItems, one entry per {{line_items_N}} with order N. mappings: placeholder name (no braces) → Airtable field id, Notion property id, Sheets column header, SmartSuite slug, ClickUp field id or Forms questionId (names also resolve); 'Link.Field' drills through Airtable links and Notion relations. Mappings merge unless replace is true. Only switch an automation the user wants changed.
- Idempotent
Inputs
automationIdstringrequired- No description.
airtableobject- No description.
allowDuplicateFieldsboolean- Only after a duplicate-target rejection: confirms that pointing several placeholders at one field is what the user actually wants
clickupobject- No description.
googleFormsobject- No description.
googleSheetsobject- No description.
mappingsobject- No description.
notionobject- No description.
replaceboolean- true = replace all existing mappings
smartsuiteobject- No description.
sourcestring- No description.one of
airtablenotiongoogle_sheetsgoogle_formssmartsuiteclickupapi
docsautomatormcp_set_templateReplace an automation's template.WriteSet Template
Replace an automation's template. Pass one: googleDocUrl (never create or edit Google Docs), galleryTemplateId (from search in 'templates'), or fileBase64 (.docx or PDF, max 25 MB; PDF overlays survive re-upload). fileBase64 needs exact bytes from a tool, such as code reading the attachment; never re-type a file, it arrives damaged. Else send the user to app.docsautomator.co/automations/<automationId> to upload. Ask first. New design: generate_word_template. Returns the placeholders.
- Idempotent
Inputs
automationIdstringrequired- The automation id
fileobject- A .docx or .pdf file the user attached
fileBase64string- A .docx or .pdf file, base64-encoded (data: URL prefix allowed)
fileNamestring- File name, e.g. contract.docx
fileUrlstring- https link to a .docx or .pdf
galleryTemplateIdstring- Gallery template id
googleDocUrlstring- Google Doc URL or id
officeFilestring- The user's choice after an OFFICE_FILE resultone of
convertword
docsautomatormcp_undo_template_editRevert the last AI change to an automation's Word template, up to 5 steps back.WriteUndo Template Edit
Revert the last AI change to an automation's Word template, up to 5 steps back.
Inputs
automationIdstringrequired- The automation id
No tools match.