dcolley / integromat-facebook-support

0 stars 0 forks source link

Is the following possible? Client runs two reports every day, one for prio... #132

Open dcolley opened 3 years ago

dcolley commented 3 years ago

Source: copied from https://www.facebook.com/groups/integromat/permalink/3971942816249655/

Is the following possible?

Client runs two reports every day, one for prior day's sales customers and the other for prior day's service customers. Sales is 4 columns (last name / first name / email / phone). Service is three columns (lastname,first name / email / phone). So Service needs an extra step to split text by comma prior to importing.

Client manually saves the two Excel files to a shared cloud server.
We cannot rely on the client to name them a specific way. They'll typically name one file sales with a date and the other with service and a date but one client might label it: svc080521 and another client might label it service - 08-05-21.

So we'd need an Integromat scenario that simply recognizes ~any~ new spreadsheet that is saved to the folder regardless of naming convention and automatically sends all customer records ~one at a time~ via JSON/HTTP into our software.

Limitation is that our software doesn't allow for bulk import, each api call would be one customer record (row in the spreadsheet).

We can create subfolders of Sales and Service and make sure the client puts the sales file in the sales folder, service into service so that the system knows it needs to split text by comma on all files saved to the service folder.

As far as timing, I'm hoping the transfer would be instant, but if we need to schedule a daily check for new spreadsheets, we can do that.

If this can be done, and someone reading this is 100% confident in their ability to build this please PM me.

Likewise, if someone is 100% confident this can't be done and knows exactly why it can't be done, that info is also helpful.

Thanks.

dcolley commented 3 years ago

Comment ID: 3971960622914541 100% can be done. Depending on the number of rows in each spreadsheet, it could get quite costly in terms of operations in Integromat to make the individual API calls.

dcolley commented 3 years ago

Comment ID: 3971967819580488 What are we looking at? Does the cost in operations scale exponentially instead of linearly for some reason?

dcolley commented 3 years ago

Comment ID: 3971972829579987 Adam Netzer essentially each row would have to be a call to the API which would be an Integromat operation. So 100 rows in a spreadsheet = 100 API calls = 100 operations. Do this 30 times a month and that's 3000 operations.

dcolley commented 3 years ago

Comment ID: 3971974479579822 Adam Netzer I sent you a PM as well.

dcolley commented 3 years ago

Comment ID: 3972025822908021 Adam Netzer get in touch with Noah Edis he is an absolute ninja when it comes to any automations. Can't recommend him enough.

dcolley commented 3 years ago

Comment ID: 3972046799572590 That can be done. If you want to lower down the number of operations, you can have a look at node-red. It’s an open source app. It can also do http requests. I often use it with Integromat

dcolley commented 3 years ago

Comment ID: 3972135879563682 Depends how many max rows are there in sheets. I also have done similar thing before and can show you/replicate for you.

dcolley commented 3 years ago

Comment ID: 3972393859537884 Your explanation is very clear and I can say it 100% surely can be done instantly and without extra monthly cost. It is not that difficult you just have to do search header row if its 3 colums or 4 but creating folders for each will make it more solid.

Not sure what you are refering to by "cloud server" but if its some cloud storage I'd use Power Automate for instant detection since its free to do that. Send integromat a mailhook to tell it to do the rest beause http request is within extra paid plan on PA.

If it's a NAS I'd look for an option to sync with cloud storage and do the same(hope it's synology or qnap nas). If it doesn't have an option to sync I'd set up an FTP to make it open.

Final option is to write a code that runs locally to detect and process but I assume you wanna keep it on integromat.