Authorization failed - please check your credentials 401 - "{\"exception message\":\"authentication issue\",\"status\":\"401\"}"

Hi, i am trying to connect engagebay to Fetch Leads from it but following error
Authorization failed - please check your credentials
401 - “{"exception message":"authentication issue","status":"401"}”

Several possible reasons :

  1. Didn’t set the right credential type

maybe try the Header auth

  1. Some how your api key didn’t get the right permission or scope.

But let’s check you set the credential right first.


it comes now like this so its loggedin? i am new to this automation please let me know i am doing correct?

That’s not correct.

Your URL should only be https://app.engagebay.com/

Please look at their docuement and thinking about what do you want from the API.

And what’s the API endpoint along with what data you should provide to them.

If you are not familiar with API. You can put this document into ChatGPT and it will give you some instruction.


Since they don’t have lead.

Maybe you are talking about deals

Problem importing workflow

propertyValues[itemName] is not iterable

i am trying to import a json file on a new work flow and it says

Where is the workflow json coming from?

If it is generated by ChatGPT. It usually not working.

Please don’t ask ChatGPT to generate n8n workflow unless you are familiar with n8n workflow json format.

Ask it to give you instructions and steps to achieve it.

:rocket: STEP-BY-STEP INSTRUCTION
:small_blue_diamond: STEP 1: Create EngageBay API Credentials in n8n

Go to n8n → Credentials → + New Credential

Select HTTP Basic Auth

Enter:

    Username: Your EngageBay login email

    Password: Your EngageBay API Key

Name it EngageBay Auth → Save

:small_blue_diamond: STEP 2: Create New Workflow in n8n

Go to Dashboard → New Workflow

Click + and add the Cron Node

    Set it to run every hour (or daily)

    This will trigger your campaign regularly

:small_blue_diamond: STEP 3: Fetch Leads from EngageBay

Add HTTP Request Node

Configure:

    Method: GET

    URL:

    https://app.engagebay.com/dev/api/panel/subscribers

    Add ?tag=email_pending or your preferred tag

    Auth: Use EngageBay Auth

Rename this node: Fetch Leads

:small_blue_diamond: STEP 4: Loop Through Contacts

Add SplitInBatches Node

    Set Batch Size: 1

    Connect from Fetch Leads → SplitInBatches

:small_blue_diamond: STEP 5: Customize Message

Add Set Node with following parameters:

    name: {{$json["first_name"]}}

    email: {{$json["email"]}}

    user_type: {{$json["custom_fields"]["user_type"]}}

    template: ={{ $json["custom_fields"]["user_type"] === 'vip' ? 'vip-template' : 'basic-template' }}

This lets you dynamically pick email content based on the contact

:small_blue_diamond: STEP 6: Send Email via EngageBay API

Add HTTP Request Node:

    Method: POST

    URL:

https://app.engagebay.com/dev/api/panel/email/sendEmail

Authentication: EngageBay Auth

Body Parameters (JSON):

    {
      "email": "={{$json['email']}}",
      "subject": "Hi {{$json['name']}}, we've got something for you!",
      "content": "<p>Dear {{$json['name']}}, based on your profile, here’s something curated for you.</p>"
    }

Choose RAW JSON body format

:small_blue_diamond: STEP 7: Update Lead Tag to Avoid Re-send

Add another HTTP Request Node:

    Method: POST

    URL:

https://app.engagebay.com/dev/api/panel/subscribers/email/{{$json[“email”]}}/tags

Auth: EngageBay Auth

Body (RAW JSON):

    ["email_stage1_sent"]

:small_blue_diamond: STEP 8: Add Optional Wait + Follow-up

You can add a Wait Node (e.g. 2 days) and then:

Check if the user clicked/opened (EngageBay doesn't have webhook yet, so use a tag or manual review for now)

If not clicked:

    Send follow-up email via another Send Email Node

Else:

    Send thank-you or upsell email

:small_blue_diamond: STEP 9: Add UTM Tracking (optional)

For link tracking:

Use this link format:

https://yourdomain.com/special-offer?utm_source=email&utm_medium=n8n&utm_campaign=stage1

EngageBay tracks click events if UTM is used correctly

Yes, from chat gpt