azure logic app not able to retrieve who is the approver after approving the mail(UserEmailAddress- showing Null) - azure-logic-apps

I have created a flow using logic apps where once the owner approves the mail I need to know who approved that mail. While using normal my account I am able to retrieve the user who approved the mail but while using the service account am not able to retrieve the values. All the values its showing as null while using the service account.
How do I get the --> email address <-- of the user that selects 'Approve' or 'Reject' buttons in the email? If an email is forwarded to another person I would like to know who (email address) clicked approve or reject.

After reproducing from my end, I observed that when the mail is viewed in HTML format this doesn't work and also while forwarding the mail, but this works when the response is sent through the adaptive cards and not the HTML message that are received during the Send email with options action. One way that this can work is when you use only the adaptive cards that are send as the request.
RESULTS:
and when you use HTML responses then below is something how you'll be receiving the response.
You can also try Creating your own actionable messages for Flow Approvals by StefanS365 where in you add provider in Actionable Email Developer Dashboard and request the approvals.

Related

How to send email from delegated account using Gmail API

I have created an automated google script to send notification email on periodic basis but I want mail to be send from my delegated account since I logged in using my primary email, so I can't send it through my delegated email account.
I tried to achieve the same using send email as functionality but it is not working, recipients are receiving mails from my primary address.
Please provide your inputs
Thanks
First you need to add the delegated account in your usual inbox. Go to:
Settings>Accounts>Send mail as:>add another email address
Make sure that the "Treat as alias" checkbox is checked; submit and verify the request.
Second, you can access all the aliases with GmailApp.getAliases().
Finally, you are able to choose the alias with the Gmail Draft or Message Services by changing the from field in the option object.
https://developers.google.com/apps-script/reference/gmail/gmail-draft#update(String,String,String,Object)

AppEngine gmail - missing email in chat message

Is there any reason, why I don't get email along with chat message retrieved by gmail.users.messages.get? When I try to execute the request via API explorer I can see the email in "From" field of the MessagePartHeader, however when I try it programmatically, the email is missing (using the same paramters as in API explorer).

How to forward emails from Google Apps (Gmail) to Sendgrid?

