---
title: "Extract grid data for custom tables"
canonical_url: "https://www.nutrient.io/guides/workflow-automation/faq/how-can-i-extract-grid-data-to-add-it-to-custom-tables/"
md_url: "https://www.nutrient.io/guides/workflow-automation/faq/how-can-i-extract-grid-data-to-add-it-to-custom-tables.md"
last_updated: "2026-09-02T09:24:06.435Z"
description: "Learn to extract grid data for custom tables with practical SQL examples for better data management."
---

# Efficiently extract grid data for custom tables

In order to extract grid data to add it to custom tables, you would have to couple it with an actual form export with the grid.

**_Disclaimer: This information is subject to change_**

##### Example of getting individual grid cell values:

--@cashflow is a parameter passing in the grid question json data

--gridCellValues[0] references the first row of the grid

--‘$.”Qtr 1”’ references the column in the row

set @capy1q1=(select * from openjson(@cashflow,'$.gridCellValues[0]') WITH(vcInvestCapitalY1Q1 varchar(15) '$."Qtr 1"'))

set @capy1q2=(select * from openjson(@cashflow,'$.gridCellValues[0]') WITH(vcInvestCapitalY1Q2 varchar(15) '$."Qtr 2"'))

set @capy1q3=(select * from openjson(@cashflow,'$.gridCellValues[0]') WITH(vcInvestCapitalY1Q3 varchar(15) '$."Qtr 3"'))

set @capy1q4=(select * from openjson(@cashflow,'$.gridCellValues[0]') WITH(vcInvestCapitalY1Q4 varchar(15) '$."Qtr 4"'))

##### Example of returning all rows in the grid as separate rows in a sql select:

--inserts the grid rows into a custom table as separate rows/records

insert into tblInvestments(unqInstance_GUID,chInvestmentType,vcWBSCategoryCode,vcWBSCategoryName,intSortOrder,vcPercent,vcThisRequest,vcPriorRequests,vcFutureRequests)\
select @isid,'C',* -- '*' is shorthand for the seven column values being extracted\
--from the grid data via the OPENJSON call below\
from OPENJSON(@invC,'$.gridCellValues')\
WITH(\
vcWBSCategoryCode nchar(10) '$."WBSCat"',\
vcWBSCategoryName varchar(50) '$.Investment',\
intSortOrder integer '$."Sort Order"',\
vcPercent varchar(8) '$.Percent',\
vcThisRequest varchar(15) '$."This Request"',\
vcPriorRequests varchar(15) '$."Prior Requests"',\
vcFutureRequests varchar(15) '$."Future Requests"')

---

> Part of [Frequently asked questions](/guides/workflow-automation/faq.md)

## Related pages

