Make.com Recipient NOT FOUND ID is breaking scenario

Hi There,
I have a working scenario in Make that just stopped working today. It has to do with sending a reminder three days before the invoice is due. Kind of like “hey, just a friendly reminder that your invoice is due in three days time”. This worked perfectly. And, I still think my scenario works. The problem is showing that the user associated with a string of numbers doesn’t exist so it’s now not sending to the people that actually have invoices due in three days time. It’s a client’s site and it’s possible the User with this ID was deleted but should that matter in this case? What about sending all other invoices are due reminders? I’m so baffled. @Otis do you think you can take a peek or provide insight? You’re the king of these automations. Thanks. I have uploaded a screenshot of the error if that helps. Or anyone if they can help. I’m so frustrated.

For additional context, if I manually change the 2.


Recipient ID to the person’s name that has an invoice due, I DO NOT GET an error. I also checked and no current users have this ID. HELP! :frowning:

Hi Mallory! Happy to help!

The ID in your screenshot is showing in our backend as a client company ID, not a client ID. It doesn’t look like you’re sending a message to a Copilot message channel from the scenario you’ve shown in your screenshot, so we need to provide a way to retrieve the client using the company ID.

This is available in our docs, but our public ‘List Clients’ module doesn’t currently have the company ID input. I’ll submit the update today and it should be publicly available after Make reviews and approves the update, typically within a week.

In the meantime, you can use our docs to retrieve the client IDs for the company ID, or you can use the universal ‘Make an API call’ module in Make - please let me know if you need more information on how to use this module :slightly_smiling_face:

Hi @allene This doesn’t explain why it worked before though. It had been tested and JUST stopped working today. I’m also not understanding your explanation.

That’s odd - the reason ‘Retrieve a Client’ is failing here is that the ID in your screenshot is a company ID, I hope that helps to clarify. The recipient of this particular invoice looks to be a company.

Is it possible it was working for client invoices previously, and this is the first time you’ve encountered an invoice where the recipient ID is a company?

If not, do you have an example scenario where the scenario ran with this specific ID you can send a screenshot of? Thanks!

@Mallory_Durrick It looks like the client and the company have the same name, previous invoices were issued to the client (circle icon) and the most recent to the company with the same name (square icon):

I was just checking. That’s right. Erika is both a company and a client. So how do I fix this? Do I add the ID you’re mentioning that Make will populate in a few days time or make sure we don’t send invoices to Companies and have my client fix this? Good Catch @allene

If I use the Universal ‘Make an API’ call, I’m wondering if this will impact the rest of my scenario which only runs 1x/day and only triggered by the invoice in 3 days time.


These are the options.

Happy to help!

It depends on how much you want to implement in your Make scenario. For the way you’ve been using it, the simplest solution would be to avoid issuing invoices to companies which will ensure the ‘Retrieve a Client’ step here works.

Alternatively, you could add a router to run the scenario in the case that the recipient ID of the invoice is a company.

For now, you’d need to use the ‘Make an API call’ module to list clients and use the company ID as a search parameter, until Make reviews and updates the ‘List Clients’ module.

In either case, the ‘List Clients’ call will return a list of clients with the associated company ID.

The caveat here, with the updated Copilot module or the universal module would be if there are multiple clients within the company. You’d need to have another matching step or filter to ensure you’re sending to the correct individual within the company.

In this case, since the client and company have the same name, you could ensure the client name matches the company name and use the matching client’s email address to send the reminder.

I hope this makes sense :slightly_smiling_face: I can provide an example of what the universal ‘Make an API call’ module would look like shortly!

@Mallory_Durrick Just saw this - if you use a router to run both client and company recipient workflows, your original workflow can remain the same, and the router will only run the company workflow if the recipient ID is a company.

Or, you could set up a separate scenario for company recipients which might be less complex than using the router solution.

