Filter doesn't iterate through the rest of array/bundle when condition isn't met

Hello,

I want to filter out Email #1 (red) from array, and process Email #2 (green). However, it stops the whole process after processing Email #1, and doesn’t even process Email #2. What gives? I tried it without the array aggregator (just filtering directly from the Google Calendar module) and the same thing happens - operation still stops.

Note: Due to the random arrangement of arrays, sometimes Email #2 appears before Email #1, in which case the operation is successful. It’s when Email #1 appears first that the operation stops.

Welcome to the Make community!

Looks like you’ll need to move your filter to before the aggregator, as it appears you want to exclude a specific email address.

1. Screenshots of module fields and filters

Please share screenshots of relevant module fields and filters in question? It would really help other community members to see what you’re looking at.

You can upload images here using the Upload icon in the text editor:
Screenshot_2023-10-07_111039

2. Scenario blueprint

Please export the scenario blueprint file to allow others to view the mappings and settings. At the bottom of the scenario editor, you can click on the three dots to find the Export Blueprint menu item.

Screenshot_2023-08-24_230826
(Note: Exporting your scenario will not include private information or keys to your connections)

Uploading it here will look like this:

blueprint.json (12.3 KB)

3. And most importantly, Output bundles

Please provide the output bundles of the Google Calendar by running the scenario (or go to scenario History for a previous run), then click the white speech bubble on the top-right of each module and select “Download output bundles”.
Screenshot_2023-10-06_141025

A.

Save the bundle contents in your text editor as a bundle.txt file, and upload it here into this discussion thread.

Uploading it here will look like this:

bundle.txt (12.3 KB)

B.

If you are unable to upload files on this forum, alternatively you can paste the formatted output bundle in this manner:

  • Either add three backticks ``` before and after the code, like this:

    ```
    input/output bundle content goes here
    ```

  • Or use the format code button in the editor:
    Screenshot_2023-10-02_191027

Providing the output bundles will allow others to replicate what is going on in the scenario even if they do not use the external service.

Following these steps will allow others to assist you here. Thanks!

2 Likes

Hi @samliew, I appreciate the prompt response.

I tried moving the filter to before the Array aggregator as you mentioned and I still get the same problem.

make-dot-com-sucks2


make-dot-com-sucks4

I will upload blueprint + output bundle in a sec but I need to delete sensitive information.

Ah, then you’ll need to Iterate the attendees array to filter some out.

Calendar > Iterator + Filter > Text Aggregator

2 Likes

Bundle content from Google Calendar module:

[
    {
        "kind": "calendar#event",
        "etag": "REDACTED",
        "id": "REDACTED",
        "status": "confirmed",
        "htmlLink": "https://www.google.com/calendar/event?eid=REDACTED",
        "created": "2023-12-18T13:55:01.000Z",
        "updated": "2023-12-18T13:55:02.534Z",
        "summary": "REDACTED",
        "description": "REDACTED",
        "location": "Google",
        "creator": {
            "email": "EMAIL_I_DONT_WANT(REDACTED)@gmail.com",
            "self": true
        },
        "organizer": {
            "email": "EMAIL_I_DONT_WANT(REDACTED)@gmail.com",
            "self": true
        },
        "start": "2024-01-24T20:00:00.000Z",
        "end": "2024-01-24T21:00:00.000Z",
        "iCalUID": "REDACTED@Cal.com",
        "sequence": 0,
        "attendees": [
            {
                "email": "EMAIL_I_DONT_WANT(REDACTED)@gmail.com",
                "organizer": true,
                "self": true,
                "responseStatus": "accepted"
            },
            {
                "email": "EMAIL_I_WANT(REDACTED)@REDACTED.edu",
                "responseStatus": "accepted"
            }
        ],
        "hangoutLink": "https://meet.google.com/REDACTED",
        "conferenceData": {
            "createRequest": {
                "requestId": "REDACTED",
                "conferenceSolutionKey": {
                    "type": "hangoutsMeet"
                },
                "status": {
                    "statusCode": "success"
                }
            },
            "entryPoints": [
                {
                    "entryPointType": "video",
                    "uri": "https://meet.google.com/REDACTED",
                    "label": "meet.google.com/REDACTED"
                }
            ],
            "conferenceSolution": {
                "key": {
                    "type": "hangoutsMeet"
                },
                "name": "Google Meet",
                "iconUri": "REDACTED"
            },
            "conferenceId": "REDACTED"
        },
        "reminders": {
            "useDefault": true
        },
        "eventType": "default"
    }
]

Can you provide more detail on how to execute? If I put the filter after the array aggregator, I am still running into the same problem (which was my original post)

I tried Iterator as you mentioned, but the filter doesn’t distinguish between each bundle; it only filters using value. For example, I have Description in Bundle # 2. If I have the email in the Description, it omits that entire bundle:

If you’ve Iterated the attendees array, you should be able to access the Email property for the filter.

I do not see any “description” property in the attendees objects? You must be mapping incorrectly.

Screenshot_2024-01-10_150338

I do not need to see your output. I only need to see how you’ve mapped them. Provide screenshots of:

  • Your iterator settings
  • Your filter settings
2 Likes