🚧How to create a custom skill

Introduction

Motion’s AI Employees can run pre-built skills, but you can also create your own from scratch. A custom skill lets you define exactly when it should run (triggers), what it should do (steps), and how the results are handled. This guide walks you through building a skill end-to-end.

At a Glance

In this guide, you’ll learn how to:

  • Start a new custom skill and assign it to an AI Employee

  • Choose a trigger (manual, scheduled, or via integration)

  • Add and configure steps (general actions, Motion actions, or external integrations)

  • Chain steps together for multi-step workflows

  • Finalize and save your custom skill

High-Level Workflow

  1. Create a new skill → Start from scratch.

  2. Choose a trigger → Decide what sets the skill in motion.

  3. Configure your trigger → Add any conditions or filters to control when and how the skill should run.

  4. Add and configure your first step → Select an action category and define what it should do.

  5. Add additional steps → Build out the flow as needed.

  6. End the skill → Save and test it.


Step 1: Create a New Skill

Create a New Skill

To create a custom skill, start by choosing which AI Employee will own it. Each skill lives inside an employee, so pick the one that best matches the role of the task you’re automating.

  1. From the left sidebar, select AI Employees.

  2. Click Add AI Employee and select an employee.

  3. Choose the employee you want to give the new skill to (e.g., Alfred, Clide, Millie).

  4. Click Add new skill.

  5. Select + Create new skill to start from scratch.

At this stage, your new skill is a blank canvas. Next, you’ll define the trigger that kicks it off.

Step 2: Choose a Trigger

Choose a Trigger

Every skill needs a starting point — the trigger. This tells Motion when to run the skill. You can think of it as the “if this happens…” condition.

When creating a skill, you’ll see several trigger types:

  • Manual trigger – Run the skill whenever you choose. Best for ad-hoc or on-demand actions.

  • Run on a schedule – Automate on a recurring basis (e.g., “Every weekday at 9 AM”).

  • Motion trigger – Launch a skill when something happens inside Motion (e.g., “When a task is created” or “When a project is updated”).

  • AI Meeting notes – Trigger when a meeting ends and notes are available.

  • Integrations – Start a skill from an external app like Gmail, Outlook, or Salesforce.

👉 After selecting a trigger type, you can refine it further with filters and custom variables — for example, only running when a task is assigned to you or when the event matches a keyword.

Step 3: Configuring Your Trigger

After selecting a trigger type, Motion gives you options to refine how and when it runs. This ensures your skill only activates in the right context.

There are 5 types of triggers:

  1. Manual trigger

  2. Scheduled trigger

  3. Motion trigger

  4. Meeting notes trigger

  5. integration trigger

  6. Webhook ingestion

Manual Trigger
  • Description: Run the skill on-demand from your AI Employee’s panel.

  • Best for: Having full control of the AI skill (where to save, what info to use). Actions you only need occasionally, like “Generate a blog draft.”

  • Configuration: Describe an input; this is the instruction the skill uses when it runs. You can choose the input type — for example Text, Document, Location, or Email — depending on what your workflow needs. Once set, you’ll be prompted to provide that input each time you run the skill.

Scheduled Trigger
  • Description: Runs automatically on a recurring schedule.

  • Configuration:

    • Set frequency (e.g., “Every Monday at 9 AM” or “Daily at 6 PM”).

    • Enable/disable manual run if you want to also start it by hand.

  • Example: “Send me a summary email every morning at 8 AM.”

Motion Trigger
  • Description: Runs when something happens inside Motion.

  • Configuration:

    • Pick an event like When a Task is Created or When a Project is Updated.

    • Select a workspace with the Trigger Type: drop down menu.

    • Add filters using natural language. Example: “Only if the task is assigned to me”.

    • Include information you want to pass to later steps (task name, ETA, assignee, etc.).

  • Example filter: “When a new task is created in the Customer Success workspace”

Meeting Notes Trigger
  • Description: Activates when Motion’s AI Notetaker finishes a meeting.

  • Configuration:

    • Trigger: When a meeting note is created.

    • Filter: Define whether the skill should run for all meetings or only specific ones (e.g., tagged meetings).

    • Information that you want to use:

      • Meeting transcript: The full text of what was said in the meeting, captured verbatim. Use this when you need AI to analyze conversations, summarize discussions, or extract insights from spoken dialogue.

      • Meeting data (without transcript): The structured details of the meeting (title, date, time, participants, duration, etc.) but without the actual spoken content. Use this when you only need metadata about the meeting for scheduling, reporting, or tracking purposes.

  • Example filter: “When a meeting note contains keywords 'ClientA', draft a follow-up email with key points.”

