# Create Attachment — Jobnimbus

> Creates an attachment. See the documentation

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

## Description

Creates an attachment. [See the documentation](https://documenter.getpostman.com/view/3919598/S11PpG4x#5f3f485b-91f9-4ed9-912c-99a07987ac6c)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `file` | `string` | Yes | The file to upload. Provide a file URL or a path to a file in the /tmp directory. |
| `type` | `string` | Yes | The record type. |
| `customerIdFromContacts` | `string` | No | JNID of the customer. These options are fetched from contacts. There can be missing customers or duplicates. If missing, please provide the ID manually. Options are loaded from the connected account. |
| `filename` | `string` | No | Name of the file to be uploaded. |
| `description` | `string` | No | The description of the file. |
| `syncDir` | `dir` | No | 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": "jobnimbus",
      },
    },
  },
)

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: "jobnimbus-create-attachment",
  arguments: {
    file: "File Path or URL",
    type: "Type",
  },
})
```

**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: "jobnimbus-create-attachment",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    jobnimbus: { authProvisionId: "apn_xxxxxxx" },
    file: "File Path or URL",
    type: "Type",
  },
})

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": "jobnimbus-create-attachment",
    "configured_props": {
      "jobnimbus": { "authProvisionId": "apn_xxxxxxx" },
      "file": "File Path or URL",
      "type": "Type"
    }
  }'
```

---

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