Google Forms timesheet template for you and your AI agent

Updated 2026-10-30

It does the job of the Google Forms timesheets many teams copy. Each response stores a name, date, project, hours and notes.

Make it with my AI

Paste this into your AI. It needs the creator MCP.

text
Create a form with AI Form API called "Timesheet entry".
Description: Log the hours you worked. Send one entry for each project and each day.
Fields:
- full_name: short_text, required, "Your full name"
- work_date: date, required, "Date worked"
- project: short_text, required, "Project or client"
- hours_worked: number from 0 to 24, required, "Hours worked"
- work_type: single_choice, required, options Billable, Non-billable, Internal, Time off
- notes: long_text, optional
Turn agent_fill on, then give me the public link.

Tips

  • Each person sends the form again for each project and day. Pull the CSV at week's end and add hours_worked.
  • Visitors can use their own AI: agent-fillable forms. More templates.

Questions

Is this a Google Forms template?

No. It is an AI Form API template that does the same job.

How do I add up the hours?

Sum the hours_worked column in the CSV. Or ask your AI to add the JSON rows.

Does the form check that the hours are true?

It accepts 0 to 24. It cannot know if the number is true. Review entries before you pay.

Try the form

Live demo ยท nothing is saved

Timesheet entry

Log the hours you worked. It takes about a minute. Send one entry for each project and each day.

Use decimals. For example, 7.5 means seven and a half hours.

Type of work (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": "Timesheet entry",
  "description": "Log the hours you worked. It takes about a minute. Send one entry for each project and each day.",
  "fields": [
    {
      "id": "full_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "work_date",
      "label": "Date worked",
      "type": "date",
      "required": true
    },
    {
      "id": "project",
      "label": "Project or client",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "hours_worked",
      "label": "Hours worked",
      "type": "number",
      "required": true,
      "help": "Use decimals. For example, 7.5 means seven and a half hours.",
      "min": 0,
      "max": 24
    },
    {
      "id": "work_type",
      "label": "Type of work",
      "type": "single_choice",
      "required": true,
      "options": [
        "Billable",
        "Non-billable",
        "Internal",
        "Time off"
      ]
    },
    {
      "id": "notes",
      "label": "Notes",
      "type": "long_text",
      "max_length": 1000
    }
  ]
}

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":"Timesheet entry","description":"Log the hours you worked. It takes about a minute. Send one entry for each project and each day.","fields":[{"id":"full_name","label":"Your full name","type":"short_text","required":true,"max_length":120},{"id":"work_date","label":"Date worked","type":"date","required":true},{"id":"project","label":"Project or client","type":"short_text","required":true,"max_length":120},{"id":"hours_worked","label":"Hours worked","type":"number","required":true,"help":"Use decimals. For example, 7.5 means seven and a half hours.","min":0,"max":24},{"id":"work_type","label":"Type of work","type":"single_choice","required":true,"options":["Billable","Non-billable","Internal","Time off"]},{"id":"notes","label":"Notes","type":"long_text","max_length":1000}]}'

JSON definition

json
{
  "title": "Timesheet entry",
  "description": "Log the hours you worked. It takes about a minute. Send one entry for each project and each day.",
  "fields": [
    {
      "id": "full_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "work_date",
      "label": "Date worked",
      "type": "date",
      "required": true
    },
    {
      "id": "project",
      "label": "Project or client",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "hours_worked",
      "label": "Hours worked",
      "type": "number",
      "required": true,
      "help": "Use decimals. For example, 7.5 means seven and a half hours.",
      "min": 0,
      "max": 24
    },
    {
      "id": "work_type",
      "label": "Type of work",
      "type": "single_choice",
      "required": true,
      "options": [
        "Billable",
        "Non-billable",
        "Internal",
        "Time off"
      ]
    },
    {
      "id": "notes",
      "label": "Notes",
      "type": "long_text",
      "max_length": 1000
    }
  ]
}