Skip to main content
Motion logo

Overview

Add Motion to any ModuleX agent or workflow. AI-powered task and project management platform with automatic scheduling, accessed via the Motion REST API (api.usemotion.com/v1).
Categories: Project & Task Management · Productivity & Collaboration · Project Management · Auth: API Key · Actions: 6

Authentication

API Key Authentication

Authenticate using your Motion API key
1

Step 1

Go to https://app.usemotion.com and sign in
2

Step 2

Navigate to Settings > API
3

Step 3

Generate a new API key or copy your existing one
4

Step 4

Paste the API key below

Required Credentials

FieldDescriptionRequiredFormat
Motion API KeyYour Motion API key from the Settings > API pageYesxxxxxxxxxxxxxxxxxxxxx

Available Actions

Parameters

workspace_id
string
required
The ID of the workspace
name
string
required
Name / title of the task
project_id
string
The ID of the project to assign the task to
due_date
string
ISO 8601 due date. Required for scheduled tasks. Example: 2023-06-28T10:11:14.320-06:00
duration
string
Duration: NONE, REMINDER, or an integer greater than 0
description
string
Task description in GitHub Flavored Markdown
priority
string
Priority level: ASAP, HIGH, MEDIUM, LOW (Default: MEDIUM)
assignee_id
string
The user ID to assign the task to
labels
array
List of label names to add to the task
status
string
The name of the task status
start_date
string
ISO 8601 date for auto-scheduled tasks. Example: 2023-06-28
deadline_type
string
Deadline type for auto-scheduled tasks: HARD, SOFT, NONE
schedule
string
Schedule the task must adhere to. Must be ‘Work Hours’ if scheduling for another user (Default: Work Hours)

Response