I am trying to use Sendgrid as SMTP server for sending all emails from my users using Google Apps for email.
The catch is that Sendgrid requires password authentication and i couldn't find a way in Google apps Admin console to out that in (theough of coruse, there are ways to enter the SMTP server IP, but it doesn't work).
How to hook SendGrid to Free Gmail account (Not Google for work account)?
See: https://support.google.com/mail/answer/22370?hl=en
Click the gear in the top right.
Select Settings.
Click the Accounts and Import tab.
Under Send mail as, click Add another email address.
Click Add account >>
Give a descriptive name to this new "email transmitter" (e.g. "Send mails via SendGrid")
Give any email address that belong to you but not a GMAIL email (e.g myemail#mydomain.com)
Uncheck the Alias check mark
Change your SMTP to smtp.sendgrid.net
Use ports 587 for plain/TLS connections .
SendGrid username (sendgridname)
SendGrid password (sendgridpassword)
Gmail will send you a verification email to the "transmitter email" (e.g to myemail#mydomain.com)
Open your other account (mantas.hof.hefer#hhcc.org.il) and either click the link in the message Gmail sent or enter the confirmation code in the Accounts and Import section of your Gmail settings.
Whenever you want to send email from Gmail via SendGrid when you compose the email, in the “from” field select the SendGrid email (rami via SendGrid).
The will be send as like it has been send from the “email transmitter” (e.g it will send to myemail#mydomain.com).
Type the verification code and you are set.
Next time you want to compose an email from Gmail please select the field "FROM" and choose the new "transmitter email" (e.g. "Send mails via SendGrid"). Write your email and send it. It will be send via SendGrid.
If you login into your SendGrid account you can find many statistics on this email such as how many people have open this email. (https://sendgrid.com/logs/index).
The only thing that I couldn't figure is how use the SMTP protocol from GOOGLE JAVASCRIPT (not java) in order to manipulate my emails.
There are many SendGrid SMTP commands that can be added to the message headers but I couldn't figure how to do it.
The sendgrid API auth's from within the request. Simply use UrlFetch to send POST requests containing your API creds to the sendgrid endpoint.
If anyone comes across this answer as I did via a Google search, this update might help. The answer provided by #rmisegal is basically correct but you now use an API key from SendGrid.
You can setup an SMTP email API key via the SendGrid dashboard:
Log into your sendGrid Account.
Click on your account name in the top left of the dashboard and select Setup Guide from the drop down menu.
Press the start button next to the "Integrate using Web API or SMTP relay"
Follow the wizard steps to create your API key.
Follow the instructions provided rmisegal except provide a user name of apikey and use the apiKey from SendGrid as the password.

Retrieve a logged in Google Glass User's email address?

We are attempting to be able to provide the ability for a Glass user to request an email to be sent to them from a Timeline Card. On the notify callback Servlet, we are attempting the following to retrieve a user's email address:
String userId = notification.getUserToken();
Credential credential = AuthUtil.getCredential(userId);
Mirror mirrorClient = MirrorClient.getMirror(credential);
Contact contact = MirrorClient.getContact(credential, userId);
We do not get a result back when retrieving an email off of the UserInfo object of a authenticated user. Our application has the following scopes available to the application server:
"https://www.googleapis.com/auth/glass.timeline "
"https://www.googleapis.com/auth/glass.location "
"https://www.googleapis.com/auth/userinfo.profile "
"https://www.googleapis.com/auth/userinfo.email "
"https://www.googleapis.com/auth/contacts"
Are we allowed to retrieve the authenticated user's email address, is there a permission I am missing or is there another means by which to request that data?
The getContact call you are making doesn't have anything to do with the user's email address. You can read up on what Contact is referring to here:
https://developers.google.com/glass/contacts
To get the user's email address, I've successfully used the same auth token used to authorize the Glass mirror API app with the added scope you mention to call this URL:
https://www.googleapis.com/userinfo/email?alt=json
This method seems to stop working after the initial authorization at some point, so be sure to do it when the user first authorizes the app and save off the email.
Although I've also just gotten the email off AppEngine's UserService before as well, which is easier if you happen to be running on AppEngine:
https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/users/UserService
So the question boils down to "Why am I not getting contact info for this userID that I am sending to the Google Mirror service?"
The Mirror service only provides contact information for Contacts that your Glassware has added. See https://developers.google.com/glass/contacts for more about Contacts in Glass and how to add Contacts. Unless you have already added a Mirror Contact with this userId, you won't get anything back.
The Mirror service does not provide direct access to the information from userinfo.info or userinfo.email. You will need to get it out using the OAuth2 libraries first if you want to add them as a Contact for Glass.

How can my appengine app send mail using the senderid of domain that installed the app

Say I have an appengine app called foo at foo.appspot.com and my email i.e. adminfoo(at)gmail.com is it's adminstrator.
Now, I want to sell this service to blah.com. blah.com has a google app account and 'adds' the foo application and sets the url http://foo.blah.com to point to it.
Now, using the new namespace manager, I carve out separate data for blah.com but when blah.com wants to send out email currently the only way it is possible is either
sender is admin i.e. adminfoo (at) gmail.com
or foo.appspot.com has to add someone(#)blah.com as a developer
Is there any other way? What happens if one has 1,000's of customers ?
Also, the docs state that the email sender can be 'the currently logged in user'. So, if someone(at)blah.com were to 'login' using the google login and 'stay logged in to the app' than can the app send email on behalf of someone(at)blah.com with someone(at)blah.com being the sender?
The other way is that your app can send email as anything#appid.appspotmail.com, where 'appid' is its App ID. As you say, you can also send email as the logged in user - but only on requests made by that user - so sending mail as them from the Task Queue is out.
You might want to look into an 3rd party E-Mail provider. We use http://postmarkapp.com/ for our AppEngine projets (via huTools.postmark) and we love it.

Resources