# Synchronous processing of array in Export

**URL:** <https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336>\
**Category:** Integrator.io\
**Tags:** adp-workforce-now\
**Created:** [June 5, 2026, 11:22pm UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336 "2026-06-05T23:22:35Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Otar\_Melia](https://avatars.discourse-cdn.com/v4/letter/o/9de0a6/32.png) [@Otar\_Melia](https://connective.celigo.com/u/Otar_Melia)\
**Post date:** [June 5, 2026, 11:22pm UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336/1 "2026-06-05T23:22:35Z")

</div>

I have the following issue:

Initial export gets an array of 3 element. I want each element to save/post in the destination one by one. Before posting each element, I do query to find out, how many elements are already posted. So I added lookup field before post.

The issue is that, it seems, Celigo executes 3 lookup query first and then makes 3 post, which causes problem, because for all 3 lookup query, I am receiving 0 count.

Is it possible, to finish one item fully and then continue to next item in the array?

---

<div class="post-metadata">

**Author:** ![tylerlamparter](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/tylerlamparter/32/9204_2.png) [@tylerlamparter](https://connective.celigo.com/u/tylerlamparter)\
**Post date:** [June 6, 2026, 6:11pm UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336/2 "2026-06-06T18:11:11Z")

</div>

Only way would be to make the export treat the elements as individual records, set your page size to one, then on your import use the composite api to do the lookup and post call in one.

---

<div class="post-metadata">

**Author:** ![Otar\_Melia](https://avatars.discourse-cdn.com/v4/letter/o/9de0a6/32.png) [@Otar\_Melia](https://connective.celigo.com/u/Otar_Melia)\
**Post date:** [June 6, 2026, 10:59pm UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336/3 "2026-06-06T22:59:34Z")

</div>

I try to treat them as individual records.

My data from API looks like this :

```auto
{
  "data": [
    {
      "id": 1,
      "createdAt": "2026-04-17T00:00:00",
      "type": null,
      "projectId": 31
    },
    {
      "id": 2,
      "createdAt": "2026-04-18T00:00:00",
      "type": null,
      "projectId": 34
    }

  ],
  "pagination": {
    "page": 1,
    "pageSize": 2,
    "totalPages": 3,
    "total": 3
  }
}

```

and I set "data" in the " **Non-standard API response pattern"**

so, I assume Celigo will treat records with Id:1 and Id:2 as individual items. But after doing this, pagination is not working, because in " **Path to total number of pages field in HTTP response body"** I have "pagination.totalPages", which is not evaluated when the node goes inside "data" array.

---

<div class="post-metadata">

**Author:** ![tylerlamparter](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/tylerlamparter/32/9204_2.png) [@tylerlamparter](https://connective.celigo.com/u/tylerlamparter)\
**Post date:** [June 7, 2026, 8:26pm UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336/4 "2026-06-07T20:26:13Z")

</div>

The " **Path to total number of pages field in HTTP response body"** field works from the raw response, not after evaluating the path to records. So pagination should still work. Are you expecting 6 total records (2 pageSize \* 3 totalPages)?

---

<div class="post-metadata">

**Author:** ![Otar\_Melia](https://avatars.discourse-cdn.com/v4/letter/o/9de0a6/32.png) [@Otar\_Melia](https://connective.celigo.com/u/Otar_Melia)\
**Post date:** [June 7, 2026, 8:47pm UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336/5 "2026-06-07T20:47:57Z")

</div>

I also expected this behavior. But when I set **Path to records in HTTP response body** to "data" and try to test, I see this:  
"message": "Identical response received from next page request. No more page requests will be made.",

 ![image](https://us1.discourse-cdn.com/flex001/uploads/celigo/original/2X/9/97b83677f022b96d05fb7c1d88d6ffee4a792b1a.png)

---

<div class="post-metadata">

**Author:** ![tylerlamparter](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/tylerlamparter/32/9204_2.png) [@tylerlamparter](https://connective.celigo.com/u/tylerlamparter)\
**Post date:** [June 7, 2026, 9:21pm UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336/6 "2026-06-07T21:21:07Z")

</div>

It looks like it paged, but then ended up getting the same response. Can you enable debug logs on the export step in the top right, then preview, then check the logs? You cans see each request. Also, can you share the rest of your export setup?

---

<div class="post-metadata">

**Author:** ![Otar\_Melia](https://avatars.discourse-cdn.com/v4/letter/o/9de0a6/32.png) [@Otar\_Melia](https://connective.celigo.com/u/Otar_Melia)\
**Post date:** [June 7, 2026, 10:22pm UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336/7 "2026-06-07T22:22:30Z")

</div>

When I run it as a flow, it runs without above error. So, l assume putting as individual items is working.

Now I want each item to run sequentially, meaning finish first item and only after finishing first item, go to the next item.

You said, this should be done via composite api?

---

<div class="post-metadata">

**Author:** ![tylerlamparter](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/tylerlamparter/32/9204_2.png) [@tylerlamparter](https://connective.celigo.com/u/tylerlamparter)\
**Post date:** [June 8, 2026, 3:16am UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336/8 "2026-06-08T03:16:24Z")

</div>

Yeah you could set your page size to 1 on your export, then use the composite option on http import. You could also build an API via API Builder and call that on import, still with page size 1.

---

<div class="post-metadata">

**Author:** ![Otar\_Melia](https://avatars.discourse-cdn.com/v4/letter/o/9de0a6/32.png) [@Otar\_Melia](https://connective.celigo.com/u/Otar_Melia)\
**Post date:** [June 8, 2026, 4:19pm UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336/9 "2026-06-08T16:19:45Z")

</div>

> [@tylerlamparter](#):
>
> composite option on http import

 ![image](https://us1.discourse-cdn.com/flex001/uploads/celigo/original/2X/5/52a03dda11c83ce534e857636311677d41d78f64.png)

Can't see composite option here, is there other way to set composite option?

---

<div class="post-metadata">

**Author:** ![tylerlamparter](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/tylerlamparter/32/9204_2.png) [@tylerlamparter](https://connective.celigo.com/u/tylerlamparter)\
**Post date:** [June 8, 2026, 8:12pm UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336/10 "2026-06-08T20:12:45Z")

</div>

That's an export, composite api is only on imports.

---

<div class="post-metadata">

**Author:** ![Otar\_Melia](https://avatars.discourse-cdn.com/v4/letter/o/9de0a6/32.png) [@Otar\_Melia](https://connective.celigo.com/u/Otar_Melia)\
**Post date:** [June 8, 2026, 8:45pm UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336/11 "2026-06-08T20:45:56Z")

</div>

It is a lookup actually:

 ![image](https://us1.discourse-cdn.com/flex001/uploads/celigo/original/2X/c/c722e360f86a31f7c6b2ed9c5cf0e34988ac3585.png)

It seems lookup does not support composite, only export supports?

---

<div class="post-metadata">

**Author:** ![tylerlamparter](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/tylerlamparter/32/9204_2.png) [@tylerlamparter](https://connective.celigo.com/u/tylerlamparter)\
**Post date:** [June 9, 2026, 7:23pm UTC](https://connective.celigo.com/t/synchronous-processing-of-array-in-export/6336/12 "2026-06-09T19:23:41Z")

</div>

Only imports support composite. The idea of composite is it's a lookup and import in one. So it first does the lookup, then does the import. For example, lookup to see if a customer exists, if not, create them, etc.
