เปิดใช้งานแอปและเครื่องมือแบบกําหนดเองของคุณใน Microsoft 365 Copilot

[หัวข้อนี้คือเอกสารรุ่นก่อนวางจำหน่าย และอาจจะมีการเปลี่ยนแปลงในอนาคต]

Power Apps ใน Microsoft 365 Copilot ช่วยให้ผู้ใช้สามารถโต้ตอบกับแอปแบบจําลองของคุณได้โดยตรงจาก Copilot เมื่อผู้ใช้พูดคุยกับตัวแทน สามารถแสดงข้อมูลของแอปของคุณเป็น UI แบบโต้ตอบ ตารางสําหรับเรียกดูระเบียนหรือฟอร์มสําหรับการดู แก้ไข หรือสร้างทั้งหมดโดยไม่ต้องออกจากประสบการณ์ Copilot นอกจากนี้ คุณสามารถเพิ่มเครื่องมือ MCP แบบกําหนดเองและ UI แบบโต้ตอบไปยังตัวแทนที่ประกาศของแอป ฟังก์ชันนี้สามารถทําได้ผ่าน แอป MCP ซึ่งเป็นส่วนขยายไปยัง MCP ที่ช่วยให้เซิร์ฟเวอร์ MCP สามารถส่งมอบส่วนติดต่อผู้ใช้แบบโต้ตอบกับโฮสต์ ฟีเจอร์นี้ทํางานโดยการสร้างเซิร์ฟเวอร์ MCP และตัวแทนที่เปิดเผยจากแอปของคุณ

Important

  • คุณลักษณะนี้เป็นคุณลักษณะพรีวิว
  • คุณลักษณะการแสดงตัวอย่างไม่ได้มีไว้สำหรับการนำไปใช้งานจริง และอาจมีการจำกัดฟังก์ชันการทำงาน คุณลักษณะเหล่านี้สามารถใช้ได้ก่อนการเปิดตัวอย่างเป็นทางการ เพื่อให้ลูกค้าสามารถเข้าใช้งานได้ก่อนเวลาและให้ข้อคิดเห็น

Prerequisites

  • แอปที่ขับเคลื่อนด้วยแบบจำลอง ในปัจจุบัน คุณลักษณะนี้จะพร้อมใช้งานกับแอปแบบจําลองข้อมูลเท่านั้น
  • สิทธิ์การใช้งาน Microsoft 365 Copilot จำเป็นสำหรับทั้งผู้สร้างที่ทำการปรับใช้และผู้ใช้ปลายทางที่โต้ตอบกับเอเจนต์
  • สิทธิ์ในการอัปโหลดแอปแบบกําหนดเองใน Microsoft Teams ผู้ดูแลระบบ Microsoft 365 ของคุณอาจจําเป็นต้องเปิดใช้งาน ตรวจสอบการตั้งค่าผู้ดูแลระบบ Teams ของคุณหากมองไม่เห็นตัวเลือกการอัปโหลด

ตั้งค่า Power Apps บน Copilot

  1. ไปที่ Power Apps เลือกสภาพแวดล้อมที่คุณต้องการ จากนั้นเปิดแอปแบบจําลองข้อมูลที่ต้องการ

  2. เลือกไอคอน App MCP บนแถบนําทางด้านซ้าย จากนั้นเลือก ตั้งค่า MCP การดําเนินการนี้จะตั้งค่าเซิร์ฟเวอร์ MCP สําหรับแอป ซึ่งมีเครื่องมือ MCP สําหรับการสนทนาของ Copilot นี่เป็นขั้นตอนครั้งเดียวและอาจใช้เวลาสองถึงสามวินาทีในการดําเนินการให้เสร็จสมบูรณ์

    ตั้งค่า MCP ของแอปสําหรับแอปแบบจําลองข้อมูล

  3. บันทึกและเผยแพร่แอป

  4. เลือก ดาวน์โหลดแพคเกจแอป เพื่อดาวน์โหลดตัวแทนที่เปิดเผยที่สร้างขึ้นโดย MCP ของแอปของคุณ แพคเกจนี้ประกอบด้วยข้อกําหนดของตัวแทน เครื่องมือที่มีอยู่ภายในสําหรับระเบียนและข้อมูลพร้อมกับการกําหนดค่าที่จําเป็นในการปรับใช้ประสบการณ์การใช้งานของแอปของคุณกับ Microsoft 365 copilot

    ปุ่มดาวน์โหลดแพคเกจแอปจากตัวออกแบบแอปแบบจําลองข้อมูล

  5. อัปโหลดไฟล์บีบอัดที่มีชื่อคล้ายกับ name.zipdeclarative-agent-app ไปยัง Microsoft Teams หรือ Microsoft 365 Agents:

    • ทีม: อัปโหลดสําหรับการใช้งานส่วนบุคคลเป็นแอปแบบกําหนดเองใน Teams ข้อมูลเพิ่มเติม อัปโหลดแอปของคุณใน Teams
    • ตัวแทน Microsoft 365: เผยแพร่แพคเกจสําหรับทีมหรือกลุ่มจากศูนย์การจัดการ Microsoft 365 ข้อมูลเพิ่มเติม: ตัวแทนเผยแพร่

