Microsoft Copilot Studio tutorial

Build a Microsoft Copilot Studio customer intake agent for service businesses

Create a Copilot Studio agent that qualifies customers, captures service details, stores lead data, and routes urgent requests to your team.

Microsoft Copilot StudioGuided setup
Interactive tutorial

Build sequence

Define intake fields → create Copilot topic → save variables → call Power Automate → test and publish

Interactive workflow lab

Step 1 / 5

Step 1

Map the intake conversation

Keep the first version short. A good service intake agent asks for enough information to route the request, not every detail a salesperson might want later.

Checkpoint

Every captured answer should map to a variable you can store or route.

Create an intake schema

Intake schema

Setup notes

Fields: name, contact, service type, location, urgency, preferred date, notes

Expected result

Schema approved

A small field list makes the bot faster to finish and easier to connect to CRM or email.

Step-by-step instructions

  1. 1

    Step

    Map the intake conversation

    Keep the first version short. A good service intake agent asks for enough information to route the request, not every detail a salesperson might want later.

    Fields: name, contact, service type, location, urgency, preferred date, notes
  2. 2

    Step

    Create the Copilot Studio topic

    Use plain trigger phrases your customers would actually type. Keep this topic separate from general FAQ so analytics show intake performance clearly.

    Triggers: book a service, request quote, schedule repair, need help
  3. 3

    Step

    Capture answers as variables

    Single-question screens reduce abandonment and make validation easier. Use choice buttons for service type and urgency where possible.

    customerName, phoneOrEmail, serviceType, urgency, preferredTime
  4. 4

    Step

    Send the intake to Power Automate

    Start with one reliable destination. Dataverse is the native Power Platform path, but email or a spreadsheet is acceptable for an MVP.

    Lead record created and notification sent
  5. 5

    Step

    Test, publish, and monitor

    Test short requests, urgent requests, missing contact details, and handoff cases. Publish only after the flow creates the expected record every time.

    Test passed, agent published, analytics enabled

Why this matters

Service businesses lose leads when website forms are too generic or when calls arrive outside working hours. A Copilot Studio intake agent gives visitors a guided path, captures consistent details, and routes the request to the right team member without forcing a full custom app.

Troubleshooting

  • If the agent does not trigger, add simpler customer phrases and test again in the Copilot Studio test pane.
  • If variables are empty in Power Automate, confirm each question node saves the response to the exact variable used by the flow.
  • If the flow fails, test the flow separately with sample data before reconnecting it to the topic.
  • If visitors abandon the intake, reduce questions and move optional details to a follow-up step.

FAQ

Do I need a paid Copilot Studio license?

A trial can be enough for prototyping, but production publishing usually requires the correct Microsoft Copilot Studio and Power Platform licensing for your tenant and channel.

Can I store intake data in Dataverse?

Yes. Dataverse is the native Power Platform database, and Power Automate can create lead or request records from Copilot Studio variables.

Can the agent notify my team?

Yes. The flow can send email, Teams messages, CRM tasks, or Dataverse records depending on how your team works.

Should I ask for every detail in the chat?

No. Capture the fields needed to route and respond. Long intake flows create drop-off, especially on mobile.

Can I hand off to a human?

Yes. You can design escalation paths for urgent requests, incomplete answers, or high-value leads.

How should I test before launch?

Run realistic conversations for normal, urgent, incomplete, and edge-case requests, then verify the destination record or notification every time.

Related tutorials