# Contact Center HTTP Widget

**URL:** <https://devforum.zoom.us/t/contact-center-http-widget/130081>\
**Category:** Contact Center\
**Created:** [March 18, 2025, 3:21pm UTC](https://devforum.zoom.us/t/contact-center-http-widget/130081 "2025-03-18T15:21:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![emily.garner](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/emily.garner/32/62785_2.png) [@emily.garner](https://devforum.zoom.us/u/emily.garner)\
**Post date:** [March 18, 2025, 3:21pm UTC](https://devforum.zoom.us/t/contact-center-http-widget/130081/1 "2025-03-18T15:21:41Z")

</div>

For the “HTTP Call” Widget in Zoom Contact Center flows, there is the option to map a result path to a variable after the HTTP request is completed, however the documentation is lacking and we cannot determine the exact path format that the widget is looking for. [Customizing the Http Call widget](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0066375)

The response comes back in a JSON

---

<div class="post-metadata">

**Author:** ![justin.steinberg](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/justin.steinberg/32/9988_2.png) [@justin.steinberg](https://devforum.zoom.us/u/justin.steinberg)\
**Post date:** [March 21, 2025, 1:38am UTC](https://devforum.zoom.us/t/contact-center-http-widget/130081/3 "2025-03-21T01:38:11Z")

</div>

Hi @emily.garner

The response uses JSON dot Notation.

If you have an array in the JSON, we start counting the first item as number 1 in the JSON dot Notation.

```auto
{
  "name":"Justin",
  "tickets":[
     {
       "id":"100",
       "status:"open"
     },
     {
       "id":"200",
       "status:"closed"
     }
  ]
}

```

name=Justin  
tickets.1.status = open  
tickets.2.id = 200

---

<div class="post-metadata">

**Author:** ![bvanbenschoten](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/bvanbenschoten/32/43778_2.png) [@bvanbenschoten](https://devforum.zoom.us/u/bvanbenschoten)\
**Post date:** [April 18, 2026, 5:03pm UTC](https://devforum.zoom.us/t/contact-center-http-widget/130081/4 "2026-04-18T17:03:01Z")

</div>

@justin.steinberg , just to verify zoom has decided to make arrays ‘1’ indexed instead of ‘0’ indexed like virtually all other programming languages ?  
If true, could you work with your documentation folks on items such as ZCC flow, HTTP widget, ZVA HTTP API widget and similar to have that documentation updated to state the return values in json dot notation are ‘1’ indexed

---

<div class="post-metadata">

**Author:** ![justin.steinberg](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/justin.steinberg/32/9988_2.png) [@justin.steinberg](https://devforum.zoom.us/u/justin.steinberg)\
**Post date:** [April 22, 2026, 8:27pm UTC](https://devforum.zoom.us/t/contact-center-http-widget/130081/5 "2026-04-22T20:27:01Z")

</div>

Hi @bvanbenschoten the no-code HTTPCall widget does start at 1 for array items.

When using javascript code in the ‘script’ widget, the items start at 0, to be consistent with traditional programming languages as you mentioned.

I’ll request an example to be added to the HTTPCall widget in the support article.

---

<div class="post-metadata">

**Author:** ![bvanbenschoten](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/bvanbenschoten/32/43778_2.png) [@bvanbenschoten](https://devforum.zoom.us/u/bvanbenschoten)\
**Post date:** [April 27, 2026, 2:24pm UTC](https://devforum.zoom.us/t/contact-center-http-widget/130081/6 "2026-04-27T14:24:38Z")

</div>

@justin.steinberg  
Thanks, appreciate the response. I was looking all over for that info in the help docs.  
it would be really helpful on both the doc for the HTTP widget and the Script widget to show some examples of a typical JSON return and how to map the return variables in the widget themselves.  
"0’ indexed for Script widget and “1” indexed for the HTTP widget.

Another related question. There seems to be a difference between the _Script_ widget available in the ZVA Chat flow vs the ZVA voice flow.  
The voice flow example javascript code shows supporting the _global\_var\_set_, where the chat flow script widget only shows supporting _var\_set._ Is this intentional ? Its a subtle difference but its impactful.