{
  "$defs": {
    "TaskObject": {
      "additionalProperties": false,
      "description": "A Motion task object returned by task-related actions.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "status": {
          "anyOf": [
            {
              "$ref": "#/$defs/TaskStatus"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "workspace_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Workspace Id"
        },
        "project_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Project Id"
        },
        "priority": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Priority"
        },
        "assignee_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Assignee Id"
        },
        "labels": {
          "items": {
            "type": "string"
          },
          "title": "Labels",
          "type": "array"
        },
        "due_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Due Date"
        },
        "duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Duration"
        },
        "created_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Created At"
        }
      },
      "title": "TaskObject",
      "type": "object"
    },
    "TaskStatus": {
      "additionalProperties": false,
      "description": "Status information for a task.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "is_default_status": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Default Status"
        },
        "is_resolved_status": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Resolved Status"
        }
      },
      "title": "TaskStatus",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "task": {
      "anyOf": [
        {
          "$ref": "#/$defs/TaskObject"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateTaskOutput",
  "type": "object"
}

Parameters

task_id
string
required
The ID of the task to delete

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteTaskOutput",
  "type": "object"
}

Response

{
  "$defs": {
    "ScheduleItem": {
      "additionalProperties": false,
      "description": "A schedule object returned by the get_schedules action.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "timezone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Timezone"
        },
        "is_default": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Default"
        }
      },
      "title": "ScheduleItem",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "schedules": {
      "items": {
        "$ref": "#/$defs/ScheduleItem"
      },
      "title": "Schedules",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetSchedulesOutput",
  "type": "object"
}

Parameters

task_id
string
required
The ID of the task to retrieve

Response

{
  "$defs": {
    "TaskObject": {
      "additionalProperties": false,
      "description": "A Motion task object returned by task-related actions.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "status": {
          "anyOf": [
            {
              "$ref": "#/$defs/TaskStatus"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "workspace_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Workspace Id"
        },
        "project_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Project Id"
        },
        "priority": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Priority"
        },
        "assignee_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Assignee Id"
        },
        "labels": {
          "items": {
            "type": "string"
          },
          "title": "Labels",
          "type": "array"
        },
        "due_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Due Date"
        },
        "duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Duration"
        },
        "created_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Created At"
        }
      },
      "title": "TaskObject",
      "type": "object"
    },
    "TaskStatus": {
      "additionalProperties": false,
      "description": "Status information for a task.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "is_default_status": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Default Status"
        },
        "is_resolved_status": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Resolved Status"
        }
      },
      "title": "TaskStatus",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "task": {
      "anyOf": [
        {
          "$ref": "#/$defs/TaskObject"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "GetTaskOutput",
  "type": "object"
}

Parameters

task_id
string
required
The ID of the task to move
workspace_id
string
required
The ID of the target workspace
assignee_id
string
The user ID to assign the task to in the target workspace

Response

{
  "$defs": {
    "TaskObject": {
      "additionalProperties": false,
      "description": "A Motion task object returned by task-related actions.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "status": {
          "anyOf": [
            {
              "$ref": "#/$defs/TaskStatus"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "workspace_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Workspace Id"
        },
        "project_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Project Id"
        },
        "priority": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Priority"
        },
        "assignee_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Assignee Id"
        },
        "labels": {
          "items": {
            "type": "string"
          },
          "title": "Labels",
          "type": "array"
        },
        "due_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Due Date"
        },
        "duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Duration"
        },
        "created_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Created At"
        }
      },
      "title": "TaskObject",
      "type": "object"
    },
    "TaskStatus": {
      "additionalProperties": false,
      "description": "Status information for a task.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "is_default_status": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Default Status"
        },
        "is_resolved_status": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Resolved Status"
        }
      },
      "title": "TaskStatus",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "task": {
      "anyOf": [
        {
          "$ref": "#/$defs/TaskObject"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "MoveWorkspaceOutput",
  "type": "object"
}

Parameters

task_id
string
required
The ID of the task to update
name
string
New name / title for the task
due_date
string
ISO 8601 due date. Example: 2023-06-28T10:11:14.320-06:00
duration
string
Duration: NONE, REMINDER, or an integer greater than 0
project_id
string
The ID of the project to assign the task to
description
string
Task description in GitHub Flavored Markdown
priority
string
Priority level: ASAP, HIGH, MEDIUM, LOW (Default: MEDIUM)
assignee_id
string
The user ID to assign the task to
labels
array
List of label names to add to the task
status
string
The name of the task status
start_date
string
ISO 8601 date for auto-scheduled tasks. Example: 2023-06-28
deadline_type
string
Deadline type for auto-scheduled tasks: HARD, SOFT, NONE
schedule
string
Schedule the task must adhere to. Must be ‘Work Hours’ if scheduling for another user (Default: Work Hours)

Response

{
  "$defs": {
    "TaskObject": {
      "additionalProperties": false,
      "description": "A Motion task object returned by task-related actions.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "status": {
          "anyOf": [
            {
              "$ref": "#/$defs/TaskStatus"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "workspace_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Workspace Id"
        },
        "project_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Project Id"
        },
        "priority": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Priority"
        },
        "assignee_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Assignee Id"
        },
        "labels": {
          "items": {
            "type": "string"
          },
          "title": "Labels",
          "type": "array"
        },
        "due_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Due Date"
        },
        "duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Duration"
        },
        "created_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Created At"
        }
      },
      "title": "TaskObject",
      "type": "object"
    },
    "TaskStatus": {
      "additionalProperties": false,
      "description": "Status information for a task.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "is_default_status": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Default Status"
        },
        "is_resolved_status": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Resolved Status"
        }
      },
      "title": "TaskStatus",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "task": {
      "anyOf": [
        {
          "$ref": "#/$defs/TaskObject"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateTaskOutput",
  "type": "object"
}

Limits & Quotas

  • Rate limit: 12 requests per minute per API key (Motion API documentation).
  • Pricing: API access requires a Motion Individual or Team plan.
  • Error model: non-2xx responses and timeouts are caught and returned as success=False + error rather than raising.

Jira

Monday.com

Airtable