Lua Scripting Resources

Important Update to Custom Scripting

SurveyGizmo's CustomScript Action now supports the LUA programming language.


Legacy Custom Scripting Language Deprecation Plans 

  1. New accounts (created after October 29, 2018) will only have the option to use Lua in scripts.
  2. As of October 29, 2018 Custom Scripting Actions will default to Lua as the scripting type in the Custom Scripting Action for accounts created before this date. You will be able to switch to the Legacy Custom Scripting; though we highly encourage using Lua.
  3. In the long term, Legacy Custom Scripting Actions will be switched to read-only. Read-only scripts will continue to function; you will just be prevented from editing. The exact date on this is to be determined; we will send notifications well ahead of time.


 Go to our Legacy Scripting Documentation.

While SurveyGizmo is one of the most flexible survey tools around, we get requests for customizations that are not available out of the box. This is where JavaScript and Custom Scripting can save the day. If you have scripting chops you can use the JavaScript action or the Custom Scripting action to achieve the survey of your dreams.


[article("bodfy")]

This function adds a new contact or updates an existing contact inside of an Email List (as opposed to an email campaign). Email Lists allow account administrators to manage contacts for email lists at the account level rather than the campaign level (see addcontacttoinvite). 

Parameters
Description
Required
listID
the ListID of your email list. You can find the List ID in your URL by going to Account > Email Lists and clicking into the email list. You'll see the variable gid=#.
true
emailaddress
the email address of the contact you'd like to add
true
fields
an array of the contact fields you'd like to update
false
customfields
an array of the custom invite fields you'd like to update
false

*Provide parameters in the above order.

fields and customfield array keys*
Invite Contact Field
sFirstName
First Name
sLastName
Last Name
sOrganization
Organization
sDivision
Division
sDepartment
Department
sTeam
Team
sGroup
Group
sRole
Role
sHomePhone
Phone (Home)
sFaxPhone
Phone (Fax)
sBusinessPhone
Phone (Work)
sMailingAddress
Address
sMailingAddress2
Suite/Apt
sMailingAddressCity
City
sMailingAddressState
Region
sMailingAddressPostal
Postal Code
sMailingAddressCountry
Country
sTitle
Job Title
sURL
Website
sCustom1-10
Invite Custom Field 1-10

*Parameters are case sensitive and are defined as an array where the key is the field name.

Example

This script allows you to collect contact information in one survey and update an Email List with that new contact information in another survey.

In the below example we use addcontacttolist to update contact list 102 with the email, first name, last name, and birthdate collected in the survey.

listid = 102
email = getvalue(2)
firstname = getvalue(4)
laststname = getvalue(5)
birthdate = getvalue(6)

fields = {}
fields["sFirstName"] = firstname
fields["sLastName"] = lastname

customfields = {}
customfields["birthdate"] = birthdate

addcontacttolist(listid, email, fields, customfields)