Voice Form Filler
Voice Filter Form Wordpress Plugin
by Haziq · github.com/haziqfaruqi/voice-form-filler · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/haziqfaruqi/voice-form-filler/archive/refs/heads/main.zipVoice Form Filler — WordPress Plugin
Add a voice input button to any Contact Form 7 form. User speaks once, Claude AI fills all fields automatically.
Requirements
- WordPress 6.0+
- Contact Form 7
- Claude API key (free tier available)
- Chrome, Edge, or Safari (Web Speech API)
Installation
- Upload
voice-form-fillerfolder to/wp-content/plugins/ - Activate plugin
- Go to Settings → Voice Form Filler
- Enter your Claude API key
- Done — voice button appears automatically on all CF7 forms
Get a Claude API Key
- Go to https://console.anthropic.com
- Sign up / log in
- Click API Keys → Create Key
- Copy and paste into plugin settings
How it works for the user
- User sees the "Speak to Fill" button above the form
- User clicks it — browser asks for microphone permission
- User speaks naturally, e.g.:
"My name is Ahmad, my email is ahmad@gmail.com, phone is 0123456789, and my message is I need a quote for a website"
- Claude extracts name, email, phone, message from the speech
- All fields are filled automatically and highlighted green
- User reviews and clicks Submit
Settings
| Setting | Description |
|---|---|
| Claude API Key | Required — get from console.anthropic.com |
| Button Label | Text on the mic button (default: "Speak to Fill") |
| Button Position | Before or after the form |
| Speech Language | en-MY, en-US, ms-MY, zh-CN, ta-IN |
| Accent Color | Button color |
| Show Transcript | Show what the user said below the button |
Browser Support
Web Speech API works in:
- Chrome / Chromium ✅
- Edge ✅
- Safari (iOS + macOS) ✅
- Firefox ❌ (not supported)
CF7 Field Names
The plugin auto-detects field names from your CF7 form. Standard CF7 field names like your-name, your-email, your-message, your-phone work out of the box. Custom field names also work — Claude reads the field labels to understand what each field is for.
Example CF7 form
[text* your-name placeholder "Full Name"]
[email* your-email placeholder "Email Address"]
[tel your-phone placeholder "Phone Number"]
[textarea your-message placeholder "Your Message"]
[submit "Send"]
User says: "My name is Haziq bin Abdullah, email haziq@gmail.com, phone 0123456789, message is I want to know about your web development packages"
Claude fills:
- your-name → "Haziq bin Abdullah"
- your-email → "haziq@gmail.com"
- your-phone → "0123456789"
- your-message → "I want to know about your web development packages"