ClickIntegrationsfrom the left navigation menu to open theIntegrationspage.
Select an existing integration or create a new integration by clickingCreate integration.
If you are creating a new integration:
Enter a name and description in theCreate Integrationdialog.
Select a region for the integration.
Select a service account for the integration. You can change or update the service account details of an integration any time from theinfoIntegration summarypane in the integration toolbar.
ClickCreate.
This opens the integration in theintegration editor.
In theintegration editor, clickpublishUpload/download menuand then selectUpload integration.
In the file browser dialog, select the file that you saved in step 1, and then clickOpen.
A new version of the integration is created using the uploaded file.
In theintegration editor, clickTest.
ClickTest integration. This runs the integration and displays the execution result in theTest Integrationpane.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-09 UTC."],[[["\u003cp\u003eThis guide demonstrates how to update a JSON array's value at a specific index within Application Integration using the Data Mapping task.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves utilizing an input variable and storing the modified JSON array in a designated output JSON variable.\u003c/p\u003e\n"],["\u003cp\u003eThe provided code sample contains the configuration of an integration with field mapping logic to set the array value at index 2.\u003c/p\u003e\n"],["\u003cp\u003eInstructions are provided on how to upload and execute the sample integration within the Google Cloud console's Application Integration service.\u003c/p\u003e\n"],["\u003cp\u003eThe integration utilizes an API trigger, and sample \u003ccode\u003ejsonArray\u003c/code\u003e and \u003ccode\u003ejsonVar\u003c/code\u003e are shown in the integration parameters, along with the \u003ccode\u003eoutputJsonArray\u003c/code\u003e variable.\u003c/p\u003e\n"]]],[],null,["# Update JSON array at a specified index\n\nSee the [supported connectors](/integration-connectors/docs/connector-reference-overview) for Application Integration.\n\nUpdate JSON array at a specified index\n======================================\n\n\nUsing the Data Mapping task, update the value of a JSON array at a specified index using an input variable. Store the output in a new JSON variable.\n\nCode sample\n-----------\n\n {\n \"triggerConfigs\": [{\n \"label\": \"API Trigger\",\n \"startTasks\": [{\n \"taskId\": \"1\"\n }],\n \"properties\": {\n \"Trigger name\": \"tkApplicationIntegrationSample1_API_1\"\n },\n \"triggerType\": \"API\",\n \"triggerNumber\": \"1\",\n \"triggerId\": \"api_trigger/tkApplicationIntegrationSample1_API_1\"\n }],\n \"taskConfigs\": [{\n \"task\": \"FieldMappingTask\",\n \"taskId\": \"1\",\n \"parameters\": {\n \"FieldMappingConfigTaskParameterKey\": {\n \"key\": \"FieldMappingConfigTaskParameterKey\",\n \"value\": {\n \"jsonValue\": \"{\\n \\\"@type\\\": \\\"type.googleapis.com/enterprise.crm.eventbus.proto.FieldMappingConfig\\\",\\n \\\"mappedFields\\\": [{\\n \\\"inputField\\\": {\\n \\\"fieldType\\\": \\\"JSON_VALUE\\\",\\n \\\"transformExpression\\\": {\\n \\\"initialValue\\\": {\\n \\\"referenceValue\\\": \\\"$jsonArray$\\\"\\n },\\n \\\"transformationFunctions\\\": [{\\n \\\"functionType\\\": {\\n \\\"jsonFunction\\\": {\\n \\\"functionName\\\": \\\"TO_STRING_ARRAY\\\"\\n }\\n }\\n }, {\\n \\\"functionType\\\": {\\n \\\"stringArrayFunction\\\": {\\n \\\"functionName\\\": \\\"SET\\\"\\n }\\n },\\n \\\"parameters\\\": [{\\n \\\"initialValue\\\": {\\n \\\"literalValue\\\": {\\n \\\"intValue\\\": \\\"2\\\"\\n }\\n }\\n }, {\\n \\\"initialValue\\\": {\\n \\\"referenceValue\\\": \\\"$jsonVar$\\\"\\n },\\n \\\"transformationFunctions\\\": [{\\n \\\"functionType\\\": {\\n \\\"jsonFunction\\\": {\\n \\\"functionName\\\": \\\"TO_STRING\\\"\\n }\\n }\\n }]\\n }]\\n }, {\\n \\\"functionType\\\": {\\n \\\"stringArrayFunction\\\": {\\n \\\"functionName\\\": \\\"TO_JSON\\\"\\n }\\n }\\n }]\\n }\\n },\\n \\\"outputField\\\": {\\n \\\"referenceKey\\\": \\\"$outputJsonArray$\\\",\\n \\\"fieldType\\\": \\\"JSON_VALUE\\\",\\n \\\"cardinality\\\": \\\"OPTIONAL\\\"\\n }\\n }]\\n}\"\n }\n }\n },\n \"taskExecutionStrategy\": \"WHEN_ALL_SUCCEED\",\n \"displayName\": \"Data Mapping\"\n }],\n \"integrationParameters\": [{\n \"key\": \"outputJsonArray\",\n \"dataType\": \"JSON_VALUE\",\n \"displayName\": \"outputJsonArray\",\n \"inputOutputType\": \"OUT\",\n \"jsonSchema\": \"{\\n \\\"$schema\\\": \\\"http://json-schema.org/draft-04/schema#\\\",\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"prop1\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n}\"\n }, {\n \"key\": \"jsonArray\",\n \"dataType\": \"JSON_VALUE\",\n \"defaultValue\": {\n \"jsonValue\": \"[{\\n \\\"prop1\\\": \\\"val11\\\"\\n}, {\\n \\\"prop1\\\": \\\"val21\\\"\\n}, {\\n \\\"prop1\\\": \\\"val31\\\"\\n}, {\\n \\\"prop1\\\": \\\"val41\\\"\\n}]\"\n },\n \"displayName\": \"jsonArray\",\n \"jsonSchema\": \"{\\n \\\"$schema\\\": \\\"http://json-schema.org/draft-04/schema#\\\",\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"prop1\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n }\\n}\"\n }, {\n \"key\": \"jsonVar\",\n \"dataType\": \"JSON_VALUE\",\n \"defaultValue\": {\n \"jsonValue\": \"{\\n \\\"prop1\\\": \\\"valUserDefined\\\"\\n}\"\n },\n \"displayName\": \"jsonVar\",\n \"jsonSchema\": \"{\\n \\\"$schema\\\": \\\"http://json-schema.org/draft-04/schema#\\\",\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"prop1\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n }\\n}\"\n }]\n }\n\n### Sample integration flow\n\nThe following image shows a sample layout of the integration editor for this integration code sample.\n\n\nUpload and run the sample integration\n-------------------------------------\n\nTo upload and run the sample integration, do the following steps:\n\n1. Save the [integration sample](#code-sample) as a .json file on your system.\n2. In the Google Cloud console, go to the **Application Integration** page.\n\n [Go to Application Integration](https://console.cloud.google.com/integrations)\n3. Click **Integrations** from the left navigation menu to open the **Integrations** page.\n4. Select an existing integration or create a new integration by clicking **Create integration** .\n\n\n If you are creating a new integration:\n 1. Enter a name and description in the **Create Integration** dialog.\n 2. Select a region for the integration. **Note:** The **Regions** dropdown only lists the regions provisioned in your Google Cloud project. To provision a new region, Click **Enable Region** . See [Enable new region](/application-integration/docs/enable-new-region) for more information.\n 3. Select a service account for the integration. You can change or update the service account details of an integration any time from the info **Integration summary** pane in the integration toolbar. **Note:** The option to select a service account is displayed only if you have enabled integration governance for the selected region.\n 4. Click **Create**.\n\n\n This opens the integration in the *integration editor*.\n5. In the *integration editor* , click publish**Upload/download menu** and then select **Upload integration**.\n6. In the file browser dialog, select the file that you saved in step 1, and then click **Open** .\n\n A new version of the integration is created using the uploaded file.\n7. In the *integration editor* , click **Test**.\n8. Click **Test integration** . This runs the integration and displays the execution result in the **Test Integration** pane."]]