{"id":194371,"date":"2026-09-03T15:40:41","date_gmt":"2026-09-03T06:40:41","guid":{"rendered":"https:\/\/support.questetra.com\/?p=194371"},"modified":"2026-09-03T15:40:42","modified_gmt":"2026-09-03T06:40:42","slug":"message-start-event-http-gas","status":"publish","type":"post","link":"https:\/\/support.questetra.com\/en\/developer-blog\/message-start-event-http-gas\/","title":{"rendered":"Starting a Case from Outside of Questetra BPM Suite (Google Apps Script Chapter)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Inventory lists, client lists, pending tasks lists. There are situations where you want to feed only the rows that currently require action from a table managed in Google Sheets directly into a workflow. Re-entering row data into a Case creation form by hand is tedious and leads to transcription errors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this article, we will call a [Message Start Event (HTTP)] from Google Apps Script. By clicking a custom menu added to the spreadsheet, you can trigger a Case containing the contents of the selected row. The defining feature of this method is that a person can select which specific row to process into a Case, rather than processing every row mechanically. Using an example of starting a purchase order Case from an inventory list, we will build everything from adding the custom menu to writing the started Case ID back to the row.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"417\" data-attachment-id=\"194383\" data-permalink=\"https:\/\/support.questetra.com\/en\/developer-blog\/message-start-event-http-gas\/attachment\/gsheet-start-from-selected-row1\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row1.png?fit=1373%2C559&amp;ssl=1\" data-orig-size=\"1373,559\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"gsheet-start-from-selected-row1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row1.png?fit=1024%2C417&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row1.png?resize=1024%2C417&#038;ssl=1\" alt=\"\" class=\"wp-image-194383\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row1.png?resize=1024%2C417&amp;ssl=1 1024w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row1.png?resize=600%2C244&amp;ssl=1 600w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row1.png?resize=768%2C313&amp;ssl=1 768w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row1.png?w=1373&amp;ssl=1 1373w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Preparation: Information to Note Before Writing the Script<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Place a [Message Start Event (HTTP)] in your workflow app and set up the data items to receive data from the sheet. The setup process follows the preparation guide. Before writing the script, make a note of the following 3 items:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Request URL (Formatted as <code>https:\/\/...\/System\/Event\/MessageStart\/...\/start<\/code>)<\/li>\n\n\n\n<li>API Key<\/li>\n\n\n\n<li>Field names of the data items receiving the data (Names starting with <code>q_<\/code>)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This article proceeds assuming the following data items have been created:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Data Item Name<\/strong><\/td><td><strong>Data Type<\/strong><\/td><td><strong>Field Name<\/strong><\/td><\/tr><tr><td>Item Name<\/td><td>String<\/td><td>q_item<\/td><\/tr><tr><td>Model Number<\/td><td>String<\/td><td>q_model<\/td><\/tr><tr><td>Order Quantity<\/td><td>Numeric<\/td><td>q_quantity<\/td><\/tr><tr><td>Requested Delivery Date<\/td><td>Date (Y\/M\/D)<\/td><td>q_dueDate<\/td><\/tr><tr><td>Supplier<\/td><td>String<\/td><td>q_supplier<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Set the data editing permissions to &#8220;Editable&#8221;, including the &#8220;Title&#8221;. The title is sent with the parameter name <code>title<\/code>. Please refer to the following for parameter formats by data type:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/questetra.zendesk.com\/hc\/en-us\/articles\/360016441572\">R2210: Parameters and Sample Settings for HTTP Request Receivers<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/en\/developer-blog\/message-start-event-http-curl\/\">Starting a Case from Outside Questetra BPM Suite (curl Edition)<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Bypassing IP Address Restrictions from Google Apps Script<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Caution is needed regarding the IP address restrictions explained in the preparation guide when dealing with Google Apps Script. The source IP address used when Google Apps Script sends requests is managed by Google, and users cannot fix it to a static IP. Therefore, you cannot practically specify a specific IP address for the allowed network, so you will need to specify <code>0.0.0.0\/0<\/code> (Allow all). There is no need to loosen your overall system settings. In the IP Address Restrictions under [Message Start Event\/Receiving Task Settings], you can target just this start event and specify <code>0.0.0.0\/0<\/code>, leaving restrictions for other URLs intact.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this scenario, endpoint protection relies solely on the API key. Do not generate the API key value manually; let the Modeler auto-generate it (using the [Generate Key] button). Also, do not hardcode it directly into the script\u2014store it in Script Properties as described next.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Note that this setting can only be performed by accounts with System Administrator privileges. This is distinct from app creation permissions, so if you lack these privileges, please consult your System Administrator.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sheet Columns and Write-Back Columns<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Line 1 serves as the header row, and line 2 onwards represents individual records (one item per row). This article assumes the following columns are present:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Item Name<\/li>\n\n\n\n<li>Model Number<\/li>\n\n\n\n<li>Order Quantity<\/li>\n\n\n\n<li>Requested Delivery Date<\/li>\n\n\n\n<li>Supplier<\/li>\n\n\n\n<li>Case ID<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">&#8220;Case ID&#8221; is the column used to write back the ID of the initiated Case. Rows containing a value in this column are considered already processed, preventing Cases from starting again if the menu is clicked repeatedly. This prevents duplicate Cases from being initiated from the same row.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Storing the API Key<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Do not write the API key in the main script body; store it in Script Properties instead. In the Apps Script Editor, go to [Project Settings] &gt; &#8220;Script Properties&#8221; and register the key under the property name <code>QUESTETRA_API_KEY<\/code>. This prevents the API key from being inadvertently exposed when copying and sharing the script code itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, anyone shared on the sheet with Edit permissions can open the Apps Script Editor and read the values in Script Properties. Share the sheet with Viewer permissions for users who should not see the API key.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Writing the Script<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open [Extensions] &gt; [Apps Script] from the spreadsheet menu and paste the following script. Replace <code>ENDPOINT<\/code> with the request URL noted during preparation. If the request URL includes <code>?key=<\/code> or subsequent parameters, use only the portion before <code>?<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While the preparation guide explains that using this URL as-is sends the API key along with it, the script in this article reads the API key from Script Properties and sends it inside the request body. If <code>?key=<\/code> remains in the URL, the API key will be declared twice, resulting in an error even if the key value is correct.<\/p>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><details><summary class=\"wp-block-coblocks-accordion-item__title\">Script (click to open)<\/summary><div class=\"wp-block-coblocks-accordion-item__content\">\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\nconst ENDPOINT = &#39;https:\/\/example.questetra.net\/System\/Event\/MessageStart\/1234\/0\/start&#39;;\nfunction onOpen() {\n  SpreadsheetApp.getUi()\n    .createMenu(&#39;Questetra BPM Suite&#39;)\n    .addItem(&#39;Start Case from Selected Row&#39;, &#39;startCaseFromSelectedRow&#39;)\n    .addToUi();\n}\nfunction startCaseFromSelectedRow() {\n  const ui = SpreadsheetApp.getUi();\n  const sheet = SpreadsheetApp.getActiveSheet();\n  const row = sheet.getActiveRange().getRow();\n  if (row === 1) {\n    ui.alert(&#39;The header row is selected. Please select a data row.&#39;);\n    return;\n  }\n  const header = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];\n  const values = sheet.getRange(row, 1, 1, sheet.getLastColumn()).getValues()[0];\n  const record = {};\n  header.forEach(function (name, i) { record[name] = values[i]; });\n  if (record[&#39;Case ID&#39;]) {\n    ui.alert(&#39;A case has already been started for this row (Case ID: &#39; + record[&#39;Case ID&#39;] + &#39;).&#39;);\n    return;\n  }\n  const apiKey = PropertiesService.getScriptProperties().getProperty(&#39;QUESTETRA_API_KEY&#39;);\n  if (!apiKey) {\n    ui.alert(&#39;The script property QUESTETRA_API_KEY is not registered.&#39;);\n    return;\n  }\n  const payload = {\n    key: apiKey,\n    title: &#39;Order for &#39; + record[&#39;Item Name&#39;],\n    q_item: record[&#39;Item Name&#39;],\n    q_model: record[&#39;Model Number&#39;],\n    q_quantity: String(record[&#39;Order Quantity&#39;]),\n    q_dueDate: Utilities.formatDate(record[&#39;Requested Delivery Date&#39;], &#39;Asia\/Tokyo&#39;, &#39;yyyy-MM-dd&#39;),\n    q_supplier: record[&#39;Supplier&#39;]\n  };\n  const response = UrlFetchApp.fetch(ENDPOINT, {\n    method: &#39;post&#39;,\n    payload: payload,\n    muteHttpExceptions: true\n  });\n  if (response.getResponseCode() !== 200) {\n    ui.alert(&#39;Failed to start the case.\\nResponse Code: &#39; + response.getResponseCode()\n      + &#39;\\nResponse Content: &#39; + response.getContentText());\n    return;\n  }\n  const caseId = response.getContentText().trim();\n  sheet.getRange(row, header.indexOf(&#39;Case ID&#39;) + 1).setValue(caseId);\n  ui.alert(&#39;Started case successfully (Case ID: &#39; + caseId + &#39;).&#39;);\n}<\/code><\/pre><\/div>\n<\/div><\/details><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Data is retrieved by column name.<\/strong> Parameters are constructed using the text from the header row, so there is no need to update the script if column order changes. If you rename column headers directly, adjust <code>record['...']<\/code> in the script accordingly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ensure the header &#8220;Case ID&#8221; matches the script string character-for-character.<\/strong> If the space is missing or written differently, both the double-trigger check and the Case ID write-back will fail.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Only the top row of the selection triggers a Case.<\/strong> Even if multiple rows are selected, subsequent rows are ignored.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Order quantity is explicitly converted to string using <code>String()<\/code> before sending.<\/strong> If passed as a numeric primitive into <code>payload<\/code>, <code>20<\/code> is transmitted as <code>20.0<\/code>, causing an error on data items set to 0 decimal places. See below for details.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Passing an object to <code>payload<\/code> formats and sends it as <code>application\/x-www-form-urlencoded<\/code>.<\/strong> This format is expected by [Message Start Event (HTTP)].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><code>muteHttpExceptions: true<\/code> is included.<\/strong> Without this, an error response triggers an uncaught exception on Google Apps Script, preventing you from inspecting error messages returned by Questetra BPM Suite.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Displaying the Menu and Initial Authorization<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>onOpen<\/code> function runs automatically whenever the spreadsheet is opened. Once saved, reloading the spreadsheet adds [Questetra BPM Suite] to the menu bar. Simply saving is sufficient; web app deployment operations are unnecessary.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Services requiring authorization like <code>UrlFetchApp<\/code> cannot be invoked directly within <code>onOpen<\/code>. Keep <code>onOpen<\/code> responsible solely for menu creation, deferring network calls to functions triggered via menu items.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Clicking [Start Case from Selected Row] for the first time displays a Google account authorization prompt. Because the script reads\/writes spreadsheet data and initiates external connections, you will authorize both permissions. Authorization is required once per user executing the script. Assign a project name at the top of the editor prior to running, as this title appears directly on authorization prompts.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1383\" height=\"558\" data-attachment-id=\"194385\" data-permalink=\"https:\/\/support.questetra.com\/en\/developer-blog\/message-start-event-http-gas\/attachment\/gsheet-start-from-selected-row2\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row2.png?fit=1383%2C558&amp;ssl=1\" data-orig-size=\"1383,558\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"gsheet-start-from-selected-row2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row2.png?fit=1024%2C413&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row2.png?resize=1383%2C558&#038;ssl=1\" alt=\"\" class=\"wp-image-194385\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row2.png?w=1383&amp;ssl=1 1383w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row2.png?resize=600%2C242&amp;ssl=1 600w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row2.png?resize=1024%2C413&amp;ssl=1 1024w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2026\/09\/gsheet-start-from-selected-row2.png?resize=768%2C310&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Format of Transmitted Values<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sending cell values directly without formatting may produce unexpected formats.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Dates and Timestamps<\/strong> \u2014 Date values in cells are evaluated as JavaScript Date objects. Convert them to string using <code>Utilities.formatDate(value, 'Asia\/Tokyo', 'yyyy-MM-dd')<\/code> prior to transmission. Empty cells resolve to empty strings instead of Date objects, causing <code>Utilities.formatDate<\/code> to throw an error. For optional columns, evaluate conditionally: <code>record['Requested Delivery Date'] ? Utilities.formatDate(record['Requested Delivery Date'], 'Asia\/Tokyo', 'yyyy-MM-dd') : ''<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Select Options<\/strong> \u2014 For select-type data items, send option IDs rather than display labels. Maintain option IDs directly within sheet columns, or convert display labels to IDs programmatically within the script.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Numbers<\/strong> \u2014 Numeric cell values are retrieved as primitive numbers. Passing them directly into <code>payload<\/code> sends <code>20<\/code> as <code>20.0<\/code>, which triggers an error on integer data items requiring zero decimal places (&#8220;Decimals must be 0&#8221;). Logging via <code>JSON.stringify<\/code> still shows <code>20<\/code>, making this issue tricky to spot. Always cast values to string using <code>String(record['Order Quantity'])<\/code> before sending. Use periods for decimal points. If numbers include formatting like <code>1,234<\/code>, strip commas with <code>String(value).replace(\/,\/g, '')<\/code>. Setting data validation rules on the sheet columns helps prevent non-numeric values entirely.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Troubleshooting<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When response codes other than 200 are returned, the script displays the exact response content. Inspect that message first.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If response code is 403, verify IP Address Restriction settings<\/li>\n\n\n\n<li>If response code is 400 and returns XML, the request format was rejected<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The XML returned with status 400 simply contains <code>&lt;detail&gt;Invalid.&lt;\/detail&gt;<\/code> without specifying root causes. Check the following items in sequence:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Does the API key match the value displayed in Modeler? (Recheck Script Properties)<\/li>\n\n\n\n<li>Is the API key being sent twice? (Ensure <code>?key=<\/code> is stripped from <code>ENDPOINT<\/code>)<\/li>\n\n\n\n<li>Are parameters supplied for all mandatory data items?<\/li>\n\n\n\n<li>Do parameter names (starting with <code>q_<\/code>) and value formats match data item definitions?<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">For detailed procedures on isolating root causes, see the following articles:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/support.questetra.com\/en\/developer-blog\/message-start-event-http-error\/\">Starting a Case from Outside Questetra BPM Suite (Troubleshooting Edition)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/en\/developer-blog\/debug-http-start\/\">Starting a Case from Outside Questetra BPM Suite (Debugging Edition)<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Series Index<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Series: &#8220;Starting a Case from Outside Questetra BPM Suite&#8221;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/support.questetra.com\/en\/developer-blog\/message-start-event-http-browser\/\">Preparation Edition<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/en\/developer-blog\/message-start-event-http-curl\/\">curl Edition<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/en\/developer-blog\/message-start-event-http-python\/\">Python Edition<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/en\/developer-blog\/case-starter-wp-form\/\">WordPress Form Edition (Case Starter Form)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/en\/developer-blog\/http-case-start-sequential\/\">Sequential Trigger Edition<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/en\/developer-blog\/message-start-event-http-error\/\">Troubleshooting Edition<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.questetra.com\/en\/developer-blog\/debug-http-start\/\">Debugging Edition<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Reference<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/support.questetra.com\/en\/bpmn-icons\/message-start-event-http\/\">BPMN Element: Message Start Event (HTTP)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/questetra.zendesk.com\/hc\/en-us\/articles\/360016441572\">R2210: Parameters and Sample Settings for HTTP Request Receivers<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Inventory lists, client lists, pending tasks lists. There are situations where you want to feed only the rows that currently require action from a table managed in Google Sheets directly into a workflow. Re-entering row data into a Case creation form by hand is tedious and leads to transcription errors. In this article, we will [&hellip;]<\/p>\n","protected":false},"author":30,"featured_media":102647,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_uag_custom_page_level_css":"","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[296],"tags":[],"faq_section":[],"class_list":["post-194371","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developer-blog"],"jetpack_publicize_connections":[],"uagb_featured_image_src":{"full":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?fit=1200%2C675&ssl=1",1200,675,false],"thumbnail":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=440%2C440&ssl=1",440,440,true],"medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?fit=560%2C315&ssl=1",560,315,true],"medium_large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?fit=768%2C432&ssl=1",768,432,true],"large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?fit=1024%2C576&ssl=1",1024,576,true],"1536x1536":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?fit=1200%2C675&ssl=1",1200,675,true],"2048x2048":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?fit=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-portrait-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=900%2C675&ssl=1",900,675,true],"newspack-article-block-square-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=800%2C600&ssl=1",800,600,true],"newspack-article-block-portrait-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=600%2C675&ssl=1",600,675,true],"newspack-article-block-square-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=800%2C675&ssl=1",800,675,true],"newspack-article-block-landscape-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=600%2C450&ssl=1",600,450,true],"newspack-article-block-portrait-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=450%2C600&ssl=1",450,600,true],"newspack-article-block-square-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=600%2C600&ssl=1",600,600,true],"newspack-article-block-landscape-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=400%2C300&ssl=1",400,300,true],"newspack-article-block-portrait-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=300%2C400&ssl=1",300,400,true],"newspack-article-block-square-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=400%2C400&ssl=1",400,400,true],"newspack-article-block-landscape-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=200%2C150&ssl=1",200,150,true],"newspack-article-block-portrait-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=150%2C200&ssl=1",150,200,true],"newspack-article-block-square-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?resize=200%2C200&ssl=1",200,200,true],"newspack-article-block-uncropped":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?fit=1200%2C675&ssl=1",1200,675,true]},"uagb_author_info":{"display_name":"Peter Glover","author_link":"https:\/\/support.questetra.com\/en\/author\/petergloverquestetra\/"},"uagb_comment_info":0,"uagb_excerpt":"Inventory lists, client lists, pending tasks lists. There are situations where you want to feed only the rows that currently require action from a table managed in Google Sheets directly into a workflow. Re-entering row data into a Case creation form by hand is tedious and leads to transcription errors. In this article, we will&hellip;","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9DiIh-Oz1","jetpack-related-posts":[{"id":72429,"url":"https:\/\/support.questetra.com\/en\/developer-blog\/master-data-management\/","url_meta":{"origin":194371,"position":0},"title":"Several Ways to Manage Master Data with Questetra","author":"Tsuyoshi Kusaka","date":"2017-09-19","format":false,"excerpt":"Hi there! The topic I am going to talk about this time is related with utilizing Questetra, as well as system collaboration. Management of master data associated with Questetra is one of the common agendas. There are cases where you prepare an approval flow when registering\/modifying\/deleting master data, which Questetra\u2026","rel":"","context":"In &quot;Questetra Developers Blog&quot;","block_context":{"text":"Questetra Developers Blog","link":"https:\/\/support.questetra.com\/en\/category\/developer-blog\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2017\/09\/master-data-management-1200x675-1.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2017\/09\/master-data-management-1200x675-1.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2017\/09\/master-data-management-1200x675-1.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2017\/09\/master-data-management-1200x675-1.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2017\/09\/master-data-management-1200x675-1.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":78460,"url":"https:\/\/support.questetra.com\/en\/developer-blog\/choices-google-sheets\/","url_meta":{"origin":194371,"position":1},"title":"Utilize Customer Data on Google Sheets as Choices","author":"Hirotaka NISHI","date":"2020-04-23","format":false,"excerpt":"Get the Customer List stored in Google Sheet via API, and save\/use it as the Options Master.","rel":"","context":"In &quot;Questetra Developers Blog&quot;","block_context":{"text":"Questetra Developers Blog","link":"https:\/\/support.questetra.com\/en\/category\/developer-blog\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/google-sheet-choice-master-featured-image.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/google-sheet-choice-master-featured-image.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/google-sheet-choice-master-featured-image.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/google-sheet-choice-master-featured-image.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/07\/google-sheet-choice-master-featured-image.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":82087,"url":"https:\/\/support.questetra.com\/en\/developer-blog\/excel-online-questetra\/","url_meta":{"origin":194371,"position":2},"title":"How to Output Data to Excel Online From the Cloud-based Workflow Questetra (API Integration Setting Procedure)","author":"Tsuyoshi Kusaka","date":"2019-11-06","format":false,"excerpt":"Questetra BPM Suite \u2192 Excel Online \u3078\u306e\u9023\u643a\u306e\u8a2d\u5b9a\u306b\u3064\u3044\u3066\u307e\u3068\u3081\u307e\u3057\u305f","rel":"","context":"In &quot;Questetra Developers Blog&quot;","block_context":{"text":"Questetra Developers Blog","link":"https:\/\/support.questetra.com\/en\/category\/developer-blog\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/excelonline-questetra-eyecatch.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/excelonline-questetra-eyecatch.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/excelonline-questetra-eyecatch.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/excelonline-questetra-eyecatch.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/10\/excelonline-questetra-eyecatch.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":116684,"url":"https:\/\/support.questetra.com\/en\/developer-blog\/google-sheet-table-add-sum\/","url_meta":{"origin":194371,"position":3},"title":"Adding Table Values to Google Sheets and Getting the Aggregate Value","author":"Hirotaka NISHI","date":"2021-11-11","format":false,"excerpt":"Adds the contents of a Table-type Data Item to a Google Sheet and retrieves the aggregated value. Various aggregations can be performed automatically depending on the spreadsheet settings.","rel":"","context":"In &quot;Questetra Developers Blog&quot;","block_context":{"text":"Questetra Developers Blog","link":"https:\/\/support.questetra.com\/en\/category\/developer-blog\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/11\/eyecatch-google-sheet-table-add-sum-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/11\/eyecatch-google-sheet-table-add-sum-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/11\/eyecatch-google-sheet-table-add-sum-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/11\/eyecatch-google-sheet-table-add-sum-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/11\/eyecatch-google-sheet-table-add-sum-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":113992,"url":"https:\/\/support.questetra.com\/en\/versions\/version-1320\/","url_meta":{"origin":194371,"position":4},"title":"Ver.13.2 2021-10-10  Added Auto-step for Data Linkage to Google BigQuery","author":"Hirotaka NISHI","date":"2021-09-27","format":false,"excerpt":"You will be able to link data to Google BigQuery. In addition, the integration with Google Sheets will be strengthened, and the form Javascript API will be available for some data types.","rel":"","context":"In &quot;Version Info&quot;","block_context":{"text":"Version Info","link":"https:\/\/support.questetra.com\/en\/category\/versions\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/version-1320-fi-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/version-1320-fi-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/version-1320-fi-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/version-1320-fi-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/version-1320-fi-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":119881,"url":"https:\/\/support.questetra.com\/en\/developer-blog\/google-sheets-employee-master\/","url_meta":{"origin":194371,"position":5},"title":"Managing Employee Information in Google Spreadsheets with Workflow Apps","author":"Peter Glover","date":"2022-05-11","format":false,"excerpt":"Introducing an application to manipulate employee information managed in Google Spreadsheets from Questetra.","rel":"","context":"In &quot;Questetra Developers Blog&quot;","block_context":{"text":"Questetra Developers Blog","link":"https:\/\/support.questetra.com\/en\/category\/developer-blog\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/03\/google-sheet-employee-master-fi-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/03\/google-sheet-employee-master-fi-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/03\/google-sheet-employee-master-fi-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/03\/google-sheet-employee-master-fi-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/03\/google-sheet-employee-master-fi-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"amp_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/message-start-event-http-1200x675-1.png?fit=1200%2C675&ssl=1","_links":{"self":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/194371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/comments?post=194371"}],"version-history":[{"count":11,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/194371\/revisions"}],"predecessor-version":[{"id":194634,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/194371\/revisions\/194634"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media\/102647"}],"wp:attachment":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media?parent=194371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/categories?post=194371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/tags?post=194371"},{"taxonomy":"faq_section","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/faq_section?post=194371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}