Petition signature template for community campaigns

Updated 2026-10-30

A clipboard in the street collects names that are hard to read and impossible to follow up. I would rather share a link. Supporters type their own name, say where they live or work and tick that they support the cause.

Use this when

You run a local campaign, a school appeal or a community request, and want a clear list of supporters you can count, with a choice of updates.

Skip it when

Your petition needs formal, verified signatures. A council, a parliament or a court may have strict rules. This form collects typed names and a tick box. It does not verify identity or produce an official petition.

What is asked and why

  • Name, email and town: show who supports it and where.
  • Connection to the area: shows how local the support is.
  • Support tick box: the one required agreement.
  • Why you support it: quotes for your campaign, used with permission.
  • Name choice and updates box: respect privacy and consent.

What a supporter's AI would ask

"Do you support this petition?" Then "Which town or neighbourhood are you in?" Then "How may we show your name?" It shows the answers and sends only after a yes. See agent-fillable forms.

Before you share it

This is a form, not legal advice. Petition rules differ, so check the rules of your council or authority. See forms for nonprofits. Fund the campaign with a bake sale sign up sheet, and feed volunteers on a campaign day using a meal train sign-up.

Questions

Does a typed name count as a legal signature?

The form cannot verify identity, so treat typed names as support, not formal signatures. If your petition needs official signatures, follow your authority's own process.

How do I count unique supporters?

Download the CSV and sort by signer_email. Repeated emails sit together, so you can remove duplicates before you report a total.

Can I show supporters' names publicly?

The form publishes nothing. If you list supporters, use only the people who chose to show their name, and read the name_display_choice column first.

Try the form

Live demo ยท nothing is saved

Add your name to the petition

Thank you for backing this campaign. Tell us how you would like your name to be used.

Your connection to the area
I support this petition (required)
How may we show your name?
You may quote my comment without my name
Send me updates about this campaign
I will share the petition with friends

Or paste the JSON

Give this to your AI. It needs the AI Form API MCP server or an API key. It makes the form and sends you the link.

text
Create this form with the AI Form API create_form tool (or POST https://aiformapi.com/v1/forms with my API key). Then reply with the public_url.

{
  "title": "Add your name to the petition",
  "description": "Thank you for backing this campaign. Tell us how you would like your name to be used.",
  "fields": [
    {
      "id": "signer_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "signer_email",
      "label": "Your email",
      "type": "email",
      "required": true
    },
    {
      "id": "signer_town",
      "label": "Your town or neighbourhood",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "local_connection",
      "label": "Your connection to the area",
      "type": "single_choice",
      "options": [
        "I live here",
        "I work here",
        "I study here",
        "I visit often",
        "I live elsewhere"
      ]
    },
    {
      "id": "supports_petition",
      "label": "I support this petition",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "reason_for_support",
      "label": "Why do you support it?",
      "type": "long_text",
      "max_length": 800
    },
    {
      "id": "name_display_choice",
      "label": "How may we show your name?",
      "type": "single_choice",
      "options": [
        "Show my full name",
        "Show my first name and town only",
        "Keep my name private"
      ]
    },
    {
      "id": "quote_without_name",
      "label": "You may quote my comment without my name",
      "type": "checkbox"
    },
    {
      "id": "campaign_updates",
      "label": "Send me updates about this campaign",
      "type": "checkbox"
    },
    {
      "id": "will_share_link",
      "label": "I will share the petition with friends",
      "type": "checkbox"
    }
  ]
}

Or call the API

bash
curl -X POST https://aiformapi.com/v1/forms \
  -H "Authorization: Bearer $AIFORMAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Add your name to the petition","description":"Thank you for backing this campaign. Tell us how you would like your name to be used.","fields":[{"id":"signer_name","label":"Your full name","type":"short_text","required":true,"max_length":150},{"id":"signer_email","label":"Your email","type":"email","required":true},{"id":"signer_town","label":"Your town or neighbourhood","type":"short_text","required":true,"max_length":150},{"id":"local_connection","label":"Your connection to the area","type":"single_choice","options":["I live here","I work here","I study here","I visit often","I live elsewhere"]},{"id":"supports_petition","label":"I support this petition","type":"checkbox","required":true},{"id":"reason_for_support","label":"Why do you support it?","type":"long_text","max_length":800},{"id":"name_display_choice","label":"How may we show your name?","type":"single_choice","options":["Show my full name","Show my first name and town only","Keep my name private"]},{"id":"quote_without_name","label":"You may quote my comment without my name","type":"checkbox"},{"id":"campaign_updates","label":"Send me updates about this campaign","type":"checkbox"},{"id":"will_share_link","label":"I will share the petition with friends","type":"checkbox"}]}'

JSON definition

json
{
  "title": "Add your name to the petition",
  "description": "Thank you for backing this campaign. Tell us how you would like your name to be used.",
  "fields": [
    {
      "id": "signer_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "signer_email",
      "label": "Your email",
      "type": "email",
      "required": true
    },
    {
      "id": "signer_town",
      "label": "Your town or neighbourhood",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "local_connection",
      "label": "Your connection to the area",
      "type": "single_choice",
      "options": [
        "I live here",
        "I work here",
        "I study here",
        "I visit often",
        "I live elsewhere"
      ]
    },
    {
      "id": "supports_petition",
      "label": "I support this petition",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "reason_for_support",
      "label": "Why do you support it?",
      "type": "long_text",
      "max_length": 800
    },
    {
      "id": "name_display_choice",
      "label": "How may we show your name?",
      "type": "single_choice",
      "options": [
        "Show my full name",
        "Show my first name and town only",
        "Keep my name private"
      ]
    },
    {
      "id": "quote_without_name",
      "label": "You may quote my comment without my name",
      "type": "checkbox"
    },
    {
      "id": "campaign_updates",
      "label": "Send me updates about this campaign",
      "type": "checkbox"
    },
    {
      "id": "will_share_link",
      "label": "I will share the petition with friends",
      "type": "checkbox"
    }
  ]
}