Docs & Tutorials

API Usage

NileDesk Public API

NileDesk provides public APIs that allow external developers to create and manage items inside Process Flows and Boards. These APIs are typically used for integrations with external systems such as CRMs, ERPs, custom portals, or automation tools like Zapier. With these APIs, you can automatically initiate new items or save draft records without needing manual input from users.

Available API Types

  • Initiate New Process Flow Item – Creates a new live item in a process flow.
  • Initiate New Board Item – Creates a new item in a board at a given step.
  • Create Draft Process Flow Item – Creates a draft process item that can be finalized later.
  • Create Draft Board Item – Creates a draft board item.

Endpoints

Replace org_id with your actual Organization ID.

  • POST https://app.niledesk.com/api/public/InitiateProcessItem/org_id
  • POST https://app.niledesk.com/api/public/InitiateBoardItem/org_id
  • POST https://app.niledesk.com/api/public/CreateProcessDraftItem/org_id
  • POST https://app.niledesk.com/api/public/CreateBoardDraftItem/org_id

Request Body Format

{
  "api_key": "users api key",
  "template_id": "template id",
  "step_id": "Board drop step",
  "form_fields": {
    "field1": "value1",
    "field2": 22
  },
  "form_tables": {
    "p_collection_name_tbl1": [
      { "field1": "value1", "field2": 22 },
      { "field1": "value2", "field2": 33 }
    ],
    "p_collection_name_tbl2": [
      { "field1": "value1", "field2": 22 },
      { "field1": "value2", "field2": 33 }
    ]
  }
}

Parameters Explained

  • api_key: User’s API key, available in NileDesk under Change Password.
  • template_id: The ID of the Process Flow or Board Template where the item will be created.
  • step_id: The Step ID of the board’s drop step (required only for Initiate New Board Item).
  • form_fields: Key-value pairs to populate form fields. Values can be string, int, or datetime. For datasnap, datalink, or userlink fields, pass the referenced Key as value.
  • form_tables: Allows filling embedded tables in forms. Use the table’s collection name as the key and provide an array of row objects.

Examples

1. Initiate a New Process Flow Item

curl -X POST \
  https://app.niledesk.com/api/public/InitiateProcessItem/12345 \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "abc123",
    "template_id": "process_567",
    "form_fields": {
      "customer_name": "John Doe",
      "amount": 2500
    }
  }'

2. Initiate a New Board Item

curl -X POST \
  https://app.niledesk.com/api/public/InitiateBoardItem/12345 \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "abc123",
    "template_id": "board_890",
    "step_id": "step_drop_12",
    "form_fields": {
      "task_title": "Follow-up Call",
      "due_date": "2025-09-25T14:00:00Z"
    }
  }'

3. Create Draft Process Flow Item

curl -X POST \
  https://app.niledesk.com/api/public/CreateProcessDraftItem/12345 \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "abc123",
    "template_id": "process_567",
    "form_fields": {
      "customer_name": "Jane Doe",
      "amount": 1200
    }
  }'

4. Create Draft Board Item

curl -X POST \
  https://app.niledesk.com/api/public/CreateBoardDraftItem/12345 \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "abc123",
    "template_id": "board_890",
    "step_id": "step_drop_12",
    "form_fields": {
      "task_title": "Prepare Proposal"
    }
  }'