Unique "reference" for form response? - forms

I just created a Google form for online enquiries for my business. I set it up so that it sends an email to the person who submits the form using the "FormEmailer" script but my question is, is there a way I can give that person or more specifically that FormEmailer generated email a unique "Reference" number at the time of submission?
Thanks in advance.
Dan

Absolutely, if you are willing to do some coding on your own.
You may want to look at the recently launched Form Notification add-on for Google Forms, which also sends emails to people who respond to a form. This add-on is meant to be a code sample, and you can find the source code on GitHub, and a quickstart about it in the Apps Script documentation.
To do what you are asking, you would just need to copy the code and add another "Reference number" field to the RespondentNotification template, and then modify the sendRespondentNotification() function accordingly. Alternatively, you can just insert the reference number into the email subject in that function.
Note that this add-on has some limitations: the number of emails sent out (like all of Apps Script) are subject to quota limits. In addition, the add-on isn't really meant used for forms with multiple collaborators/editors. However, Form Notifications should give you a good idea of how to write scripts that respond well to form submissions.

Related

Does SendGrid support double opt-in as a feature?

Does SendGrid support double opt-in to Lists as a feature or is that something we will have to implement for ourselves?
https://sendgrid.api-docs.io/v3.0/contacts-api-recipients/add-recipients
It doesn't appear to me to be anywhere in the docs, but I thought I'd ask in case I missed it.
Not as of the current date; I asked their support staff and received the following answer:
Double opt-in needs to be implemented by you in the form/page you're subscribing your recipients. The confirmation email can be sent through SendGrid.
For Marketing Campaigns we have the SendGrid’s WordPress Subscription Widget that makes it easy for people visiting your WordPress site to subscribe to your marketing emails;
or Building a SendGrid Subscription Widget.
I got this answer from their support. It turns out we have to implement it by ourselves.
The double opt-in functionality is not something SendGrid provides as
we expect our customers to handle any opt-in practices on their side.
We apologize for any inconvenience.
SendGrid will be GDPR compliant by May, 25, 2018. Please note that
SendGrid does not – and does not currently have plans to – use servers
or data centers in the European Union to process email. Thus, SendGrid
cannot restrict data to the EU. However, neither current EU law nor
the GDPR require this. Instead, what is required is that SendGrid must
provide "appropriate safeguards" for data that it hosts and processes
on its US servers (see Art 46 of the GDPR here). SendGrid offers a
Data Processing Addendum (DPA) to provide such adequate safeguards,
which includes provisions for when GDPR goes into effect.
More info on GDPR can be found here. Our DPA can be reviewed and
signed by filling out the information here.
They do not support it. I asked support many times, which is a strange as it would seem a company of that size could spare the dev resources to build a feature that literally all of their customers need.
However, https://sgwidget.com is a third party product that provides double opt in functionality for Sendgrid accounts.
Full Disclosure: I am a developer at SG Widget.
No, indeed still today, they do not. Not in their forms, nor in their API is there simple, flip-switchable support for double opt-in. But, with email automation fairly recently implemented in their marketing services ("free" and "advanced" plans, not "essential") you can send an automated email directly upon sign-up.
My solution is to have 2 lists for new contacts, where one is a "pre-confirmation" list and the other being the "real" list. Here´s a way to use automation:
Create initial signup form, either via their sparse Web forms or via your own, using HTML/JS/PHP and API endpoint:
Create 2 separate lists, one for "pre-confirmation" emails and the other for people who confirm their addresses.
Make the form sign up new contacts to the first list, "pre-confirmation".
Create a marketing automation flow that triggers upon new signups to the "pre-confirmation" list. Make the automation trigger an email that contains a button or a link with the following link structure:
https://yoursite.com?email=user#email.com&passphrase=[phrase-you-set-manually]
where ?email= is your user´s email, substitute this in the email template/design by {{ Sender_Email }}
where &passphrase= is a phrase long enough to not be guessed. Since you only have one single email design here, and you can only enter one single phrase, unless you make a script or a hash, you make it difficult enough for people to think it was generated by a server :).
On your server/application, yoursite.com, use $_POST['email'] and $_POST['passphrase'], or whatever you name them, to validate the email clicks from your list and then enter all validated emails to the correct list using the PUT
/marketing/contacts endpoint.
you may also have to delete the user from the previous list, using DELETE
/marketing/lists/{id}/contacts, but I do think that the PUT /marketing/contacts takes care of placing the contact in only the lists specified in the list_ids field.
once the contact has been entered into the correct list, you can also have a marketing automation set up for that list, which sends him/her a welcome message.
This method takes care of double opt-in for SendGrid without using one single email credit from the Email API (transactional plan). The only catch is that we utilize one initial and one second/final list to achieve it.
Note: the initial sign-up message that here acts as the "confirm your email" message, will be tied to the first list and will require a marketing unsubscribe link in the footer. Make it clear in the bottom of the email that it is a temporary list, to not get any spam complaints. But it will not be an issue, as we wont be sending to anyone in that list except for this initial time. Unless you have a user who enters his/her email twice, after some time of inactivity when they forgot they already signed up. That could happen. But it´s a separate issue.
I think this is possible by switching the flow of a typical email subscriber. When the user clicks your subscribe button, instead of calling the sendgrid members/contact PUT api to add to your list, send an email with a link to a URL of yours that will then trigger the members/contact PUT api call.
Not sure what stack you are using but I was able to build something like this with next.js utilizing their api routes

