diff --git a/packages/trpc/server/template-router/router.ts b/packages/trpc/server/template-router/router.ts index 44a66a349..7e547b157 100644 --- a/packages/trpc/server/template-router/router.ts +++ b/packages/trpc/server/template-router/router.ts @@ -457,8 +457,10 @@ export const templateRouter = router({ recipients, distributeDocument, customDocumentDataId, - prefillFields, folderId, + prefillFields, + override, + attachments, } = input; ctx.logger.info({ @@ -495,6 +497,8 @@ export const templateRouter = router({ requestMetadata: ctx.metadata, folderId, prefillFields, + override, + attachments, }); if (distributeDocument) { diff --git a/packages/trpc/server/template-router/schema.ts b/packages/trpc/server/template-router/schema.ts index b6f4c32de..1ddaf8857 100644 --- a/packages/trpc/server/template-router/schema.ts +++ b/packages/trpc/server/template-router/schema.ts @@ -133,12 +133,42 @@ export const ZCreateDocumentFromTemplateRequestSchema = z.object({ 'The ID of the folder to create the document in. If not provided, the document will be created in the root folder.', ) .optional(), + prefillFields: z .array(ZFieldMetaPrefillFieldsSchema) .describe( 'The fields to prefill on the document before sending it out. Useful when you want to create a document from an existing template and pre-fill the fields with specific values.', ) .optional(), + + override: z + .object({ + title: z.string().min(1).max(255).optional(), + subject: ZDocumentMetaSubjectSchema.optional(), + message: ZDocumentMetaMessageSchema.optional(), + timezone: ZDocumentMetaTimezoneSchema.optional(), + dateFormat: ZDocumentMetaDateFormatSchema.optional(), + redirectUrl: ZDocumentMetaRedirectUrlSchema.optional(), + distributionMethod: ZDocumentMetaDistributionMethodSchema.optional(), + emailSettings: ZDocumentEmailSettingsSchema.optional(), + language: ZDocumentMetaLanguageSchema.optional(), + typedSignatureEnabled: ZDocumentMetaTypedSignatureEnabledSchema.optional(), + uploadSignatureEnabled: ZDocumentMetaUploadSignatureEnabledSchema.optional(), + drawSignatureEnabled: ZDocumentMetaDrawSignatureEnabledSchema.optional(), + allowDictateNextSigner: z.boolean().optional(), + }) + .describe('Override values from the template for the created document.') + .optional(), + + attachments: z + .array( + z.object({ + label: z.string().min(1, 'Label is required'), + data: z.string().url('Must be a valid URL'), + type: ZEnvelopeAttachmentTypeSchema.optional().default('link'), + }), + ) + .optional(), }); export const ZCreateDocumentFromTemplateResponseSchema = ZDocumentSchema;