ตอนนี้คุณสามารถถามคำถามเกี่ยวกับตารางในแอปจากเอเจนต์แบบประกาศนี้ เครื่องมือที่มีอยู่ภายในสามารถแสดง เส้นตารางแบบโต้ตอบ สําหรับคิวรีชุดข้อมูลได้

ตัวอย่างของการดูเวอร์ชันทดสอบที่ส่งกลับจากเอเจนต์แบบประกาศ

นอกจากนี้ คุณสามารถใช้ ฟอร์มอัจฉริยะ เพื่อสร้าง ดู และแก้ไขระเบียนภายในบริบท Copilot ใน Microsoft 365 ได้

ตัวอย่างของการสร้างระเบียนใหม่จากอีเมลผ่านเอเจนต์เชิงประกาศ

Note

คุณสามารถปรับแต่งเอเจนต์แบบประกาศที่รวมอยู่ในแพคเกจแอปตามดุลพินิจของคุณเอง เพื่อลดความเป็นไปได้ของพฤติกรรมที่ไม่คาดคิดเมื่อใช้ตัวแทน AI ให้ใช้ความระมัดระวังเมื่อคุณปรับแต่งรหัสตัวแทนที่เปิดเผย ข้อมูลเพิ่มเติม: ตัวแทนเชิงประกาศสําหรับ Microsoft 365 Copilot

สร้างเครื่องมือแบบกําหนดเอง

นอกเหนือจากเครื่องมือที่มีอยู่ภายในตัวแทนที่เปิดเผยของแอปสามารถขยายการทํางานของมันได้โดยการรวมเครื่องมือและวิดเจ็ตที่กําหนดเอง สามารถใช้นักออกแบบที่มีพื้นฐานมาจากตัวสร้างคำถามเพื่อรวมเครื่องมือ MCP ที่กำหนดเองและส่วนประกอบ UI แบบโต้ตอบเข้าสู่เอเจนต์เชิงประกาศของแอปได้ ตัวอย่างเช่น ในแอป Zava Airlines สามารถเพิ่มเครื่องมือแบบกําหนดเองเพื่อแสดงแผนที่เที่ยวบินควบคู่ไปกับไทม์ไลน์ของเที่ยวบินเป็นแผนภูมิ Gantt ในมุมมองแบบเคียงข้างกัน

