Organization administrators are able to add custom petition signature fields to individual petitions. These custom fields allow organizations to collect information that's specific to a single petition – maybe you want to know if signers work for the company the petition is targeting, or you'd like to know which city library they most often attend when the petition is trying to stop cuts to the library system. With custom fields, you can collect that information and help strengthen your campaign.
For organizations using Blue State Digital, we can automatically sync custom field responses with BSD. (A bit of work is also required for each petition.) For the sync to work, you'll need to prepare your BSD instance. If you'd like us to take care of it for you, send an email to firstname.lastname@example.org. Otherwise, complete the following steps (images are included below – just click (?)):
1. From your BSD dashboard, click to Manage Signup Forms from the left sidebar. (?)
2. From the top of the Manage Signup Forms page, click to "Create a new signup form." (?)
3. This will bring you to the "Step 1" page, where you can enter basic information about the new form. Here's the information you'll need to add:
- In "Form Name" enter something like: ControlShift Clonable Template. It doesn't matter what the actual name is, it should just be something that's recognizable to the people using your BSD account.
- In "Public Title" enter anything you'd like. During our setup, we use "na." Note that some punctuation, like /, is not accepted in this field.
- In the "HTML – Thank You Page" box, enter some text. This is required by BSD, but won't be used or shown.
- Next go to the "Additional Sign Up Form Options" section of the page. The form defaults to enforcing country rules, meaning that it will validate that phone numbers and post codes are accurate. Set the "Enforce Country Rules" to No and the default country to blank (at the top of the dropdown list). The ControlShift platform will enforce country specific validations before sending data to BSD.
- For "Automatically subscribe users," select the "User opt-in" option.
- Click to Save and Continue at the bottom of this page.
4. The "Step 2" page gives a list of form fields, whether they are required, and the field labels associated with them. For this form, the following settings are needed (note that these fields are case sensitive and should all be lower case)(?):
|Field Name||Require Input||Field Label|
|First Name||Not Required*||first_name|
|Last Name||Not Required*||last_name|
|Postal Code||Not Required*||postcode|
*While these fields are normally required by ControlShift, please set them to "Not Required" for the sync to work correctly.
5. Click to Save Changes and your form will be updated. Before closing this page, look at the full URL included in your address bar. At the end of the URL there should be a string that says "signup_form_id=###". Note the number that's included at the end. We'll need you to send us (via email@example.com) the form's ID number. (?)
6. Next, click the name of your BSD account. This will open a dropdown menu. In this menu, click the "Administrative tools" option. Here you'll see a list of the API Users connected to your account. ControlShift should be one of those users (assuming you're already syncing ControlShift data with your BSD account). Click to edit the user and check the box to give us permission to call the "get_constituents_by_email" endpoint. (?)
7. That's it. Once you've sent us the new form's ID number, we'll do some final set up behind the scenes and once we've finished, you'll be able to begin syncing custom fields.
Keep in mind that we currently require some additional petition-level form updates for the petitions that have custom fields enabled.
Step 1: Click to Manage Signup forms.
Step 2: Create a new sign up form
Step 4: Set field labels
Step 5: Note the form's ID number
Step 6: Click the name of your organization and then choose Administrative Tools from the dropdown