Trigger not firing on subject line after Outlook gets a new email - slack

I'm trying to post a message to a Slack channel each time we receive a confirmed booking via email through Airbnb.
Tried Zapier, by scanning new emails with the subject "Reservation confirmed" sent to our Microsoft Outlook email. If the email has that subject then the zap should posts its contents (body) in the channel. However, the first step (trigger) doesn't recognize new emails.
This is what the Zap looks like:
Step 1: check if a new email is received in Outlook ==> this is the test never passes, because it can't find sample data.
Step 2: filter emails that contain the subject Reservation confirmed (in Dutch)
Step 3: post a message in a Slack channel

Your filter step has "text contains" option followed by the words. While that is logical from a human standpoint it can cause some problems with zapiers filter. Try filtering for each word separately like so:
Subject Contains(text) yourFirstWord
AND
Subject Contains(text) yourSecondWord
This will clear up your filter problem.
Also, double check that subject is not something you typed in but that it is the actual outlook output variable.
If it passes through the filter and still doesn't get to slack then the issue is elsewhere. You may want to post sample data if that doesn't work because it could be that the subject line has hidden whitespace (rare but has happened to me) or other values that is making it filter out. If that's the case I'll edit and update this answer.

Related

Send a text message upon email receipt using Mail.app rules and AppleScript

We are looking to use Mail.app's rules to define certain criteria and, when such criteria is met, to use AppleScript to send a single text message separately to multiple individuals (not as a group text). How can this be accomplished?
This 2006 post on Mac OS X Hints looked to do something similar, but the code referenced is inaccessible due to link rot. This question shows how to send an SMS, but it only sends a single message.
You'll first need to set up iMessage in Messages so you can send texts from your Mac.
Then, open Script Editor, create a new script, and paste in the following code:
property recipients : {"+1 (999) 999-9999", "email#icloud.com"}
repeat with recipient in recipients
tell application "Messages"
send "your message here" to participant recipient
end tell
end repeat
In recipients, add as many phone numbers or emails that can receive texts as needed between the curly brackets, each in quotations and separated from the previous one by a comma, and edit your message here to the message you want to send.
Save the script in ~/Library/Application Scripts/com.apple.mail, as explained here.
Create your mail rule and, under Perform the following actions:, include a Run AppleScript action and select the saved script. Once the rule is saved, you're all done.
Upon receiving an email that meets the criteria of the rule you set up, the script will loop through each phone number or email in recipients and send them the specified message. The script has no problem sending a message to a contact you've never messaged before.

How to find message's file unique IDs with Telegram bot API?

i'm experimenting with Golang Telegram bot APIs and I have a problem with the ID of the message's file that i send to the bot.
I forwarded a message of type VOICE to the bot and in the code I read the unique ID of this file to understand if the bot received that voice message yet (... maybe forwarded by another user).
The problem is that when I read the ID with this code msg.Voice.FileID I get always a different string. But not completely different, the first and last part of the string is always the same, but the middle part changes, like this:
id first time i forward the message: aaaaaa_abc_zzzzz
id second time i forward the message: aaaaaa_def_zzzzz
The doc does not say anything about it... (https://godoc.org/github.com/go-telegram-bot-api/telegram-bot-api)
Do you guys know how to deal with file ids? My goal is to be able to say "ok, I received this photo (or voice, or audio, or video) yet from this or another user"
Thank you for your time
Ve
As a reddit user pointed out here, it is possibile to have the unique id of a file as per v4.5 of the Telegram API https://core.telegram.org/bots/api-changelog#december-31-2019.
I couldn'd find that out because a was reading the Golang implementation godoc and the "unique id" feature is not yet implemented.
I'm going to add it and make a PR.

MS Outlook Add-In: During "Compose Message" how does one separate previous conversation from newly composed?

I'm setting up a MS Outlook Add-In that performs some analysis on newly composed messages. To read the message body, I use the Office.context.mailbox.item.body.getAsync() function that's part of the outlook JS API. If the user is composing a message that's part of a conversation, i.e. when replying or forwarding, this will also yield messages that are part of that conversation. I want to remove previous messages from the returned body, since they are not relevant for the analysis. What is the best way to do this?
What I've come up with is a regex that matches common Conversation headers, specifically "From: ..... abc#def.gh" or similar.
The specific Regex I used:
/((From|Von|De|Desde).+)[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*#(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.+/g
I am aware that this will yield many false positives, so I am looking for a better way to accomplish this.

Google apps - Trigger script when responseStatus change

I would like to run a script each time the responStatus of an event is modified by an attendee.
By default when an attendee receive an invitation by email the status is "needsAction". And wether he accepts, decline, the responseStatus change to "accepted" or "declined".
I want to create a script which send a custom email, and trigger each time the status is changed by the attendees.
Anyone ?
Here is a simple tutorial on sending emails from a spreadsheet. Note that you will need to add a column to denote that the email was sent as it will go through every row and send the spreadsheet.
I prefer this example as a more complete one which does a mail merge as well, allowing you to have a template message and replacing it with values from the row.
Go through this and as you have more specific questions, start a new thread.

Efficient way of syncing Gmail Inbox messages using the new Gmail API?

A web application sends an email on behalf of a UserA to UserB, using the new Gmail API (Users.messages: send).
The synchronous response contains threadId, messageId which are stored in the database.
We then query the history API for any changes in user's inbox (Users.history: list).
Is there an efficient way to get all the updates since last sync (new replies, read/unread changes)?
One implementation that we tried was to filter the history API results through a custom label. Unfortunately, we noticed that once a thread/message is tagged with a specific label any subsequent responses are not labeled automatically and new replies are not included in the history API response.
A second approach was to query threads using gmail advanced search for a particular label and date (e.g. after:2014/08/29 label:MY_LABEL). The problem was that gmail does not return threads that were created before 2014/08/29 but had a reply on that date.
Any scalable suggestions would be greatly appreciated.
Not sure I understand here, users.history.list was made exactly for this. Given a previous historyId, you can then call history.list(previousHistoryid), iterate through the results to find all the message Ids that have been updated since the previous historyId. Then call messages.get() on all of those--for any messages you already knew about you can just call format=MINIMAL (to see label updates), and for new messages you can use a different format to get the message content if you need it.

Resources