Program evaluation form for honest feedback after every cycle

Updated 2026-10-30

The grant report is due, and all you have is a few kind words at the door. I would rather ask everyone the same questions once the program ends. One link goes out, and the answers come back as rows you can sort.

Who it is for

Nonprofit teams that report to funders, and school or after-school staff who want to improve a program year on year.

What each question is for

  • Role and sessions joined: so you can read a parent's view apart from a volunteer's.
  • Three ratings: one for the whole program, one for the teaching, one for the leaders. They show where to look first.
  • Goal reached and gains: the outcome side, which funders ask about.
  • Two open questions: what changed for the person, and what to change next time.
  • Quote permission: lets you reuse a comment without chasing anyone.

What a participant's AI would ask

"Which program did you take part in?" Then "How many sessions did you join?" Then "What should we change next time?" It shows every answer and sends only after a yes. Read more about agent-fillable forms.

Before you use it

Send it soon after the last session, while memories are fresh, and set a close date. More ideas are in forms for nonprofits and forms for schools. A volunteer application brings in helpers for the next cycle. A scholarship application suits programs with limited places.

Questions

How do I compare one program cycle with the next?

Create one form per cycle and keep the questions the same. Download each as CSV and put the rating columns side by side. Changing the wording between cycles weakens the comparison.

Can parents answer for young participants?

Yes. The role question tells you whether a parent, volunteer or participant is answering, so you can filter the CSV by role and read each group on its own.

How do I get honest answers?

Keep the email field optional and say so in the form description. A visitor can also let their own AI draft the answers, then check them before anything is sent.

Try the form

Live demo ยท nothing is saved

How was the program for you?

Your answers help us decide what to keep, change or drop next time. You can skip anything you prefer not to answer.

Your role (required)
How many sessions did you join?
How would you rate the program overall? (required)
How useful was what we taught?
How well did the leaders explain and support?
Did the program help with what you hoped for?
What did you gain?
Would you tell a friend to join?
You may quote my comments without my name

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": "How was the program for you?",
  "description": "Your answers help us decide what to keep, change or drop next time. You can skip anything you prefer not to answer.",
  "fields": [
    {
      "id": "program_name",
      "label": "Which program did you take part in?",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "participant_role",
      "label": "Your role",
      "type": "single_choice",
      "required": true,
      "options": [
        "Participant",
        "Parent or guardian of a participant",
        "Volunteer or mentor",
        "Staff member"
      ]
    },
    {
      "id": "sessions_joined",
      "label": "How many sessions did you join?",
      "type": "single_choice",
      "options": [
        "Almost all",
        "About half",
        "Only a few",
        "Just one"
      ]
    },
    {
      "id": "overall_rating",
      "label": "How would you rate the program overall?",
      "type": "rating",
      "required": true,
      "min": 1,
      "max": 5
    },
    {
      "id": "teaching_rating",
      "label": "How useful was what we taught?",
      "type": "rating",
      "min": 1,
      "max": 5
    },
    {
      "id": "leaders_rating",
      "label": "How well did the leaders explain and support?",
      "type": "rating",
      "min": 1,
      "max": 5
    },
    {
      "id": "goal_reached",
      "label": "Did the program help with what you hoped for?",
      "type": "single_choice",
      "options": [
        "Yes, fully",
        "Partly",
        "Not really"
      ]
    },
    {
      "id": "gains",
      "label": "What did you gain?",
      "type": "multi_choice",
      "options": [
        "New skills",
        "New friends",
        "More confidence",
        "Useful contacts",
        "Practical help",
        "Nothing yet"
      ]
    },
    {
      "id": "what_changed",
      "label": "What changed for you because of the program?",
      "type": "long_text",
      "max_length": 1500
    },
    {
      "id": "change_next_time",
      "label": "What should we change next time?",
      "type": "long_text",
      "max_length": 1500
    },
    {
      "id": "would_recommend",
      "label": "Would you tell a friend to join?",
      "type": "single_choice",
      "options": [
        "Yes",
        "Maybe",
        "No"
      ]
    },
    {
      "id": "quote_without_name",
      "label": "You may quote my comments without my name",
      "type": "checkbox"
    },
    {
      "id": "follow_up_email",
      "label": "Email, only if you want us to follow up",
      "type": "email"
    }
  ]
}

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":"How was the program for you?","description":"Your answers help us decide what to keep, change or drop next time. You can skip anything you prefer not to answer.","fields":[{"id":"program_name","label":"Which program did you take part in?","type":"short_text","required":true,"max_length":150},{"id":"participant_role","label":"Your role","type":"single_choice","required":true,"options":["Participant","Parent or guardian of a participant","Volunteer or mentor","Staff member"]},{"id":"sessions_joined","label":"How many sessions did you join?","type":"single_choice","options":["Almost all","About half","Only a few","Just one"]},{"id":"overall_rating","label":"How would you rate the program overall?","type":"rating","required":true,"min":1,"max":5},{"id":"teaching_rating","label":"How useful was what we taught?","type":"rating","min":1,"max":5},{"id":"leaders_rating","label":"How well did the leaders explain and support?","type":"rating","min":1,"max":5},{"id":"goal_reached","label":"Did the program help with what you hoped for?","type":"single_choice","options":["Yes, fully","Partly","Not really"]},{"id":"gains","label":"What did you gain?","type":"multi_choice","options":["New skills","New friends","More confidence","Useful contacts","Practical help","Nothing yet"]},{"id":"what_changed","label":"What changed for you because of the program?","type":"long_text","max_length":1500},{"id":"change_next_time","label":"What should we change next time?","type":"long_text","max_length":1500},{"id":"would_recommend","label":"Would you tell a friend to join?","type":"single_choice","options":["Yes","Maybe","No"]},{"id":"quote_without_name","label":"You may quote my comments without my name","type":"checkbox"},{"id":"follow_up_email","label":"Email, only if you want us to follow up","type":"email"}]}'