Important

  1. เลือก สร้างเครื่องมือแบบกําหนดเอง ภายใต้ส่วน เครื่องมือ ของแท็บ แอป MCP

  2. ใส่ ชื่อ ที่ชัดเจนและ คําอธิบาย สําหรับเครื่องมือ เนื่องจาก Microsoft 365 Copilot ใช้ข้อมูลนี้เพื่อกําหนดเวลาที่จะเรียกใช้

  3. เพิ่มคําแนะนําเพื่อส่งออกข้อมูลสําหรับเครื่องมือที่มีค่าเริ่มต้นเป็นรูปแบบ JSON คุณสามารถเปลี่ยนเป็นข้อความได้หากเครื่องมือไม่มีส่วนประสบการณ์ผู้ใช้ที่เชื่อมโยงอยู่ คําแนะนําสามารถรวมถึงคิวรีสําหรับระเบียนเฉพาะของตารางในแอป หรืออาจเป็นพารามิเตอร์การป้อนข้อมูลสําหรับเครื่องมือที่จะใช้ในการเกี่ยวโยงเครื่องมือ ตรวจสอบให้แน่ใจว่าได้ทดลองและเลือกโปรแกรม AI ที่เหมาะสม

    สร้างเครื่องมือแบบกําหนดเองเพื่อดูข้อมูลเที่ยวบิน

  4. เลือก ทดสอบ เพื่อตรวจสอบและตรวจสอบผลลัพธ์ของเครื่องมือ จากนั้นเลือก ถัดไป ตอนนี้คุณสามารถสร้างและวาง HTML ที่กําหนดเอง เฉพาะสําหรับเครื่องมือนี้ HTML นี้สามารถสร้างขึ้นโดยใช้ /generate-mcp-apps-ui skill หรือเครื่องมือการพัฒนาของคุณเอง เลือก บันทึก

    ผลลัพธ์ตัวอย่างเครื่องมือแบบกําหนดเอง JSON

  5. ดาวน์โหลด zip ของแพคเกจแอปที่อัปเดตแล้วและอัปโหลดเวอร์ชันล่าสุดไปยัง Microsoft Teams หรือตัวแทน Microsoft 365

  6. เรียกใช้เครื่องมือ โดยการออกคิวรีที่เกี่ยวข้องในตัวแทนแอปเพื่อดูการดําเนินการ UI แบบกําหนดเอง

    UI แบบกําหนดเองที่สร้างขึ้นซึ่งแสดงเวลาเที่ยวบิน

Note

คุณสามารถออก คำสั่ง '-โหมดนักพัฒนา' ไปยัง Microsoft 365 Copilot เพื่อดูข้อมูลการแก้ไขข้อบกพร่องของเอเจนต์และเครื่องมือที่เรียกใช้ สําหรับการแก้ไขปัญหาทั่วไป ดูแอป Troubleshoot MCP ใน Microsoft 365 Copilot

การเกี่ยวโยงเครื่องมือแบบไดนามิก

การเชื่อมโยงเครื่องมือในตัวแทนแบบประกาศของ Power Apps ใช้ตัวจัดการ Orchestrator ของ Microsoft 365 Copilot เพื่อทำความเข้าใจเจตนาของผู้ใช้และเรียกใช้งานการดำเนินการที่ขับเคลื่อนด้วย MCP หลายรายการแบบไดนามิกตามลำดับเพื่อให้งานสำเร็จลุล่วง Orchestrator เลือก กําหนดพารามิเตอร์ และดําเนินการการรวมกันที่ถูกต้องของการดําเนินการของแอป MCP โดยยึดตามบริบทและคําอธิบายฟังก์ชัน การเปิดใช้งานเวิร์กโฟลว์แบบครอบคลุมทั่วทั้ง Power Apps และระบบขององค์กร นี่คือวิธีการสร้างเครื่องมือที่มีการป้อนข้อมูลที่มีการกําหนดพารามิเตอร์

  1. เลือก สร้างเครื่องมือแบบกําหนดเอง ภายใต้ส่วน เครื่องมือ ของแท็บ แอป MCP

  2. ใส่ ชื่อ ที่ชัดเจนและ คําอธิบาย สําหรับเครื่องมือ เนื่องจาก Microsoft 365 Copilot ใช้ข้อมูลนี้เพื่อกําหนดเวลาที่จะเรียกใช้

  3. ในตัวอย่างนี้ เราใช้ตัวแสดงภาพแผนภูมิ Sankey ก่อนอื่น กําหนดเค้าร่างการป้อนข้อมูล JSON ที่จําเป็นในการสร้างแผนภูมิ Sankey ถัดไป สร้างคำสั่งสำหรับเครื่องมือแสดงภาพแผนภูมิ Sankey เครื่องมือจะแสดงพารามิเตอร์การป้อนข้อมูลที่ชื่อว่าSankeyDiagramVisualizationInputData พารามิเตอร์นี้ได้รับการแปลโดยเครื่องมือและแปลงเป็นโครงสร้าง JSON ที่ตัวแสดงภาพคาดหวัง เลือกชื่อพารามิเตอร์การป้อนข้อมูลที่ชัดเจนและสื่อความหมายเพื่อให้ LLM สามารถระบุและเรียกใช้เครื่องมือได้อย่างถูกต้อง

    เครื่องมือแบบกําหนดเองที่มีการเกี่ยวโยงเครื่องมือ

  4. ตอนนี้คุณสามารถสร้างและวาง HTML ที่กําหนดเอง เฉพาะสําหรับเครื่องมือนี้ HTML นี้สามารถสร้างขึ้นโดยใช้ /generate-mcp-apps-ui skill หรือเครื่องมือการพัฒนาของคุณเอง เลือก บันทึก

  5. ดาวน์โหลด zip ของแพคเกจแอปที่อัปเดตแล้วและอัปโหลดเวอร์ชันล่าสุดไปยัง Microsoft Teams หรือ Microsoft 365 Agents

  6. ขณะนี้ Copilot สามารถใช้คิวรีภาษาธรรมชาติเพื่อดึงข้อมูลและส่งผ่านไปยังเครื่องมือสําหรับการแสดงภาพ ตัวอย่างเช่น คุณสามารถใช้คิวรีที่ซับซ้อนเพื่อรับข้อมูลป้อนเข้าแบบไดนามิกจากข้อมูลตาราง 'ปัญหา' และแสดงภาพโดยใช้เครื่องมือ Sankey Chart Visualizer

    ตัวแสดงภาพแผนภูมิ Sankey ที่แสดงข้อมูลตารางปัญหา

  7. คุณสามารถปรับแต่งแผนภูมิ Sankey เพิ่มเติมได้โดยการสนทนาต่อไป

    ตัวแสดงภาพแผนภูมิ Sankey ที่แสดงข้อมูลเพิ่มเติมจากการสนทนา