SurveyMonkey API: Using existing email collector and/or HTML in body_text programmatically

I am guessing there is no support for this, but need to confirm for a client.
I am using send_flow from the API. Is it possible to:
In any way add recipients to an existing Email Collector? The reason is that automating surveys creates quite a few collectors if done daily or more frequently.
Is it possible to send in HTML in email_message.body_text programmatically? It does state plain text in the documentation, and it does not get converted and shows up in the email as plain text. If I use the same HTML-code in an Email Collector created in the SurveyMonkey-website, it works fine, but then again I have no way of using an existing collector it seems, as in question 1.
Continuing from question 2, if we can't send in HTML programmatically, is there a way to change the default email template? The API states "Default template is used if this [body_text] is not specified", but I can't see any option of customizing this in our client-accounts.
Have also considered using a Web Link Collector and send emails outside of SurveyMonkey. The challenge with that seems to be:
Can't register [CustomData] with the responses, which is vital for the analysis, without adding potentially large dropdowns inside the survey itself.
The Survey URL is not unique in terms of forwarding it, although this can be an acceptable risk.
Thanks a lot, any ideas or feedback is appreciated.
Thanks to Tony at SurveyMonkey this was solved by him pointing to Custom Variables in the Platinum version, then adding these to a Web Link Collector and sending the HTML email from our integrating application.
http://help.surveymonkey.com/articles/en_US/kb/What-are-custom-variables-and-how-do-I-use-them
The problem with web link collector is that there is no way to track response rate since SurveyMonkey doesn't know how many links were sent out. I don't know a way around this.

Netsuite Show Purchase Order in Email Template

I am trying to show the customer's purchase order number in the order-fulfilled email template. It's my own template design with the standard tags that netsuite provides.
I sent them a ticket asking if they have a tag like that, and apparently they do not. They said that feature in unavailable.
Is there a way that I can put a code into the email template that when the customer reads their email, they can view their purchase order number?
that's our customer's #1 question in regards to all the calls that we get is what their purchase order is. This can definitely help us out. I'm new to netsuite so I still do not know how to code around it or create a new tag.
Should work - This is the Live version we use. Like they said, NLTRANID...but that is our PO reference for them which is our internal number...your client likely wants their clients' Reference PO numbers for b2b transaction transparency.
To:
<NLBILLADDRESS>
We are sending you the Purchase Order No <NLTRANID> as PDF attachment
Try this one too: <NLOTHERREFNUM>

How can I trigger custom emails to be sent in wordpress?

My goal is to use a user's answers to a few questions to trigger custom emails being sent to them with filtered content on my wordpress website. It seems like this is a common need, but can't find anything that allows it, or even is the right base to build a custom solution.
There are 3 main features I'm needing to do: First, the signup form lets users choose a few criteria via selection boxes.
Next, the captured information triggers an email being sent that matches the content they chose. For example, if the user says they're interested in waterskiing, the email that is auto sent would show the most recent posts in the water-skiing category.
Finally, the user responses would need to be saved to trigger actions at a later time if the content is not available yet. So for example, if they are interested in bowling, but there are no entries on bowling, nothing happens. However, once a post gets entered in this category, they are automatically emailed with that recent entry.
Any clarity you can provide here on plugins, software, etc that would lend to this functionality is much appreciated!!

Integrating dynamic content into mass email

We're looking for the best way to integrate dynamic content into emails sent by various individuals (or companies) using various mass mailing systems, some of them proprietary.
What are the options to do that and what are the advantages and disadvantages?
For example, I guess that one of the options is to add an iframe to the emails. In this case the url for the iframe content will carry a token which will identify the specific email, and our system will generate the iframe content.
Any advice on the subject is highly appreciated.
Most email readers won't allow you to input dynamic content into emails. Unfortunately there's no way round this other than asking the users to click a link to get to the content (something I've seen done before).
Almost all email clients nowadays do not even download images from remote locations unless explicitly told to do so, let alone displaying iframes. So your best bet will be to ask users to click some link.
I created a multi threaded email mailer that has to generate unique content for each user. Each thread is creating the body of the email. Each section in the email has reference links to the detail page of that record inside the system