Actionable Message "autoInvokeAction" disappears from card body when received in outlook - outlook-web-addins

When I send an actionable message containing a card with "autoInvokeAction", it doesn't appear in the message in Outlook. It just comes through set to null.
However, the confusing thing is that when I send the exact same card JSON using the site https://amdesigner.azurewebsites.net/, it does appear in the body.
Why would my outgoing email be treated differently from the AMDesigner?

I found the answer today by getting in touch with Microsoft Support. The actionable messages team has to approve the sender for the auto-invoke capability. It doesn't work by default. This isn't documented.

Related

Acumatica - Outlook PlugIn Reply Action

we are using Acumatica outlook plugin to create CASES and we are successful in achieving it.
As you know outlook plugin will automatically create a email activity when we create case. So sometimes we send reply from Outlook plugin and some times we send reply from Acumatica.
The issue is - When we send reply from outlook plugin we are unable to see email in "All Emails" screen, but if we are sending reply to same case from Acumatica we are able to see email in "All Emails" screen.
Can someone please suggest us, what we are missing here.
We are in 2019R2, without any customization published.
There could be a couple of reasons you may be running into this problem. Depending on how you have your setup, one reason could be because of the way you have your System Email Account set up. Check what email is sending as, it could be sending a centralized account. Also check what you default email is set on your account.
Also, are you using the Outgoing Tab? Or looking looking at the all records tab? It could be because of the status of your email. When sending through the Outlook plugin, double check the emails are sending, and double check the status of the activity. It could not be completing and being left as an open item.

Emails/drafts sent via Gmail REST API can't be opened in the new Gmail UI