ตัวอย่างเต็มหน้าจอ

ในตัวอย่างนี้ ปุ่มขยายจะแสดงเฉพาะเมื่อโฮสต์สนับสนุนโหมดเต็มหน้าจอเท่านั้น

function renderExpandButton(app) {
  const ctx = app.getHostContext();

  // Don't render the button if the host doesn't support fullscreen
  if (!ctx?.availableDisplayModes?.includes('fullscreen')) {
    return null;
  }

  const btn = document.createElement('button');
  btn.addEventListener('click', async () => {
    const result = await app.requestDisplayMode({ mode: 'fullscreen' });
    // Always use result.mode — the host may grant a different mode than requested
    console.log('Granted mode:', result.mode);
  });
  return btn;
}

มาตรการป้องกันเดียวกันนี้จะมีผลกับความสามารถของโฮสต์ใด ๆ ตรวจสอบ getHostContext() ก่อนใช้งาน:

const ctx = app.getHostContext();

// Theme
if (ctx?.theme) applyTheme(ctx.theme);

// Current display mode
if (ctx?.displayMode === 'fullscreen') { /* adjust layout */ }

// Available modes
if (ctx?.availableDisplayModes?.includes('inline')) { /* show collapse option */ }

ตอบสนองต่อการเปลี่ยนแปลงความสามารถในขณะทํางานผ่าน onhostcontextchanged — บริบทของโฮสต์สามารถอัปเดตได้หลังจาก connect():

app.onhostcontextchanged = (ctx) => {
  if (ctx.theme) applyTheme(ctx.theme);
  if (ctx.displayMode) updateLayout(ctx.displayMode);
};

การใช้โหมดเต็มหน้าจอพร้อมผลลัพธ์ของเครื่องมือ

รูปแบบทั่วไปคือการสลับไปยังเต็มหน้าจอโดยอัตโนมัติเมื่อวิดเจ็ตรับข้อมูล ให้เนื้อหามีพื้นที่มากขึ้นในการแสดงผล

app.ontoolresult = async (result) => {
  const data = result.structuredContent;
  if (!data) return;

  // Expand to fullscreen when data arrives, if the host supports it
  const ctx = app.getHostContext();
  if (ctx?.availableDisplayModes?.includes('fullscreen') && currentMode !== 'fullscreen') {
    const granted = await app.requestDisplayMode({ mode: 'fullscreen' });
    currentMode = granted.mode;
    document.body.classList.toggle('mode-fullscreen', currentMode === 'fullscreen');
  }

  renderData(data);
};

คุณยังสามารถให้ผู้ใช้ตัดสินใจ — แสดงในโหมดปัจจุบันก่อน จากนั้นเสนอปุ่มขยาย:

app.ontoolresult = (result) => {
  const data = result.structuredContent;
  if (!data) return;

  renderData(data);        // render in whatever mode is active
  updateExpandBtn();       // show the expand button now that there is content
};

สร้างวิดเจ็ตแอป MCP ด้วยเครื่องมือสร้างโค้ด AI

คำถามที่พบบ่อยสำหรับ Power Apps ในตัวแทน