workflow - if then (email notif not working) - sharepoint

1 Click to see image
I'm currently doing a workflow with email notification such as below:
If status is pending and NOT modified by request owner, then email the request owner
if status is pending and is modified by request owner, then email the lead (field: email address)
my problem is that for # 2, email goes to the request owner instead of the lead (field: email address)
Here's the workflow:
if current item:status equals pending
and current item: Modified by not equals current item:request owner
email current item: request owner
if current item:status equals pending
and current item: Modified by equals current item:request owner
email current item: email address

Related

SuiteScript Email Failure

I'm trying to send an email in a 2.0 suitescript (scheduled). My code is very simple:
email.send
({
author: 123,
recipients: 123,
subject: 'Errors',
body: 'Please see attachment'
})
That's it. The email shows up in the Sent Email list, which seems to show everything fine:
Sent Date 04/27/2021 17:21
Log Date 04/27/2021 17:21
From "<my name> (<my email address>)" <system#sent-via.netsuite.com>
Subject [SANDBOX] Errors
To Recipients <my name> (<my email address>)
CC Recipients
BCC Recipients
Message-ID <fknhf2pr4jqaxt5dmqc56ab2353384v9zj0qr1i6ke5fz9n3o7u6w0o8alojgm0w#netsuite.com>
Status Not Sent
Unchecked Compliance Verified
Body Please see attachment
I note, however, that in the sent email the RECIPIENT list is empty - my email does not appear; no emails do.
The email doesn't arrive. So no apparent errors - it just doesn't arrive, and NetSuite says it was not sent, although it doesn't seem to say why.
Check Sandbox "email delivery preferences". As an Administrator go to Setup > Company > Email > Email Preferences > Sandbox and Release Preview subtab (Sandbox Options heading). There are options there to dictate who Sandbox emails are sent to. You can reference Suite Answer Id 20152 for more information. If there's still as issue confirm the specified employee internal id actually has an email address stored in the record.

Stripe Session Getting Customer Name

I would also like to retrieve the name of the person who paid. How can I get the name value from the stripe session? I have tried this:
const sessions = await stripe.checkout.sessions.list({
limit: 1,
});
console.log(sessions.data[0].customer)
const customer = await stripe.customers.retrieve(sessions.data[0].customer);
console.log(customer)
which gets me the email, but the name is null.
UPDATE: Customers created through Checkout have a null name because it is not collected/set. The "name on card" field on the Checkout page is for the cardholder name for the payment method, not the name of the customer (see https://stripe.com/docs/api/payment_methods/object#payment_method_object-billing_details-name). If you want a Customer created through Checkout to not have a null name, you'll have to update the Customer after the session is completed.
Stripe has a dashboard setting (https://dashboard.stripe.com/settings/emails) you can enable that automatically sends receipts to customers for successful payments completed in live mode. Payments completed in test mode will not automatically send an email, but you can trigger one manually through the dashboard. You can read more about sending receipts here: https://stripe.com/docs/receipts#automatically-send-receipts-when-payments-are-successful.
If you want to grab the customer’s email and send a receipt yourself it’ll be a bit more complicated.
Wait for the Checkout Session to finish by listening for checkout_session.completed through a webhook endpoint (https://stripe.com/docs/payments/checkout/fulfill-orders#handle-the-checkoutsessioncompleted-event).
Grab the customer ID from the Checkout Session object that comes in with the checkout_session.completed event.
Using the customer ID from the previous step, retrieve the Customer object (https://stripe.com/docs/api/customers/retrieve) and get the customer’s email.

Guest User Invitation Not Sending Email

I am using the guest user invitation api as defined here to add a guest user to my Active Directory.
The post request succeeds with a 201 response code and returns the following data:
{
"#odata.context":"https://graph.microsoft.com/v1.0/$metadata#invitations/$entity",
"id":"xxx",
"inviteRedeemUrl":"https://invitations.microsoft.com/redeem/?tenant=xxx&ticket=xxx&ver=2.0",
"invitedUserDisplayName":"xxx",
"invitedUserType":"Guest",
"invitedUserEmailAddress":"xxx#gmail.com",
"sendInvitationMessage":false,
"inviteRedirectUrl":"http://localhost:4200/",
"status":"PendingAcceptance",
"invitedUserMessageInfo":{
"messageLanguage":null,
"customizedMessageBody":null,
"ccRecipients":[
{
"emailAddress":{
"name":null,
"address":null
}
}
]
},
"invitedUser":{
"id":"xxx"
}
}
When I check the active directory using the Azure UI, I see that the user is created in the directory. But I never receive an invitation email, unless I click the resend invite button in the UI for the user.
How can I make sure that an invite email is sent when I send my request to the invite api, without having to manually click the resend invite button for the user?
Silly mistake on my part. You need to add the sendInvitationMessage: true property in your request json payload in order to send the email. The documentation for allowed properties in your request object is here https://learn.microsoft.com/en-us/graph/api/resources/invitation?view=graph-rest-1.0

Docusign use replyEmailAddressOverride to send signed docs to a different recipient

My company is trying to avoid having many Docusign logins for the group (group X) using Docusign. We were wondering about using one login to do the create, but override the email settings to have it go to members of group X without them having to have Docusign credentials. I was wondering if that would be possible with the replyEmailAddressOverride.
You can do so by using the "Send On Behalf Of" feature where you specify an email address in the authentication header in order to "assign" each transaction to a specific person with the same and unique credentials.
{
"Username": "",//Email of Group X credentials
"Password": "", // Password of Group X credentials
"IntegratorKey": "",// Integrator Key of Group X credentials
"SendOnBehalfOf": "" // Email of the specific person to be assigned the DocuSign transaction
}
If I understand your question correctly, I am not sure that using the replyEmailAddressOverride feature will accommodate what you need.
From the official documentation, this email will be used when the user decided to "reply" to the email sent from DocuSign.
Example in C# below :
EmailSettings settings = new EmailSettings
{
ReplyEmailAddressOverride = "otherUserThanTheSende#fakeemail.com",
ReplyEmailNameOverride = "Other User"
};
envelope.EmailSettings = settings;
If you configure the above email settings, when the signer receives the DocuSign email inviting him to initiate the signing ceremony, if he/she decides to reply to this email, the original DocuSign sender email will not be used but instead the email you have configured will be used.
Example, my "Frederic "account was used to create a transaction so the sender appears as "Frederic" in the DocuSign email. However, when I decide to reply, it doesn't go back to "Frederic" but instead to the user I have configured in the envelope :
But if I understand correctly, you want to send a transaction from a specific sender and this email override setting doesn't affect the transaction sender but the transaction reply.
If you want to use replyEmailAddressOverride and replyEmailNameOverride as present in DS Docs then when an email goes to the signer from DocuSign and if they want to revert to that email then it will go the email which is mentioned in replyEmailAddressOverride property

Docusign Envelope ID -> email address

In Docusign, given an envelope Id, how can I get at some identifying info (e.g. email address) as to who originated/created/sent the document using the API only?
Thanks.
It depends on your use-case. One way is to make the Get Envelope Recipient Status API call which will return status - and other metadata such as email, name, recipientId, etc. - for the envelope recipients:
Get Envelope Recipient Status
You can also make the Get Envelope Audit Events API call, which will return some identifying info such as email and name and also what actions were taken:
Get Envelope Audit Events
Lastly, I believe the Get Envelope Certificate API call will probably return the most complete audit trail since it's returns the CoC (Certificate of Completion) which lists anything and everything any recipient has ever done to the envelope. However the result of this call is a PDF (doc) so you'd have to parse that doc for specific information you're looking for.
Get Envelope Certificate

Resources