# Create Signature Request — Signaturely

> Creates a new signature request. See the documentation

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

## Description

Creates a new signature request. [See the documentation](https://docs.signaturely.com/#:~:text=Get%20user-,Create%20signing%20request,-Bulk%20Send%20Signature)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `templateId` | `string` | Yes | The ID of the template Options are loaded from the connected account. |
| `signers` | `string[]` | Yes | The list of signers for the document. For ordered documents must defined order. fields is an optional dictionary with values for document fields with API tags. The JSON structure for each row is: { "name": "John Doe", "email": "jd@test.com", "role": "test", "order": 1, "fields": { "field1": "value1", "field2": "value2" } } |
| `title` | `string` | No | The title of the document |
| `message` | `string` | No | The message of the document |
| `isOrdered` | `boolean` | No | Flag indicating if the document is ordered |
| `testMode` | `boolean` | No | Flag indicating if the request is a test |

## 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": "signaturely",
      },
    },
  },
)

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: "signaturely-create-signature-request",
  arguments: {
    templateId: "Template ID",
    signers: ["Signers"],
  },
})
```

**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: "signaturely-create-signature-request",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    signaturely: { authProvisionId: "apn_xxxxxxx" },
    templateId: "Template ID",
    signers: ["Signers"],
  },
})

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": "signaturely-create-signature-request",
    "configured_props": {
      "signaturely": { "authProvisionId": "apn_xxxxxxx" },
      "templateId": "Template ID",
      "signers": ["Signers"]
    }
  }'
```

---

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