在 Power Pages 中設定 Power Automate 雲端流程

Power Automate 雲端流程可讓使用者在不同的應用程式與服務之間建立自動化的工作流程。 您可以使用 Power Automate 雲端流程來建立邏輯,當事件發生時執行一或多個工作。 例如設定一個按鈕,讓使用者選取該按鈕時,可傳送電子郵件或會議要求、更新記錄、收集資料、同步處理檔案和其他工作。

現在,您可以從 Power Pages 安全叫用 Power Automate 雲端流程,與 1000 多個外部資料來源互動,並將其整合至您的商務網站中。

注意

  • 您的 Power Pages 網站版本必須是 9.5.4.xx 或更新版本,才能使用此功能。
  • 入門網站套件版本必須為 9.3.2304.x 或更新版本。

先決條件

若要與 Power Pages 整合,則需要 Power Automate 授權。 建議在生產執行個體中使用每個流程授權的 Power Automate。

整合雲端流程的步驟

  1. 建立雲端流程。

  2. 將流程新增至網站。

  3. 從網站中叫用流程。

建立流程

  1. 登入 Power Pages

  2. 選取網站 + 編輯

  3. 瀏覽至設定工作區,然後選取應用程式整合下的雲端流程

  4. 選取 + 建立新流程

  5. 搜尋 Power Pages,選取當 Power Pages 呼叫流程觸發程序。

    選取 Power Automate 中的 Power Pages 選項。

  6. 定義您的流程步驟並傳回值,然後選取儲存

注意

只有解決方案感知流程可以附加至 Power Pages 網站。

將流程新增至網站

建立即時雲端流程之後,它必須與 Power Pages 網站相關聯,並使用 Web 角色進行保護。

  1. 登入 Power Pages

  2. 選取網站 + 編輯

  3. 瀏覽至設定工作區,然後選取應用程式整合底下的雲端流程 (預覽版)

  4. 選取 + 新增雲端流程

  5. 搜尋最近建立的流程。

  6. 角色底下,選取 + 新增角色

  7. 選取可存取流程的角色。

  8. 選取儲存

    將雲端流程新增至網站。

注意

將流程新增至網站時會產生唯一的 URL,讓您從網站中叫用雲端。

從網頁叫用流程

使用 Power Pages 雲端流程 API 與 Power Automate 互動,以執行外部服務整合。 雲端流程 API 作業是由 HTTP 要求和回應所組成。

選用 方法 URI
叫用雲端流程 POST [Site URI]_/api/cloudflow/v1.0/trigger/<guid>

範例:

Request

POST https://contoso.powerappsportals.com/_api/cloudflow/v1.0/trigger/4d22a1a2-8a67-e681-9985-3f36acfb8ed4
{
    "Location":"Seattle"
}

回應

無回應動作的雲端流程

HTTP/1.1 Accepted
Content-Type: application/json

有回應動作的雲端流程

HTTP/1.1 200 OK
Content-Type: application/json
Body
{
    "conditions":"Rain",
    "humidity":"93",
    "latitude":"47.60620880126953",
    "longitude":"-122.33206939697266"
}

驗證雲端流程 Web API 要求

您不需要包括驗證代碼,因為應用程式工作階段會管理驗證和授權。 所有的 API 呼叫都必須包括跨網站偽造要求 (CSRF) 權杖。

將參數傳遞至雲端流程

在雲端流程中,您可以定義類型為文字布林值檔案數字的輸入參數。 您在要求本文中定義的參數名稱,必須與雲端流程觸發程序中定義的參數名稱相符。

重要

  • 您必須傳遞雲端流程中定義的要求參數名稱。
  • 不支援將參數傳遞到設有安全輸入的流程。

用於呼叫流程的 JavaScript 範例

此範例示範如何使用非同步 JavaScript 和 XML (AJAX) 來呼叫流程。

    shell.ajaxSafePost({
        type: "POST",
        contentType: "application/json",
        url: "_api/cloudflow/v1.0/trigger/44a4b2f2-0d1a-4820-bf93-9376278d49c4",
        data: JSON.stringify({"eventData":JSON.stringify({"Email": "abc@contoso.com", "File":{"name":"Report.pdf", "contentBytes":"base 64 encoded string"} })}),
        processData: false,
        global: false
    })
    .done(function (response) {
    
    })
    .fail(function(){
    
    });

注意