Integration Trigger (e.g., Gmail, Outlook, Salesforce)
  • Description: Starts the skill when something happens in a connected tool.

  • Configuration:

    • Select the app (e.g., Gmail). You will need to connect an account if you haven't already. [see more here]

    • Define the event (e.g., “When an email is received from [client domain]”).

  • Example: “When I get an email from a prospect in Gmail, create a new lead in Salesforce.”

💡Pro Tip: Use custom variables in triggers to pass context into later steps. For instance, you can store a client’s name or a task’s deadline and reuse it when generating text or sending updates.

Webhook ingestion
  • What it is: A way to receive data from outside systems (e.g., Salesforce, payment processors, custom apps).

  • How it works: An external system makes a POST request to the webhook URL, sending JSON data. Motion reads the payload, applies filters, and runs the defined workflow.

Step to add your webhook ingestion

  1. Create or Open a Skill

    • In the Skill Builder, either create a new skill or edit an existing one.

  2. Add Webhook Ingestion as the Trigger

    • Click Add Trigger.

    • Select Webhook Ingestion from the list.

  3. Get the Webhook URL

    • Once the trigger is added and the skill is saved, Motion generates a unique webhook URL.

    • You’ll see this URL in the Webhook URL section of the trigger settings.

    • This is the endpoint external systems will send data to.

  4. Send JSON Data to the Webhook URL

    • Configure your external system (e.g., Salesforce, Gmail, a custom app, or Zapier) to send a POST request to this URL.

    • The payload must be in JSON format.

  5. Add Filters

    • Inside the trigger settings, you can define filters to control when the webhook runs.

    • Examples:

      • Only accept requests with a specific header key.

      • Only run if the request comes from a certain IP.

  6. Use the Data in Your Workflow

    • The data from the webhook will be available in your skill under the Trigger variable.

    • You can map these values into later steps (e.g., creating a Motion task, updating a project, or sending a notification).

  7. Publish and Test

    • Publish your skill so the webhook URL becomes active.

    • Send a test POST request from your external system to confirm Motion receives and processes it correctly.

💡Pro Tip: Keep your webhook URL secure. Only share it with trusted systems, and use filters (like headers or IPs) to restrict who can trigger it.

Example: Create a Motion Task When a New Lead Arrives in Salesforce

Goal: Whenever a new lead is created in Salesforce, automatically create a Motion task for the Sales team to follow up.

  1. In Motion:

    • Create a new skill.

    • Add Webhook Ingestion as the trigger.

    • Save the skill → Motion generates the webhook URL.

  2. In Salesforce (or middleware like Zapier):

    • Configure a webhook (outbound message or automation) that sends lead data (name, company, email) to the Motion webhook URL.

    • Payload example:

      {
        "name": "Jane Doe",
        "company": "Acme Corp",
        "email": "[email protected]",
        "status": "New Lead"
      }
  3. Back in Motion (inside the skill):

    • Add a step: Create Motion Task.

    • Map the JSON fields from the webhook to the task fields:

      • Task Title: Follow up with {{Trigger.name}} from {{Trigger.company}}

      • Description: Contact {{Trigger.email}}

      • Assignee: Sales rep or team inbox

      • Due Date: Today + 1 business day

  4. Test:

    • Add a test lead in Salesforce.

    • Check Motion → a new follow-up task is automatically created.

Step 4: Add your first action (and write the Instructions for the AI)

Add your first action
  1. Click “+ Add your first step.” Pick an action from:

    1. General Actions (Generate Text, AI Instructions, Research…)

    2. Motion (Create/Update Task/Project, Send Notification, Search…)

    3. Integrations (Gmail, Outlook, Slack, Salesforce, HTTP/API, etc.)

  1. Configure the action panel. You’ll see fields that vary by action (e.g., doc location, project, assignee, channel).

  2. Write the Instructions (in plain English). This is the brain of the step—you don’t need to be technical. Describe what you want in plain English. Examples

    1. Be specific about the output: format, tone, length.

    2. Tell it what to include/exclude.

    3. Reference earlier data using variables like @Trigger or outputs from prior steps (e.g., @MeetingNotes, @Task).

    4. Provide structure when helpful (headings, bullets, tables).

    5. “Summarize @MeetingNotes into 5 bullets with owners and due dates. End with a one-sentence TL;DR.”

    6. “Draft an email to the assignee of @Task explaining what changed and why. Keep it under 120 words and include a clear CTA.”

    7. “Create a checklist from @ResearchReport using level-2 markdown headings and unchecked boxes.”

  1. (Optional) Choose a model or extra options. Some actions let you pick an LLM, set a default folder/project, or add recipients.

  1. Rename the output if desired. (Motion automatically outputs a name for you.) Use “Save the results as” to create a variable (e.g., @Summary, @DraftEmail) that later steps can reuse.

  1. Test and iterate. Click Test to run just this step. If the result isn’t perfect, tighten your Instructions (be concrete about structure and examples) and test again.