I think the best thing in this case, since it’s just the one person, would be to manually fix this and send the reminder. Then when company ID is approved by Make, add the recipient ID AND the company ID so it will work regardless. I’ll be sure to mention to the client why this error was flagged. I’m sure he didn’t realize he sent the invoice to the company and not the recipients. I never took notice to the difference before myself to be honest. Circles for Clients Squares for Companies. You know? :wink:

@Mallory_Durrick It’s super easy to miss, especially since they’re the same color! We’re working on making this more distinguishable, our apologies.

I agree that a manual reminder would be best. You could void the company invoice and reissue the invoice to the client with the same due date if that could work!

Thanks, @allene I’d rather see if adding 2. Recipient ID and [Client ID] into that scenario will resolve the problem so if my client forgets to invoice the client and invoices the company, all options will be selected. Let’s see what Make.com shows next week. :slight_smile: Thanks, again.

@Mallory_Durrick I was notified this morning that Make already released the update! If the recipient is a company, you can now use the List Clients module to search for clients by company ID.

Again, important to note this search will return all clients belonging to the company, so it will be up to you to determine a filter to retrieve the email of the individual client to use in the email step if there are multiple clients in the company.

In your case here, for example:
If the client you want to send the email to has the same name as the company, I would add a filter before the email step to only send to the client where the client’s name matches the company name.

In the future, we’ll have custom fields for companies - this is when you could add an email custom field for the main POC at the company. Then, you could use that custom field to map to the email step which will make this automation simpler (once available!). This is on our roadmap for Q3 I believe.

Please let me know if I can help with anything else!

Hi @allene

Just seeing this message. I’m not in love with Discourse. Just thought to mention it. :frowning:

I’m a bit confused on what I should be selecting in the filter.

What would be the condition here?

Condition: Email
Text Operators: Equal to
Company ID

Is that right?

Hi @Mallory_Durrick Happy to help!

We discussed earlier handling cases where the recipientId from List Invoices is a company ID. Since an invoice recipient can be either a clientId or a companyId, you’ll need to have a router, and also some error handling.

Module 1: List Invoices
Module 2: Retrieve a Client (map recipientId from M1). Add Error handler: Resume
Module 3: Router

Route 1
For the primary route, if Retrieve a Client is successful, then finish that route as you were already doing by mapping the retrieved client’s email to your email module.

Route 2:

For the secondary (fallback) route if Retrieve a Client fails, this indicates the recipientId from the invoice would be a company ID.

Module 1: Retrieve a Company (map recipientId from List Invoices)

Module 2: List Clients [map id from Retrieve a Company ] - this will return all clients with that company ID.

Filter:
Name: “only send to the client where client name matches company name”
Condition: you would map in [givenName] [familyName] from the List Clients module (be sure to add a space between the mapped names).
Text operators: Equal to: Map [name] from Retrieve a Company module

Module 3: Email step (Map [email] from List Clients module

I can build a re-creation in Make to give you a visual example shortly :slightly_smiling_face:

Also, sorry to hear you’re not enjoying Discourse :frowning: - There may be ways to update notification settings to make them work better for you in your settings!

We do really appreciate you helping with the switch - for example, this post will now me accessible to all users moving forward, instead of being deleted in Slack after 90 days. This is super helpful to build an organic, user-led knowledge base for years to come!

Hi @allene Thanks. A visual would be really helpful to me if it’s not too much trouble.

@Mallory_Durrick Sure thing!

Please see the step-by-step guide here: Perform actions based on invoice Recipient ID

You can also view as a video here - hover in the top-right to turn audio on or off and adjust playback speed.

@Mallory_Durrick Also - my apologies - when testing again, I realized you should also add a filter to your primary route between the router and the email step like so:

Edit - I added the instructions for this filter to the Scribehow linked above!

Thank you @allene I’ll work through this. I truly appreciate you taking the time to provide this. I do feel this is way more complex than my current setup just to retrieve a company, but I can look to set it up based on your parameters and additional filter. Thanks again!

M.