# New Template — DocuGenerate

> Creates a new document template from a file. See the documentation

- Key: `docugenerate-create-template`
- Type: Action (Write)
- Version: 0.0.2
- App: DocuGenerate (`docugenerate`) — https://pipedream.com/apps/docugenerate.md
- This page (HTML): https://pipedream.com/apps/docugenerate/actions/create-template
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/docugenerate/actions/create-template/create-template.mjs

## Description

Creates a new document template from a file. [See the documentation](https://api.docugenerate.com/#/Template/createTemplate)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `filePath` | `string` | Yes | Template file (.docx, .doc, .odt, .txt, or .sql). Provide a file URL or a path under /tmp. |
| `name` | `string` | No | The template's name. If not provided, it will be initialized with the name of the uploaded template file. |
| `delimiters` | `object` | No | Delimiters used to detect the tags. If not provided, they will be determined automatically. For example, if the tags defined in the template are [Name], [Address], etc., then the left delimiter is [ and the right delimiter is ], e.g. { "left": "[", "right": "]" } |
| `region` | `string` | No | The physical location where the template and its generated documents are stored. This value is optional. If omitted, the account's default region will be used. |
| `enhancedSyntax` | `boolean` | No | Flag to determine if nested properties of objects and logical & mathematical operators can be used for this template. The default value is false. Enabling this flag makes it possible to use tags like [item.name] in the template, where item is an object containing the name property. |
| `versioningEnabled` | `boolean` | No | Flag to enable template file versioning, preserving previous versions when a new file is uploaded. The default value is true if the versioning feature is available, otherwise the default value is false. The template versioning feature is available only with the Premium and Business plans. |
| `syncDir` | `dir` | Yes | SyncDir |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "docugenerate",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "docugenerate-create-template",
  arguments: {
    filePath: "Template File",
    name: "Name",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "docugenerate-create-template",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    docugenerate: { authProvisionId: "apn_xxxxxxx" },
    filePath: "Template File",
    name: "Name",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "docugenerate-create-template",
    "configured_props": {
      "docugenerate": { "authProvisionId": "apn_xxxxxxx" },
      "filePath": "Template File",
      "name": "Name"
    }
  }'
```

---

- App: https://pipedream.com/apps/docugenerate.md · All apps: https://pipedream.com/apps
