This recipe creates a comprehensive job application form with file uploads for resumes, conditional fields based on experience level, automatic WordPress draft post creation, and notifications to HR via email and Slack.
Prerequisites
Fillin Forge PRO active
Slack webhook configured in Fillin Forge > Settings (the Slack Notifications card)
Software Engineer, Designer, Product Manager, Marketing Specialist, Customer Support
Radio
Experience Level
Yes
Entry Level (0-2 years), Mid Level (3-5 years), Senior (6-10 years), Lead / Principal (10+ years)
Step 4: Add Conditional Fields Based on Experience
For Mid Level and above, add more detailed questions:
Field Type
Label
Conditional Rule
Textarea
Describe your most significant project
Show when Experience Level is NOT “Entry Level”
Number
Team size you managed
Show when Experience Level is “Lead / Principal”
Textarea
Leadership philosophy
Show when Experience Level is “Lead / Principal”
For Entry Level, show a different set:
Field Type
Label
Conditional Rule
Textarea
What excites you about this field?
Show when Experience Level is “Entry Level”
Text
Expected graduation date (if applicable)
Show when Experience Level is “Entry Level”
Step 5: Add File Uploads
Field Type
Label
Required
Config
File Upload
Resume / CV
Yes
Allowed types: pdf, doc, docx. Max size: 10MB
File Upload
Portfolio or Work Samples
No
Allowed types: pdf, jpg, png, zip. Max size: 10MB
Step 6: Add Final Fields
Field Type
Label
Required
Textarea
Cover Letter or Additional Comments
No
Select
How did you hear about this position?
No
Checkbox
I confirm the information provided is accurate
Yes
Add options for the referral source: Company Website, LinkedIn, Indeed, Glassdoor, Employee Referral, Social Media, Other.
Step 7: Configure Post Submission
Find the Post Submission card in the builder
Toggle on Create a WordPress post from submission
Set Post Type to “Post” (or a custom post type like “Applications” if your theme supports it)
Set Post Status to “Draft” (so HR reviews before anything is published internally)
Set Title Field to the Full Name field. The title is the value of that one field, with no placeholders or text around it. If you leave it empty, the title is the form title followed by a dash and the submission number
Set Content Field to the Cover Letter or Additional Comments field. If you leave it empty, the post content lists every submitted field with its label
Step 8: Configure Notifications
Admin notification (email to HR):
Find the Email Notifications card in the builder
Toggle on Notify admin on submission
Enter the HR team email (e.g., [email protected]) in Notification email
The admin email subject is fixed (“[Site name] New submission: Form title (#id)”), so there is nothing to set here
Slack notification:
Find the Slack card in the builder
Leave Webhook URL (overrides global) empty: the Slack webhook from Fillin Forge > Settings is used. Paste another webhook URL there to send this form to a different channel
Each application posts to the Slack channel of that webhook with the submitted data
Auto-reply to applicant:
In the Email Notifications card, toggle on Send auto-reply to submitter
Under Email field (for auto-reply address), select the Email Address field
Set the Subject to: “Application Received”. It is sent as written, so it takes no placeholders such as {position_applying_for}
In Message, confirm receipt, set expectations for timeline, and provide a contact email for questions
Step 9: Embed and Test
Save the form and embed it on your Careers page
Submit a test application as an “Entry Level” candidate and verify the conditional fields
Submit another as a “Lead / Principal” candidate and verify different conditional fields appear
Confirm the draft post is created in WordPress
Confirm Slack notification arrives
Confirm email notifications arrive
—
Forge AI AssistantOnline
Hi! I'm the Fillin Forge AI assistant. Ask me anything about the plugin — setup, features, troubleshooting, or development.
We use marketing cookies (Meta) to measure which pages and ads lead to downloads and purchases. Strictly-necessary cookies are always on. See our Privacy Policy.