Renewal form for clubs, associations and memberships

Updated 2026-10-30

Renewal season is a month of chasing. I would rather send one link and let each member say yes, change or no. The yeses come back in a sheet, and the reasons for leaving show me what to fix.

Before renewals open

Edit the tier names to match your club. Write the renewal date and fee rules in the form description. The form takes no payment, so say how members pay. Set close_at to the renewal deadline.

While renewals come in

Members open the link, or hand it to their AI, which might ask: "Do you want to renew the same membership?" Then "Have your contact details changed?" Then "What should we do better next year?" It shows the answers and sends only after a yes. See agent-fillable forms.

After the deadline

Download the CSV and match renewals to payments in your own books. Compare the names missing from the sheet with your member list, and message those people. Read the feedback box before your next planning meeting. See forms for nonprofits. Welcome new people with a membership application form, and ask long-standing members to help through a volunteer application form.

Questions

Can the form take the renewal fee?

No. It records each member's choice. Collect fees through your normal route and match payments to the renewals in your own books.

How do I keep one row per member?

Members may send the form twice. Sort the CSV by member_email and keep the newest row for each person.

What do I do with the reasons for leaving?

Count them in the CSV. If cost is the top reason, review your tiers. If time is the top reason, offer lighter ways to take part.

Try the form

Live demo ยท nothing is saved

Renew your membership

Tell us whether you would like to renew, change or step back. It helps us plan the year ahead.

Your current membership
What would you like to do? (required)
If you are changing, which membership?
What would you like from us this year?
If you are not renewing, why?
Keep me on the mailing list
I confirm my choice above (required)

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": "Renew your membership",
  "description": "Tell us whether you would like to renew, change or step back. It helps us plan the year ahead.",
  "fields": [
    {
      "id": "member_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "member_email",
      "label": "Your email",
      "type": "email",
      "required": true
    },
    {
      "id": "member_phone",
      "label": "Your phone",
      "type": "phone"
    },
    {
      "id": "membership_number",
      "label": "Membership number, if you have one",
      "type": "short_text",
      "max_length": 40
    },
    {
      "id": "current_tier",
      "label": "Your current membership",
      "type": "single_choice",
      "options": [
        "Individual",
        "Family",
        "Student",
        "Senior",
        "Associate"
      ]
    },
    {
      "id": "renewal_choice",
      "label": "What would you like to do?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Renew the same membership",
        "Change my membership type",
        "Not renew this year"
      ]
    },
    {
      "id": "new_tier",
      "label": "If you are changing, which membership?",
      "type": "single_choice",
      "options": [
        "Individual",
        "Family",
        "Student",
        "Senior",
        "Associate"
      ]
    },
    {
      "id": "contact_changes",
      "label": "New address or phone, if either has changed",
      "type": "long_text",
      "max_length": 400
    },
    {
      "id": "interests_this_year",
      "label": "What would you like from us this year?",
      "type": "multi_choice",
      "options": [
        "Events",
        "Newsletter",
        "Training",
        "Social nights",
        "Committee work",
        "Volunteering"
      ]
    },
    {
      "id": "reason_for_leaving",
      "label": "If you are not renewing, why?",
      "type": "single_choice",
      "options": [
        "Cost",
        "Moved away",
        "Less free time",
        "Not what I expected",
        "Other reason"
      ]
    },
    {
      "id": "do_better_next_year",
      "label": "What should we do better next year?",
      "type": "long_text",
      "max_length": 1000
    },
    {
      "id": "stay_on_mailing_list",
      "label": "Keep me on the mailing list",
      "type": "checkbox"
    },
    {
      "id": "choice_confirmed",
      "label": "I confirm my choice above",
      "type": "checkbox",
      "required": true
    }
  ]
}

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":"Renew your membership","description":"Tell us whether you would like to renew, change or step back. It helps us plan the year ahead.","fields":[{"id":"member_name","label":"Your full name","type":"short_text","required":true,"max_length":150},{"id":"member_email","label":"Your email","type":"email","required":true},{"id":"member_phone","label":"Your phone","type":"phone"},{"id":"membership_number","label":"Membership number, if you have one","type":"short_text","max_length":40},{"id":"current_tier","label":"Your current membership","type":"single_choice","options":["Individual","Family","Student","Senior","Associate"]},{"id":"renewal_choice","label":"What would you like to do?","type":"single_choice","required":true,"options":["Renew the same membership","Change my membership type","Not renew this year"]},{"id":"new_tier","label":"If you are changing, which membership?","type":"single_choice","options":["Individual","Family","Student","Senior","Associate"]},{"id":"contact_changes","label":"New address or phone, if either has changed","type":"long_text","max_length":400},{"id":"interests_this_year","label":"What would you like from us this year?","type":"multi_choice","options":["Events","Newsletter","Training","Social nights","Committee work","Volunteering"]},{"id":"reason_for_leaving","label":"If you are not renewing, why?","type":"single_choice","options":["Cost","Moved away","Less free time","Not what I expected","Other reason"]},{"id":"do_better_next_year","label":"What should we do better next year?","type":"long_text","max_length":1000},{"id":"stay_on_mailing_list","label":"Keep me on the mailing list","type":"checkbox"},{"id":"choice_confirmed","label":"I confirm my choice above","type":"checkbox","required":true}]}'

JSON definition

json
{
  "title": "Renew your membership",
  "description": "Tell us whether you would like to renew, change or step back. It helps us plan the year ahead.",
  "fields": [
    {
      "id": "member_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "member_email",
      "label": "Your email",
      "type": "email",
      "required": true
    },
    {
      "id": "member_phone",
      "label": "Your phone",
      "type": "phone"
    },
    {
      "id": "membership_number",
      "label": "Membership number, if you have one",
      "type": "short_text",
      "max_length": 40
    },
    {
      "id": "current_tier",
      "label": "Your current membership",
      "type": "single_choice",
      "options": [
        "Individual",
        "Family",
        "Student",
        "Senior",
        "Associate"
      ]
    },
    {
      "id": "renewal_choice",
      "label": "What would you like to do?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Renew the same membership",
        "Change my membership type",
        "Not renew this year"
      ]
    },
    {
      "id": "new_tier",
      "label": "If you are changing, which membership?",
      "type": "single_choice",
      "options": [
        "Individual",
        "Family",
        "Student",
        "Senior",
        "Associate"
      ]
    },
    {
      "id": "contact_changes",
      "label": "New address or phone, if either has changed",
      "type": "long_text",
      "max_length": 400
    },
    {
      "id": "interests_this_year",
      "label": "What would you like from us this year?",
      "type": "multi_choice",
      "options": [
        "Events",
        "Newsletter",
        "Training",
        "Social nights",
        "Committee work",
        "Volunteering"
      ]
    },
    {
      "id": "reason_for_leaving",
      "label": "If you are not renewing, why?",
      "type": "single_choice",
      "options": [
        "Cost",
        "Moved away",
        "Less free time",
        "Not what I expected",
        "Other reason"
      ]
    },
    {
      "id": "do_better_next_year",
      "label": "What should we do better next year?",
      "type": "long_text",
      "max_length": 1000
    },
    {
      "id": "stay_on_mailing_list",
      "label": "Keep me on the mailing list",
      "type": "checkbox"
    },
    {
      "id": "choice_confirmed",
      "label": "I confirm my choice above",
      "type": "checkbox",
      "required": true
    }
  ]
}