JSON definition

json
{
  "title": "How was the program for you?",
  "description": "Your answers help us decide what to keep, change or drop next time. You can skip anything you prefer not to answer.",
  "fields": [
    {
      "id": "program_name",
      "label": "Which program did you take part in?",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "participant_role",
      "label": "Your role",
      "type": "single_choice",
      "required": true,
      "options": [
        "Participant",
        "Parent or guardian of a participant",
        "Volunteer or mentor",
        "Staff member"
      ]
    },
    {
      "id": "sessions_joined",
      "label": "How many sessions did you join?",
      "type": "single_choice",
      "options": [
        "Almost all",
        "About half",
        "Only a few",
        "Just one"
      ]
    },
    {
      "id": "overall_rating",
      "label": "How would you rate the program overall?",
      "type": "rating",
      "required": true,
      "min": 1,
      "max": 5
    },
    {
      "id": "teaching_rating",
      "label": "How useful was what we taught?",
      "type": "rating",
      "min": 1,
      "max": 5
    },
    {
      "id": "leaders_rating",
      "label": "How well did the leaders explain and support?",
      "type": "rating",
      "min": 1,
      "max": 5
    },
    {
      "id": "goal_reached",
      "label": "Did the program help with what you hoped for?",
      "type": "single_choice",
      "options": [
        "Yes, fully",
        "Partly",
        "Not really"
      ]
    },
    {
      "id": "gains",
      "label": "What did you gain?",
      "type": "multi_choice",
      "options": [
        "New skills",
        "New friends",
        "More confidence",
        "Useful contacts",
        "Practical help",
        "Nothing yet"
      ]
    },
    {
      "id": "what_changed",
      "label": "What changed for you because of the program?",
      "type": "long_text",
      "max_length": 1500
    },
    {
      "id": "change_next_time",
      "label": "What should we change next time?",
      "type": "long_text",
      "max_length": 1500
    },
    {
      "id": "would_recommend",
      "label": "Would you tell a friend to join?",
      "type": "single_choice",
      "options": [
        "Yes",
        "Maybe",
        "No"
      ]
    },
    {
      "id": "quote_without_name",
      "label": "You may quote my comments without my name",
      "type": "checkbox"
    },
    {
      "id": "follow_up_email",
      "label": "Email, only if you want us to follow up",
      "type": "email"
    }
  ]
}