Motion is an intelligent calendar and project management tool that automatically plans your day, schedules meetings, and helps teams collaborate efficiently.
Motion is an intelligent calendar and project management tool that automatically plans your day, schedules meetings, and helps teams collaborate efficiently. On Nagent, Motion is exposed as a fully-configurable productivity integration that any agent can call — 27 actions, and API key authentication. No code is required to wire Motion into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Motion to automate the kinds of tasks productivity teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Motion into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Motion, with input parameters and output schema. Drop these into any step of an agent built in Helix.
MOTION_ADD_CUSTOM_FIELD_TO_PROJECTTool to add a custom field value to a project in Motion. Use when you need to set or update custom field data on an existing project.
Input parameters
The custom field value object containing the type and actual value to set.
The unique identifier of the project to add the custom field to. Typically starts with 'pr_'.
The unique identifier of the custom field instance to add. This references the workspace custom field definition. Typically starts with 'cfi_'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_ADD_CUSTOM_FIELD_TO_TASKTool to add a custom field value to a task in Motion. Use when you need to set or update custom field data on an existing task.
Input parameters
The custom field value object containing the type and actual value to set.
The unique identifier of the task to add the custom field to. Typically starts with 'tk_'.
The unique identifier of the custom field instance to add. This references the workspace custom field definition. Typically starts with 'cfi_'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_CREATE_COMMENTTool to create a new comment on a Motion task. Use when you need to add a comment to an existing task.
Input parameters
The task to comment on
Github Flavored Markdown comment
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_CREATE_CUSTOM_FIELDTool to create a new custom field in a Motion workspace. Use when you need to add custom fields like text, select options, dates, or other field types to customize your workspace. For select/multiSelect types, provide options in metadata.
Input parameters
Name of the custom field
Type of the custom field. Must be one of: text, url, date, person, multiPerson, phone, select, multiSelect, number, email, checkbox, or relatedTo
Configuration metadata for advanced custom field types.
The workspace ID where the custom field will be created
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_CREATE_PROJECTTool to create a new project in Motion. Use when you need to create a project within a specific workspace. Projects can have optional due dates, descriptions (HTML supported), labels, and priority levels.
Input parameters
The name of the project
List of label names the project should have
Array of stage objects for the project. Required when projectDefinitionId is provided.
ISO 8601 due date for the project
Priority levels for Motion projects.
The description of the project. HTML input accepted.
The workspace ID to which the project belongs
Template ID for the project. When provided, must include stages array.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_CREATE_RECURRING_TASKTool to create a new recurring task in Motion. Use when you need to set up tasks that repeat on a schedule (daily, weekly, monthly, etc.). Recurring tasks automatically generate task instances based on the specified frequency pattern.
Input parameters
Name of the recurring task
Duration in minutes (must be integer greater than 0). Use this to specify how long the task should take. Do not set this for reminder-only tasks.
Priority levels for recurring tasks.
Adherence schedule for when the task can be scheduled. Defaults to 'Work Hours' if not specified.
Frequency pattern for task recurrence. Examples: 'daily_every_day', 'daily_every_week_day', 'weekly_specific_days_\[MO,FR\]', 'monthly_1', 'monthly_first_monday', 'quarterly_first_day'. See Motion API frequency documentation for all patterns.
Preferred scheduling time in HH:mm format (24-hour time). Motion will try to schedule the task around this time.
User ID to assign the task to. Use the list_users action to get valid user IDs.
ISO 8601 date string for when the recurrence should start. Defaults to today if not specified.
Task description. HTML input is accepted.
The workspace ID where the recurring task will be created
Deadline type for recurring tasks.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_CREATE_TASKTool to create a new task in Motion. Use when you need to add a task to a workspace with specified properties like name, priority, due date, and assignee.
Input parameters
The name of the task
List of label names to apply to the task. Labels must exist in the workspace.
Task status name. Must match a valid status in the workspace. Use ListStatuses action to get available statuses.
ISO 8601 formatted due date for the task (e.g., '2024-12-31T23:59:59Z')
Duration in minutes (e.g., '60' for 1 hour) or 'REMINDER' for a reminder-only task
Priority levels for Motion tasks.
Project ID to associate the task with. The project must exist in the workspace.
User ID to assign the task to. The user must be a member of the workspace.
Task description in GitHub Flavored Markdown (GFM) format
The workspace ID where the task will be created
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_DELETE_CUSTOM_FIELDTool to delete a custom field from Motion workspace. Use when you need to remove a custom field that is no longer needed. This operation is permanent and cannot be undone.
Input parameters
The custom field ID to delete
The workspace ID where the custom field exists
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_DELETE_CUSTOM_FIELD_FROM_PROJECTTool to delete a custom field value from a project in Motion. Use when you need to remove a custom field value from a specific project.
Input parameters
The ID of the custom field value that will be deleted.
The project ID from which a custom field value will be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_DELETE_CUSTOM_FIELD_FROM_TASKTool to delete a custom field value from a task in Motion. Use when you need to remove a custom field value from a specific task by providing the task ID and custom field value ID.
Input parameters
The unique identifier of the task from which to delete the custom field value.
The unique identifier of the custom field value to delete from the task.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_DELETE_RECURRING_TASKTool to delete a recurring task from Motion based on the ID supplied. Use when you need to remove a recurring task permanently from the system.
Input parameters
ID of the recurring task to delete.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_DELETE_TASKTool to delete a task from Motion based on task ID. Use when you need to permanently remove a task from the Motion workspace.
Input parameters
The unique identifier of the task to delete.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_GET_MY_USERTool to get information on the owner of the API key. Use when you need to retrieve the current user's profile details including their ID, name, and email address.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_GET_PROJECTTool to retrieve a single project by its ID. Use when you need to get detailed information about a specific project including its name, description, status, and custom field values.
Input parameters
The ID of the project to retrieve
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_GET_TASKTool to retrieve a task by its ID from Motion. Returns complete task details including title, description, due date, priority, assignees, scheduling information, and custom fields.
Input parameters
The id of the task to fetch
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_LIST_COMMENTSTool to get all comments on a specific task. Use when you need to retrieve comment history for a task. Supports cursor-based pagination for tasks with many comments.
Input parameters
Use if a previous request returned a cursor. Will page through results. Pass the nextCursor value from the previous response to get the next page.
The ID of the task to get comments for. Required parameter to fetch all comments associated with a specific task.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_LIST_CUSTOM_FIELDSTool to retrieve all custom fields for a given Motion workspace. Use when you need to see what custom fields are available in a workspace.
Input parameters
The workspace ID to get custom fields from
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_LIST_PROJECTSTool to get all projects for a workspace. Use when you need to retrieve all projects accessible to the API key, optionally filtered by workspace.
Input parameters
Use if a previous request returned a cursor. Will page through results.
The workspace ID to get projects from. If not provided, returns projects from all workspaces accessible by the API key.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_LIST_RECURRING_TASKSTool to get all recurring tasks for a workspace. Use when you need to retrieve recurring task information from Motion.
Input parameters
Cursor for pagination. Use the nextCursor value from a previous response to get the next page of results.
The workspace to get recurring tasks from. Required.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_LIST_SCHEDULESTool to get a list of schedules for your user. Use when you need to retrieve the user's scheduling configuration including work hours and timezone settings.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_LIST_STATUSESTool to get a list of statuses for a Motion workspace. Use when you need to retrieve available task statuses for a workspace.
Input parameters
Get statuses for a particular workspace. If not provided, returns statuses for all workspaces.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_LIST_TASKSTool to get all tasks for a given query with optional filtering. Use when you need to retrieve tasks from Motion, optionally filtered by assignee, project, workspace, status, label, or name.
Input parameters
Filter tasks containing this string in their name. Performs a case-insensitive substring match on task names.
Limit tasks returned by label. Filter tasks that have this specific label attached.
Pagination cursor. Use if a previous request returned a nextCursor value in the meta field to fetch the next page of results.
Limit tasks by status array. Provide a list of status names to filter tasks with those specific statuses.
Limit tasks to a given project. Use the project's ID to filter tasks belonging to that project.
Limit tasks returned to a specific assignee. Use the assignee's user ID to filter tasks assigned to that person.
The workspace to get tasks from. Use the workspace ID to scope the task list to a specific workspace.
Include tasks with all statuses. Set to true to include tasks with any status, or false/omit to only include tasks with active statuses.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_LIST_USERSTool to get a list of users for a given workspace or team. Use when you need to retrieve user information from Motion. Supports pagination via cursor and filtering by workspaceId or teamId.
Input parameters
Use if a previous request returned a cursor. Will page through results. Pass the nextCursor value from the previous response to get the next page.
The ID of the team to filter users by. Filters results to return only users in the specified team.
The ID of the workspace to get users from. Filters results to return only users in the specified workspace.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_LIST_WORKSPACESTool to retrieve all workspaces a user has access to. Use when you need to discover available workspaces, filter for specific workspace IDs, or paginate through workspace results. Returns workspace details including type, team, labels, and statuses.
Input parameters
Array of workspace IDs to retrieve specific workspaces. If provided, only returns workspaces matching these IDs. If not provided, returns all workspaces the user has access to.
Pagination cursor to retrieve the next page of results. Use the nextCursor value from the previous response's meta object to fetch more workspaces.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_MOVE_TASKTool to move a task to a different workspace in Motion. Use when you need to relocate a task from one workspace to another.
Input parameters
The ID of the task to move
The user ID to assign the task to in the new workspace
The workspace ID to move the task to
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_UNASSIGN_TASKTool to unassign a task from its current assignee. Use when you need to remove the assignee from a task, leaving the task unassigned.
Input parameters
The ID of the task to unassign from its current assignee
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
MOTION_UPDATE_TASKTool to update an existing task in Motion. Use when you need to modify task properties like name, priority, due date, status, or assignee. Only provide the fields you want to update.
Input parameters
The task ID to update
Task title
List of label names to apply to the task
Task status name. Must match a valid status in the workspace.
ISO 8601 due date for the task. Required for scheduled tasks.
Duration in minutes (>0), 'NONE' for no duration, or 'REMINDER' for reminder tasks
Priority levels for Motion tasks.
Project ID to associate the task with
User ID to assign the task to
Task description in GitHub Flavored Markdown (GFM) format
Auto-scheduling configuration for a task.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 34 agents privately built on Nagent that already use Motion.
Build on Nagent
Connect Motion to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Motion, and click "Connect Now." You'll authenticate with an API key — Nagent handles credential storage and refresh automatically. Once connected, Motion is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Motion is connected, you configure its 27 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Motion steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Motion event fires, the agent kicks off automatically.
Every Motion action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Motion ships with 27 pre-built productivity actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Motion together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Motion-based workflows tailored to your business.