- [Connect Nutrient Workflow to an external SQL Server database](/guides/workflow-automation/faq/adding-sql-server-db-to-nutrient-workflow.md)
- [Add tables to email notifications easily](/guides/workflow-automation/faq/adding-tables-to-email-notifications.md)
- [Streamline task management with the Form Assigner](/guides/workflow-automation/faq/assign-future-tasks-with-the-form-assigner.md)
- [Customize your login screen with these easy tips](/guides/workflow-automation/faq/can-i-change-the-login-screen.md)
- [Changing milestone task names in project management](/guides/workflow-automation/faq/can-i-change-the-name-of-a-milestone-task-on-a-process-in-production.md)
- [Migrating requests in workflow automation processes](/guides/workflow-automation/faq/can-i-migrate-a-group-of-requests-from-one-version-of-a-process-to-an-updated-version.md)
- [Streamline file uploads to SharePoint with Nutrient Workflow](/guides/workflow-automation/faq/can-nutrient-workflow-pass-files-into-sharepoint.md)
- [Authenticate HTML forms with SAML securely](/guides/workflow-automation/faq/can-we-authenticate-with-saml-when-hosting-html-forms-outside-the-nutrient-workflow-portal.md)
- [Preventing request ID creation until task completion](/guides/workflow-automation/faq/can-we-prevent-a-new-request-id-from-being-created-until-a-task-completed.md)
- [Mastering the coalesce technique for workflows](/guides/workflow-automation/faq/coalescing-data-ai-an-advanced-nutrient-workflow-technique.md)
- [Master table maintenance with Nutrient Workflow processes](/guides/workflow-automation/faq/creating-a-table-maintenance-process.md)
- [Streamline onboarding with ad-hoc related requests](/guides/workflow-automation/faq/creating-ad-hoc-related-requests.md)
- [Customize your Nutrient Workflow logo with ease](/guides/workflow-automation/faq/custom-logo.md)
- [Do disabled users receive notifications in Nutrient Workflow?](/guides/workflow-automation/faq/do-notifications-get-sent-out-to-users-that-have-been-disabled.md)
- [Document Generation vs. PDF generator in workflow automation](/guides/workflow-automation/faq/document-generation-vs-pdf-generator.md)
- [Maximize task management with Nutrient Workflow's solutions](/guides/workflow-automation/faq/does-nutrient-workflow-support-leap-year-dates.md)
- [Enhance Nutrient Workflow security with two-factor authentication](/guides/workflow-automation/faq/does-nutrient-workflow-support-two-factor-authentication.md)
- [Understanding task resets and user reassignments](/guides/workflow-automation/faq/does-the-user_recent_activity-store-data-when-a-user-resets-or-re-assign-a-task.md)
- [Embed Outlook and Google calendars in your dashboard](/guides/workflow-automation/faq/embedding-calendars-in-dashboards.md)
- [Paste spreadsheet rows into a grid](/guides/workflow-automation/faq/how-can-i-paste-spreadsheet-rows-into-line-items.md)
- [Access your private database server easily](/guides/workflow-automation/faq/how-do-i-access-my-private-database-server.md)
- [Enable AUTH for secure Nutrient Workflow and Redis setup](/guides/workflow-automation/faq/how-do-i-enable-auth-for-nutrient-workflow-to-redis-communication.md)
- [Force users to change passwords on next login](/guides/workflow-automation/faq/how-do-i-force-a-user-to-change-their-password-on-the-next-login.md)
- [Enhance local communication in your application](/guides/workflow-automation/faq/how-do-i-force-local-communication-within-the-application.md)
- [Import active directory users with ADSync easily](/guides/workflow-automation/faq/how-do-i-import-active-directory-users-into-nutrient-workflow-using-adsync.md)
- [How to limit file attachment size in Nutrient Workflow](/guides/workflow-automation/faq/how-do-i-limit-the-allowed-max-file-attachment-size.md)
- [Make your process lines straight with grid option](/guides/workflow-automation/faq/how-do-i-make-the-lines-in-a-process-straight.md)
- [Easily prefill contact search fields in forms](/guides/workflow-automation/faq/how-do-i-prefill-in-a-contact-search.md)
- [Schedule a process](/guides/workflow-automation/faq/how-do-i-schedule-a-process.md)
- [Submit a help ticket at the Nutrient Workflow support site](/guides/workflow-automation/faq/how-do-i-submit-a-support-ticket.md)
- [Editing request details in active workflows](/guides/workflow-automation/faq/how-do-you-edit-request-description-and-other-fields-after-the-workflow-has-started.md)
- [Understanding user concurrency in Nutrient Workflow](/guides/workflow-automation/faq/how-is-user-concurrency-determined-for-my-installation.md)
- [Clear browser cache for smooth workflow](/guides/workflow-automation/faq/how-to-clear-your-browser-cache.md)
- [Master dynamic task and request naming effectively](/guides/workflow-automation/faq/how-to-configure-dynamic-task-and-request-names.md)
- [How to reset your Nutrient Workflow password easily](/guides/workflow-automation/faq/i-forgot-my-password.md)
- [Automate your report from a set starting date](/guides/workflow-automation/faq/i-would-like-to-set-a-report-to-run-from-a-set-date-say-1-1-15-through-the-current-day-today-how-can-i-set-my-report-to-do.md)
- [Edit request names seamlessly with dynamic names](/guides/workflow-automation/faq/is-there-a-way-to-edit-the-name-of-a-request-after-it-has-been-submitted.md)
- [Understanding time_out configuration in workflow automation](/guides/workflow-automation/faq/is-there-any-negative-impact-if-we-change-the-time_out-configuration-on-a-task-in-a-process-in-status-production.md)
- [Understanding account lockout rules in Nutrient Workflow](/guides/workflow-automation/faq/is-there-any-way-to-configure-account-lockout-rules.md)
- [Optimize your workflow with Microsoft Nutrient Workflow integration](/guides/workflow-automation/faq/nutrient-workflow-integrate-microsoft-products.md)
- [Understanding the Nutrient Workflow and PSPDFKit acquisition](/guides/workflow-automation/faq/pspdfkit-acquisition.md)
- [Understanding requesters vs. recipients in workflows](/guides/workflow-automation/faq/the-difference-between-a-requester-and-a-recipient.md)
- [Upgrade your select list fields for better forms](/guides/workflow-automation/faq/upgrading-select-list-fields.md)
- [Streamline task assignments with Assigner tasks](/guides/workflow-automation/faq/using-assigner-tasks.md)
- [Optimize your workflows with Excel integration](/guides/workflow-automation/faq/using-excel-to-enhance-your-automation.md)
- [Best practices for testing workflows in Nutrient Workflow](/guides/workflow-automation/faq/what-are-best-practices-for-testing-in-nutrient-workflow.md)
- [Discover Nutrient Workflow's browser compatibility](/guides/workflow-automation/faq/what-browsers-does-nutrient-workflow-support.md)
- [Understanding character limits for form inputs](/guides/workflow-automation/faq/what-character-limits-apply-to-the-form-input-fields.md)
- [Key steps for successful Nutrient Workflow load balancing](/guides/workflow-automation/faq/what-do-i-need-to-change-when-i-load-balance-nutrient-workflow.md)
- [What Does 'Create a Copy of this Request' Do?](/guides/workflow-automation/faq/what-does-aucreate-a-copy-of-this-request-au-do.md)
- [Enhance your subscription with admin coaching support](/guides/workflow-automation/faq/what-is-admin-coaching.md)
- [Expert advanced technical support for Nutrient Workflow](/guides/workflow-automation/faq/what-is-advanced-technical-support-ats.md)
- [What is 'Submit on Behalf of:' when starting a new request?](/guides/workflow-automation/faq/what-is-submit-on-behalf-of-when-starting-a-new-request.md)
- [Best practices for archiving request data](/guides/workflow-automation/faq/what-is-the-best-practice-for-archiving-request-data-eg-attachments.md)
- [What is the difference between Monitor and Manage Requests?](/guides/workflow-automation/faq/what-is-the-difference-between-monitor-and-manage-requests.md)
- [Understanding the iapprove master root account](/guides/workflow-automation/faq/what-is-the-iapprove-account.md)
- [Streamline workflows with the PDF Generator Task](/guides/workflow-automation/faq/what-is-the-pdf-generator-task.md)
- [Future logging features for workflow automation](/guides/workflow-automation/faq/when-a-nutrient-workflow-administrator-performs-a-task-resets-or-redo-completion-is-there-a-logging-table-where-this-information-is-st.md)
- [Essential guide to workflow versioning](/guides/workflow-automation/faq/when-to-version-a-production-workflow.md)
- [Understanding Nutrient Workflow log files for troubleshooting](/guides/workflow-automation/faq/where-are-the-logs-for-my-onpremise-installation-what-do-they-contain-and-what-should-i-look-out-for.md)
- [Fixing missing fields in form data settings](/guides/workflow-automation/faq/why-are-fields-from-my-form-not-showing-up-in-data-configurations.md)