When sending drafts via the Gmail REST API, the message in the "Sent Mail" folder can't be opened by the sender in the new Gmail UI. You get the error message "The conversation that you requested could not be loaded.".
The message on the recipient side can be opened without problem though, new UI or not.
Reverting to the old/classic Gmail UI allows the sender to open the sent message.
Steps to reproduce:
Compose a draft in Gmail (new or old UI doesn't matter)
Find the draft ID via GET https://www.googleapis.com/gmail/v1/users/me/drafts
Send the draft via POST https://www.googleapis.com/gmail/v1/users/me/drafts/send with body {"id": "<draftId>"}
Go back to Gmail and switch to the new Gmail UI, then attempt to open the recently sent draft in the Sent folder. Attempting to open the message will fail.
Revert to the old/classic Gmail UI and open the recently sent draft in the Sent folder. You will be able to open the message without issues.
The recipient will be able to open the message without issues, using either the new or old UI.
UPDATE
When the broken sent email receives a reply, it seems to get 'fixed' and the sender can now open the sent email from the new Gmail UI. This seems to suggest that the REST API is missing something that gets fixed once the thread is updated by other means?
The error message in the browser console when attempting to open the broken sent message:
Error: Ppa No message loaded when we received the DETAILED_CONVERSATION_MESSAGES_LOADED event.
I can't reproduce this. Note that in the reproduction steps #2 is unnecessary. Instead, the result of drafts.create() in #1 should be analyzed, the id of the new draft message is present there.
Also worth noting, Draft IDs are not the same as Message IDs. The response of drafts.create() and drafts.update() will be a Draft ID while the result of drafts.send() will be the message ID. When viewing the sent message in Gmail UI make sure you are using the message ID.

Cannot keep messages in the same conversation due to missing MESSAGE-ID header at Gmail

At some messages in Gmail, the MESSAGE-ID header is missing and I need to use it as IN-REPLY-TO header when replying so I can keep the replies at the same conversation.
When those emails with missing MESSAGE-ID header are replied from the Gmail's WEB UI, the replies stay with the conversation and the reply in fact acquires a IN-REPLY-TO header something looks like <-4185615914882731559#unknownmsgid> I could not discover how is this generated.
I've been trying to find a solution to this problem quite a while, ended up trying a few desktop email clients, Airmail and Sparrow to see how they behave. If I ever reply a particular email which is missing the MESSAGE-ID header using those email clients, the sent reply also acquires the same IN-REPLY-TO header <-4185615914882731559#unknownmsgid> and the reply indeed stays at the same conversation as expected.
So, I would like to ask how they achieve this, do they somehow generate the IN-REPLY-TO header <-4185615914882731559#unknownmsgid>? Is there a rule or a workaround?
This is a classic problem, every mail reader has it. The classic solution is:
copy the References field from the message you reply to, if any.
make up an In-Reply-To field, perhaps with a made-up message-id, perhaps with the sender's address and the message's date.
Keep the subject, and append "re: ".
You may also copy the Thread-Index field, if there is one.
Gmail's and most other threading algorithms will then connect the dots.
Thread-Index is a Microsoft thing, noone else uses it, as far as I know. The format of the hex blob is not specified, but copying that will help probably help Exchange, if the original message comes from Exchange.
If you just want to send an email and make sure it threads with another email in that user's inbox (and not any other gmail users that may receive the reply) then I believe you can use the Gmail API's messages.send() method and set the message.threadId to match the thread you want it to thread with.
I don't think that e-mails delivered to your gmail account have no message id. My evidence is that I just tried sending one to myself via telnet without a message id, and gmail's mx server added this
Message-Id: <54412844.63bbb40a.0772.ffffcbdcSMTPIN_ADDED_MISSING#mx.google.com>
It may be that copying a message into gmail's imap store can result in a missing message id. Eg see https://productforums.google.com/forum/#!topic/gmail/w5kgRivwbIg (though that is very old, it shows that synchronising mail to a gmail IMAP account can have this result).
The basic rule of e-mail is that if an e-mail doesn't have a message id for whatever reason, one is created for it, which is what has happened here. Hence, when you reply, the made-up message id is used in the in-reply-to header.

Email sent from lotus notes which includes sent form not working in gmail

While sending email from lotus notes to Gmail using Lotus Script, buttons are not visible in Gmail.
As Anders says, Any standard or custom Action Buttons (at the top) will not be available in Gmail. You would need to code your own Gmail interface to reproduce.
If you are talking about buttons in the actual rich text of the mail, these will definitely not get translated when the mail leaves and you should get a message saying...
"The following items cannot be sent or saved in MIME (internet mail) format."
That would be a clear sign that you are going to need to take another look at your assumptions.
If you are planning a migration, you do need to check your assumptions (and your vendor's promises) carefully, there is a lot of infrastructure and functionality that is taken for granted in the Notes/Domino stack and just not available, or significantly different, in others.
Stored forms are a feature that is unqiue to Notes. They contain Notes design elements, formulas and scripts that execute Notes functions that are provided by the Notes API DLLs that are only available in the Notes client. GMail doesn't know anything about them. Outlook doesn't know anything about them.
But if you want to send them to someone who has a GMail address but who also has the Notes client, then there is a way to do it manually using the "Send this email to other Notes mail user(s) through the Internet" feature, which appears in the Advance tab of the Delivery Options dialog that you can bring up when sending a message. There is no simple API for automating the mechanism that is used, but it can be done. It requires creating a new empty database file with a special name (encap.ond), saving your document into that database, and then attaching the the file to a new message, which will be the one that you actually send. I don't recall if any special headers are required for this, so if you want to pursue it you will have to do some investigation by using the manual process and checking out the full headers of the message on the receiving side.

Sending iCalendar to an user who's also the organizer of the event

I'm working on a C# application that sends emails containing a vCalendar event in its body. Say I (knockycode) would like to create a calendar event via this application. An email will be sent to my email address with the following body:
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:-//MyCompany//Product//EN
VERSION:2.0
BEGIN:VEVENT
DTSTAMP:20130819T084518Z
DTSTART:20051126T011300Z
SUMMARY:Testing that calendars get received
UID:MyOwnID
SEQUENCE:123
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN="knockycode#lotusnotes.com":MAILTO:knockycode#lotusnotes.com
ORGANIZER;CN="Knockycode":MAILTO:knockycode#lotusnotes.com
LOCATION:TBC
DTEND:20051126T031300Z
DESCRIPTION:Some Body\NAnother Line of the body
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:REMINDER
TRIGGER;RELATED=START:-PT02H30M00S
END:VALARM
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
Take note that the organizer and the attendee is one and the same. This is so the organizer (me/knockycode) can actually have the event created on my mail client.
On Exchange/Outlook and gmail, the email is received (and I can RSVP to the event).
However, on Domino/Lotus Notes -- the email is not received (i.e. not shown in my mailbox). Though the logs in the Domino console do say the email's sent successfully.... If the organizer's email address was different to mine though -- the email does get received and shown in my mailbox.
Is there some configuration of the Domino server that would allow this email to be received?
Or something else has to be added to the email body?
I think this per your last comment is working as designed. The ICS will just get you a notice on the calendar. I would go back to the Exchange side and use a new meeting form to get all the elements for interaction. If you pass a meeting notice to a Notes user (depending on the version that the client is using) from Exchange you can send invites out of the box. Notes can send replies back successfully in some instances. The issue might come up with reschedules and meeting cancels. These don't play well between systems well. Then you might run your present code to pass a ICS at the time of meeting change time/location. I would see how things work first then write your code. The ICS file will also work under remote devices like Apple iPhone/iPad.

Resources