คู่มือนี้อธิบายวิธีสร้างขั้นตอนที่ผู้ใช้เพิ่มลงในโฟลว์ใน Google Workspace Flows ได้
ขั้นตอนคือขั้นตอนเดียวในลำดับงานของโฟลว์ ขั้นตอนไม่สามารถเริ่ม โฟลว์ได้
ตัวอย่างเช่น ลองพิจารณาขั้นตอนที่ทำการคำนวณทางคณิตศาสตร์ โดยจะขอค่า 2 ค่าและ การดำเนินการทางคณิตศาสตร์จากผู้ใช้ จากนั้นจะดำเนินการทางคณิตศาสตร์กับค่า และแสดงผลลัพธ์
หากต้องการสร้างขั้นตอน ให้กำหนดค่าในไฟล์ Manifest ของส่วนเสริม เขียนตรรกะของแอปพลิเคชันในโค้ดของส่วนเสริม Google Workspace แล้ว นำไปใช้งานและทดสอบขั้นตอน ในระหว่างช่วงอัลฟ่า อย่าเผยแพร่ ส่วนเสริมที่ขยาย Flows
กำหนดขั้นตอน
หากต้องการกำหนดค่าขั้นตอน ให้กำหนดไว้ในไฟล์ Manifest และเขียนตรรกะของแอปพลิเคชันในโค้ด
กำหนดขั้นตอนในไฟล์ Manifest
ในไฟล์ Manifest appsscript.json
- ตั้งค่า
onConfigFunctionและonExecuteFunctionเป็นชื่อของฟังก์ชันที่เกี่ยวข้องในโค้ดของส่วนเสริม ในตัวอย่างนี้ ฟังก์ชันจะเรียกว่าonConfigCalculate()และonExecuteCalculate()onConfigFunctionตั้งค่าและกำหนดค่าขั้นตอน หากจำเป็น รวบรวมข้อมูลจากผู้ใช้ที่จำเป็นต่อการดำเนินการตามขั้นตอน เช่น ที่อยู่ เพื่อส่งอีเมล ในตัวอย่างของคู่มือนี้ เราขอค่า 2 ค่าและ การดำเนินการทางคณิตศาสตร์onExecuteFunctionจะดำเนินการตามขั้นตอน หากรวบรวมข้อมูลจากผู้ใช้ ระบบจะส่งข้อมูลดังกล่าวไปยังฟังก์ชันนี้ หากมี ระบบจะแสดงผลลัพธ์ ในตัวอย่างของคำแนะนำนี้ จะแสดงผลลัพธ์ของการคำนวณทางคณิตศาสตร์
ตั้งค่าอินพุตและเอาต์พุตที่จำเป็น ซึ่งจะช่วยให้ขั้นตอนรวบรวมข้อมูลและส่งไปยังขั้นตอนต่อๆ ไปได้ ในตัวอย่างนี้ ให้ขอค่า 2 ค่าและ การดำเนินการทางคณิตศาสตร์ที่กำหนดไว้ใน
inputs[]จากผู้ใช้ แสดงผลลัพธ์ที่คำนวณตามที่กำหนดไว้ในoutputs[]ดูข้อมูลเพิ่มเติมเกี่ยวกับอินพุตและเอาต์พุตได้ที่ ตัวแปรอินพุตและ ตัวแปรเอาต์พุต หากต้องการให้โฟลว์ทํางานโดยไม่มีข้อผิดพลาด ให้ตรวจสอบตัวแปรอินพุต
ไฟล์ Manifest สำหรับขั้นตอนเครื่องคิดเลขมีดังนี้
JSON
{
"timeZone": "America/Los_Angeles",
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8",
"addOns": {
"common": {
"name": "Calculator",
"logoUrl": "https://www.gstatic.com/images/branding/productlogos/calculator_search/v1/web-24dp/logo_calculator_search_color_1x_web_24dp.png",
"useLocaleFromApp": true
},
"flows": {
"workflowElements": [
{
"id": "actionElement",
"state": "ACTIVE",
"name": "Calculate",
"description": "Asks the user for two values and a math operation, then performs the math operation on the values and outputs the result.",
"workflowAction": {
"inputs": [
{
"id": "value1",
"description": "value1",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
},
{
"id": "value2",
"description": "value2",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
},
{
"id": "operation",
"description": "operation",
"cardinality": "SINGLE",
"dataType": {
"basicType": "STRING"
}
}
],
"outputs": [
{
"id": "result",
"description": "Calculated result",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
}
],
"onConfigFunction": "onConfigCalculate",
"onExecuteFunction": "onExecuteCalculate"
}
}
]
}
}
}
จากนั้นเขียนโค้ดสนับสนุนโดยกำหนดขั้นตอนในโค้ด
กำหนดขั้นตอนในโค้ด
ในโค้ดของแอปพลิเคชัน ให้ทำดังนี้
เขียน
onConfigFunctionซึ่งในตัวอย่างนี้เรียกว่าonConfigCalculate()เมื่อผู้ใช้เพิ่มขั้นตอนลงในโฟลว์ ผู้ใช้จะ กำหนดค่าลักษณะของขั้นตอนในตัวสร้างโฟลว์ ได้onConfigFunctionกําหนดการ์ดการกําหนดค่า เพื่อรวบรวมข้อมูลที่จําเป็นจากผู้ใช้การ์ดคือองค์ประกอบพื้นฐานสำหรับอินเทอร์เฟซผู้ใช้ในส่วนเสริม การ์ดรองรับเลย์เอาต์ที่กำหนด องค์ประกอบ UI แบบอินเทอร์แอกทีฟ เช่น ปุ่ม และ สื่อสมบูรณ์ เช่น รูปภาพ การ์ดเป็นวิธีรับข้อมูลจากผู้ใช้ที่ขั้นตอนต้องใช้ในการเรียกใช้ เช่น อีเมลสำหรับส่งอีเมล
OnConfigFunctionจะแสดงผลออบเจ็กต์RenderActionsซึ่งมี การ์ด การ์ดนี้กำหนด UI ที่ผู้ใช้ตั้งค่าข้อมูลของขั้นตอน ใน ตัวอย่างนี้onConfigFunctionสร้างการ์ดที่ขอให้ผู้ใช้ระบุค่า 2 ค่า และการดำเนินการทางคณิตศาสตร์เขียน
onExecuteFunctioncalledonExecuteCalculate()ในตัวอย่างนี้ เมื่อขั้นตอนทำงานในโฟลว์OnExecuteFunctionจะทำงาน ระบบจะส่งค่าอินพุตใดก็ตามที่ผู้ใช้ตั้งค่าไว้ระหว่างการกำหนดค่าตามที่กำหนดไว้ในonConfigurationFunctionไปยังOnExecuteFunctionเขียน
OnExecuteFunction()เพื่อให้ดำเนินการงานแบบพร้อมกันโดยใช้ อินพุตที่ระบุ โปรดทราบว่าOnExecuteFunction()ต้องส่งคืนเอาต์พุตทั้งหมด ที่กำหนดไว้ในไฟล์ Manifest ของโฟลว์ ไม่เช่นนั้นจะเกิด ข้อผิดพลาด
ตัวอย่างโค้ดนี้มีฟังก์ชันสนับสนุน outputVariables() ซึ่งสร้างและส่งตัวแปรที่ระบุเป็นเอาต์พุตจากขั้นตอน
ขั้นตอนของคุณพร้อมสำหรับการทดสอบแล้ว
โค้ดสำหรับขั้นตอนเครื่องคิดเลขมีดังนี้
Apps Script
/**
* Generates and displays a configuration card for the sample calculation step.
*
* This function creates a card with input fields for two values and a drop-down
* for selecting an arithmetic operation. The card also includes a "Save"
* button to save the step configuration for the workflow.
*
* The input fields are configured to let the user select outputs from previous
* workflow steps as input values using the `hostAppDataSource` property.
*/
function onConfigCalculate() {
var card = {
"sections": [
{
"header": "Step example: Calculate",
"widgets": [
{
"textInput": {
"name": "value1",
"label": "First value",
"hostAppDataSource" : {
"workflowDataSource" : {
"includeVariables" : true
}
}
}
},
{
"selectionInput": {
"name": "operation",
"label": "Operation",
"type": "DROPDOWN",
"items": [
{
"text": "+",
"value": "+",
},
{
"text": "-",
"value": "-",
},
{
"text": "x",
"value": "x",
},
{
"text": "/",
"value": "/",
}
]
}
},
{
"textInput": {
"name": "value2",
"label": "Second value",
"hostAppDataSource" : {
"workflowDataSource" : {
"includeVariables" : true
}
}
}
}
]
}
]
};
return {
"action": {
"navigations": [{
"push_card": card
}]
}
};
}
/**
* Returns output variables from a step.
*
* This function constructs an object that, when returned, sends the
* provided variable values as output from the current step.
* The variable values are logged to the console for debugging purposes.
*/
function outputVariables(variableValues) {
var renderAction = {
"hostAppAction" : {
"workflowAction" : {
"returnOutputVariablesAction" : {
"variables" : variableValues
}
}
}
};
console.log("renderAction: " + JSON.stringify(renderAction));
return renderAction;
}
/**
* Executes the calculation step based on the inputs from a flow event.
*
* This function retrieves input values and the operation from the flow event,
* performs the calculation, and returns the result as an output variable.
* The function logs the event for debugging purposes.
*/
function onExecuteCalculate(event) {
console.log("output: " + JSON.stringify(event));
var calculatedValue = 0;
var value1 = event.workflow.actionInvocation.inputs["value1"].integerValues[0];
var value2 = event.workflow.actionInvocation.inputs["value2"].integerValues[0];
var operation = event.workflow.actionInvocation.inputs["operation"].stringValues[0];
if (operation == "+") {
calculatedValue = value1 + value2;
} else if (operation == "-") {
calculatedValue = value1 - value2;
} else if (operation == "x") {
calculatedValue = value1 * value2;
} else if (operation == "/") {
calculatedValue = value1 / value2;
}
return outputVariables([{
"variableId": "result",
"variableData": {
"integerValues": [
calculatedValue
]
},
}]);
}
ทดสอบการก้าว
หากต้องการทดสอบขั้นตอน ให้ตั้งค่าการทดสอบการติดตั้งใช้งานสำหรับ ส่วนเสริม เพิ่มขั้นตอนลงใน โฟลว์ แล้วเรียกใช้ โฟลว์
ตั้งค่าการทำให้ใช้งานได้สำหรับการทดสอบสำหรับส่วนเสริม
- เปิดโปรเจ็กต์สคริปต์ในเครื่องมือแก้ไข Apps Script
- คลิกทำให้ใช้งานได้ > การนำการทดสอบไปใช้งาน
- คลิกติดตั้ง
- คลิกเสร็จสิ้นที่ด้านล่าง
คุณอนุญาตให้ผู้ใช้รายอื่นทดสอบส่วนเสริมได้โดยแชร์โปรเจ็กต์ Apps Script กับบัญชีของผู้ใช้ (ต้องมีสิทธิ์เข้าถึงระดับแก้ไข) จากนั้นแจ้งให้ผู้ใช้ทำตามขั้นตอนก่อนหน้า
เมื่อติดตั้งแล้ว ส่วนเสริมจะพร้อมใช้งานในโฟลว์ทันที คุณอาจต้องรีเฟรช Flows ก่อนที่ ส่วนเสริมจะปรากฏ คุณต้อง ให้สิทธิ์ส่วนเสริมก่อนใช้งานด้วย
ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งใช้งานเวอร์ชันทดสอบได้ที่ติดตั้งส่วนเสริมที่ยังไม่ได้เผยแพร่
เปิดโฟลว์
สร้างโฟลว์ที่มีขั้นตอนของคุณ
- คลิกโฟลว์ใหม่
- เลือกวิธีเริ่มโฟลว์ เมื่อทดสอบ ขั้นตอน คุณควรเลือกตัวเริ่มต้นที่คุณสามารถตั้งค่า ได้ด้วยตนเอง เช่น การส่งอีเมลถึงตัวคุณเอง หากขั้นตอนต้องใช้ตัวแปรอินพุต ให้กำหนดค่าตัวแปรอินพุตเป็นส่วนหนึ่งของเอาต์พุตของตัวเริ่มต้น
- คลิกเพิ่มขั้นตอน เลือกขั้นตอนที่คุณสร้างหรืออัปเดต ซึ่งเรียกว่าคำนวณ
- กำหนดค่าขั้นตอน สําหรับขั้นตอนการคํานวณ ให้เลือกค่า 2 ค่าและ การดําเนินการทางคณิตศาสตร์ ระบบจะบันทึกขั้นตอนโดยอัตโนมัติ
- หากต้องการทดสอบเอาต์พุตของขั้นตอน ให้เพิ่มอีกขั้นตอน เช่น หากต้องการเพิ่มเอาต์พุต ลงในข้อความอีเมล คุณอาจเพิ่มขั้นตอนส่งข้อความ ของ Gmail ในข้อความ ให้คลิก ตัวแปร แล้วเลือกเอาต์พุตของ ขั้นตอน สำหรับขั้นตอนการคำนวณ ให้เลือก ตัวแปร > ขั้นตอนที่ 2: ผลลัพธ์ที่คำนวณแล้ว > ผลลัพธ์ที่คำนวณแล้ว ตัวแปรจะปรากฏเป็นชิปในช่องข้อความ
- คลิกเปิด โฟลว์พร้อมทำงานแล้ว
เรียกใช้โฟลว์โดยการตั้งค่าตัวเริ่มต้นของโฟลว์ เช่น หากโฟลว์เริ่มต้นเมื่อคุณได้รับอีเมล ให้ส่งอีเมลถึงตัวคุณเอง
ตรวจสอบว่าโฟลว์ทำงานตามที่คาดไว้ ตรวจสอบบันทึกโดย ไปที่แท็บกิจกรรมของเครื่องมือสร้างโฟลว์ ดูวิธีสร้างบันทึกที่กําหนดเองในแท็บกิจกรรมได้ที่บันทึกกิจกรรม
หัวข้อที่เกี่ยวข้อง
- ตัวแปรอินพุต
- ตรวจสอบตัวแปรอินพุต
- ตัวแปรเอาต์พุต
- กำหนดทรัพยากรที่กำหนดเอง
- ตัวแปรแบบไดนามิก
- บันทึกกิจกรรมและข้อผิดพลาด
- ออบเจ็กต์เหตุการณ์ของโฟลว์