💡Pro tips

  • Start with one action and a simple goal; chain more actions after it.

  • Prefer explicit formats (e.g., “Return markdown with ## headings and a table with columns: Task, Owner, ETA”).

  • When pulling data from previous steps, reference variables consistently (the picker helps avoid typos).

Step 5: Add Additional Steps

Add Additional Steps

A single action is powerful, but Motion’s AI skills really shine when you chain steps together. Each step can build on the outputs of previous ones, creating multi-step workflows.

  1. Add a new step

    1. Click + Add Step under your existing action.

    2. Choose from General Actions, Motion, or Integrations, just like before.

  2. Reuse outputs from earlier steps

    1. In the Instructions field, reference variables created in previous steps (e.g., @MeetingNotes, @Summary, @DraftEmail).

    2. Use the variable picker to avoid mistakes — Motion will auto-suggest available outputs.

    3. Example:

      1. Step 1: Summarize @MeetingNotes into 5 bullets (@Summary)

      2. Step 2: Draft an email with @Summary inserted into the body (@DraftEmail)

      3. Step 3: Send @DraftEmail via Gmail

  3. Configure each step

    1. Each action has its own options (e.g., select a project for Motion tasks, or a Slack channel for notifications).

    2. Don’t forget to save outputs from each step so later steps can use them.

  4. Keep adding as needed

    1. You can add as many steps as your workflow requires.

    2. Common multi-step patterns include:

    3. Research → Summarize → Create a Motion doc

    4. Task created → Draft message → Send to Slack

    5. Meeting ends → Summarize → Generate follow-up tasks

  5. Add conditional splits

    1. Use conditional splits to create different paths in your workflow. This allows Motion to take action only if certain conditions are met. For example:

      1. If a meeting summary contains “urgent,” → send Slack notification.

      2. If task priority = high → assign to manager, else assign to team.

    2. How to set up a conditional split

      1. Add a Conditional Split step after your first step.

      2. Define your conditions (e.g., “If @Summary includes the word urgent”).

      3. Add follow-up steps under each condition branch.

      4. Use Else as a fallback path when no conditions are met.

💡 Pro Tip: Think of steps as a pipeline. The cleaner and more structured your outputs are, the easier it will be to reuse them in later steps.

Step 6: End and Save the Skill

End and Save the Skill

Once your steps are in place, it’s time to finalize the workflow and make it ready to use.

  1. Review your workflow

    1. Check the trigger and each step.

    2. Make sure outputs are named clearly (e.g., @Summary, @DraftEmail).

    3. Confirm variables flow properly from one step to the next.

  2. Add an end step (optional)

    1. Use an End Skill marker to close the sequence if needed.

    2. This helps clearly define when the workflow should stop.

  3. Name your skill

    1. Give it a descriptive title (e.g., Client Call Follow-Up or Weekly Status Digest).

    2. This makes it easier to find later in your AI Employee’s skill list.

  4. Save the skill

    1. Click Save to finalize.

  5. The new skill will appear under your chosen AI Employee.

  6. Test the skill

    1. Run it manually (if you set a manual trigger).

    2. Or wait for the trigger condition (schedule, Motion event, or integration) to fire.

    3. Check the output for accuracy, then refine your instructions or steps if needed.

💡 Pro Tip: Don’t worry if it’s not perfect the first time. Custom skills are designed to be iterative — tweak instructions, reorder steps, or adjust triggers until the workflow feels smooth and reliable.

Conclusion

Creating a custom skill in Motion gives you the flexibility to design workflows that match exactly how you and your team work. By defining a trigger, adding actions, writing clear instructions, and chaining steps together, you can automate anything from meeting follow-ups to multi-app processes.

Start small with a simple manual skill, then expand into multi-step automations as you get comfortable. With each iteration, your AI Employees become more powerful teammates — saving time, reducing manual effort, and keeping work moving forward.

Last updated

Was this helpful?