Theme
Filters Reference
This document provides comprehensive documentation for all the filters available in the Zenfl Job Alert Bot, with detailed examples and frequently asked questions to help you fine-tune your job alerts for maximum effectiveness. Remember that all filters are optional, and you can create a feed without any settings, which will make you receive alerts about every new job on Upwork.
Filter Categories and Features
Zenfl offers filters in four main categories:
Jobs Preview Tab
One of the most powerful features in the Zenfl mini-app is the "Jobs" tab, which allows you to preview which jobs match your feed settings in real-time. This feature is invaluable for fine-tuning your feeds:
- See immediately which jobs match your current filter settings
- Test changes to your filters and see the results instantly
- Identify patterns in irrelevant jobs to refine your exclusion filters
- Find the optimal balance of filters without waiting for notifications
We highly recommend using the Jobs tab as your primary tool for feed optimization.
Budget & Rate Filters
Budget Type
Specify which type of payment structure you prefer.
- Options: Both, Hourly Rate, Fixed Budget
- Example: Select "Hourly Rate" to only receive jobs with hourly payment structures
- FAQ:
- Q: If I select "Both", will I see combined budget jobs?
- A: Yes, selecting "Both" shows all job types including those with mixed payment structures
Hourly Rate Range
Set minimum and maximum hourly rates for jobs.
- Example: $30 - $75 per hour
- Use Case: Professional developers might set a minimum of $40/hour to filter out lower-paying opportunities
- FAQ:
- Q: Will setting a minimum rate reduce the number of jobs I see?
- A: Yes, but it ensures you only see jobs within your desired compensation range
- Q: Can I set just a minimum without a maximum?
- A: Yes, leave the maximum field empty to see all jobs above your minimum rate
Fixed Budget Range
Set minimum and maximum total budget for fixed-price projects.
- Example: $500 - $5,000
- Use Case: For larger projects, set a minimum of $1,000 to focus on substantial work
- FAQ:
- Q: Should my budget range be broad or narrow?
- A: Start broader and narrow down if you receive too many notifications
Job Attribute Filters
Categories
Select specific job categories you're interested in.
- Options: Development, Design, Writing, Admin Support, etc.
- Example: Select "Web Development" and "Mobile Development" if you're a full-stack developer
- FAQ:
- Q: What happens if I don't select any categories?
- A: You'll receive jobs from all categories
- Q: Can I select subcategories?
- A: Yes, you can drill down to specific subcategories for more targeted alerts
Experience Level
Filter jobs by required experience level.
- Options: Entry Level, Intermediate, Expert
- Example: Select "Intermediate" and "Expert" if you're an experienced professional
- FAQ:
- Q: What's considered "Expert" level?
- A: Generally 5+ years of professional experience in the field
- Q: Will selecting only "Expert" reduce my job volume significantly?
- A: Yes, but the jobs will likely have higher rates and more specific requirements
Job Duration & Commitment
Filter based on project duration and time commitment.
- Options:
- One-time projects
- Ongoing projects
- Contract-to-hire opportunities
- Hours Per Week: Less than 30 hours, More than 30 hours, or Any hours per week
- Example: Enable "Ongoing projects" and select "Less than 30 hours per week" for part-time, long-term work
WARNING
Using all three job type filters (One-time, Ongoing, and Contract-to-hire) at the same time may lead to receiving very few or no job alerts. Always check the "Jobs" tab to make sure your feed matches some jobs after applying these filters.
- FAQ:
- Q: Can I combine these filters?
- A: Yes, but be careful not to over-restrict your results
Local Markets Filter
Available specifically for US and UK freelancers to see jobs available only to freelancers from these countries.
- Options:
- Enable local markets filter (US/UK only)
- Example: Enable this filter if you're a US-based freelancer who wants to see US-only opportunities
- FAQ:
- Q: Who should use this filter?
- A: Only freelancers based in the US or UK, as it shows jobs exclusive to these markets
- Q: Is this useful for freelancers from other countries?
- A: No, this filter is not useful for freelancers outside the US and UK
Required & Excluded Skills
Specify skills that jobs must have or must not have.
- Example:
- Required: "React", "TypeScript", "Node.js"
- Excluded: "WordPress", "PHP"
- Use Case: A front-end developer might require React skills and exclude WordPress
- How it works:
- Skills are matched using an "ANY" rule - if at least one of your specified skills appears in the job, this filter will be triggered
- Skills are always matched exactly and strictly
- FAQ:
- Q: How many skills should I list?
- A: Start with 3-5 core skills
- Q: What if I want jobs that have multiple specific skills together?
- A: Use the Keywords section with the "ALL" option targeting the "Required Skills" location
Featured Jobs
Toggle to include or exclude jobs marked as "featured" on the platform.
- FAQ:
- Q: What are featured jobs?
- A: Jobs that clients have paid extra to promote, often indicating higher priority
Connects Requirements
Filter jobs based on how many connects they require to apply.
- Example: 2-8 connects
- Use Case: Set a maximum of 8 connects to avoid jobs with higher application costs
- FAQ:
- Q: Do higher connect requirements indicate better jobs?
- A: Not necessarily, though jobs requiring more connects may have fewer applicants
Client Filters
Client Rating & Reviews
Filter based on client reputation.
- Options:
- Minimum client rating (1-5 stars)
- Minimum number of reviews
- Example: Set minimum rating to 4.5 stars with at least 5 reviews
- FAQ:
- Q: Is a higher minimum rating always better?
- A: Not always. New clients may have no ratings yet, so setting this too high might exclude good opportunities
Client Location
Include or exclude clients from specific countries.
- Example:
- Include: United States, Canada, Australia
- Exclude: India, Philippines
- FAQ:
- Q: Why filter by client location?
- A: Some freelancers prefer working with clients in specific time zones or regions
Client History
Filter based on client's past hiring behavior.
- Options:
- Minimum total jobs posted
- Minimum total hires made
- Minimum amount spent
- Maximum amount spent
- Minimum hire rate (%)
- Example: Set minimum hire rate to 70% to find clients who regularly hire from their job postings
- FAQ:
- Q: What's a good minimum for "amount spent"?
- A: $10,000+ indicates clients with substantial platform experience
- Q: When would I use a maximum spent limit?
- A: To filter out large enterprise clients or agencies with very high budgets that might not be a good fit for your services
- Q: What hire rate is considered good?
- A: 60%+ is generally considered a positive indicator
Client Payment & Verification
Filter based on client's payment status and account type.
- Options:
- Payment method verified
- Enterprise clients only
- FAQ:
- Q: What are enterprise clients?
- A: Enterprise clients are part of larger organizations with verified business accounts
Client Sign-up Date
Filter clients based on when they joined the platform.
- Example: Set minimum sign-up date to 6 months ago to find established clients
- Use Case: Filtering out brand new clients can help avoid scams
- FAQ:
- Q: Why would I filter by sign-up date?
- A: Newer accounts sometimes have higher risk of payment issues or scams
Keyword Search Filters
Advanced Search Builder
Create complex search rules with multiple conditions using a visual query builder.
- Features:
- Build nested groups of search conditions
- Combine conditions with AND/OR logic
- Search in specific fields (title, description, skills)
- Use strict or loose matching
- Example: Create a group where (Title contains ALL: "React Developer") AND create another group where (Description contains ANY: "frontend UI UX")
- Use Case: For highly specific job requirements that need complex filtering
- FAQ:
- Q: What's the difference between strict and non-strict matching?
- A: Strict matching requires exact word matches, while non-strict allows for similar variations and fuzzy matching
- Q: Do I need to know query syntax to use this?
- A: No, Zenfl provides a visual interface for building complex queries - no need to write syntax manually
Feed Management Options
Feed Name
Give your feed a descriptive name to identify its purpose.
- Example: "React Developer Jobs $50+"
- Best Practice: Include key filter information in the name for quick reference
Strict Mode
Toggle strict mode to control how missing data is handled.
- How it works:
- In non-strict mode, if a job is missing data for a filter you've set (e.g., no budget specified when you have a minimum budget filter), you'll still receive that job
- In strict mode, jobs missing data for any of your filters will be excluded completely
- FAQ:
- Q: When should I use strict mode?
- A: Use strict mode when you want to exclude jobs with incomplete information; use non-strict mode to receive more potential opportunities
- Q: What's a common use case for strict mode?
- A: Strict mode is helpful when you want to ensure you only see jobs with clearly defined budgets, experience levels, or other specific requirements
Muted Notifications
Changes how notifications are delivered but doesn't stop them completely.
- Use Case: When you want to keep receiving job alerts but in a different notification format
- FAQ:
- Q: Does this completely stop notifications?
- A: No, it changes how they're delivered but doesn't stop them entirely
Paused Feed
Completely pause a feed to temporarily stop receiving job alerts from it.
- Use Case: When you're not currently looking for work but want to keep your feed settings
- FAQ:
- Q: What's the difference between muting and pausing?
- A: Muting changes notification format while pausing completely stops alerts from that feed
- Q: Can I unpause a feed later?
- A: Yes, you can toggle the pause status anytime
Webhook URL
Set a custom URL to receive job notifications via webhook.
- Example: "https://myapp.com/api/webhook/jobs" or "https://hook.eu2.make.com/your-webhook-id"
- Use Case: Send job alerts to your own application or automation service like Make.com (formerly Integromat)
- Pricing: Webhooks are transitioning from beta to a paid feature. The paid subscription includes 1,000 requests per month, with additional requests billed at $0.01 per job alert.
- Requirements: To maintain webhook functionality, you must be a paid subscriber with sufficient account credits.
- Related: See the Webhooks documentation for more details
Title Prefix
Add a prefix to job titles when they appear in notifications.
- Example: "URGENT: " or "WEB: "
- Use Case: Helps categorize different job feeds in your notifications
- FAQ:
- Q: Does this change the actual job listing?
- A: No, it only changes how the job appears in your notifications
Hashtags
Add hashtags to jobs from this feed for better organization.
- Example: "development", "remote", "highpaying" (do not include the # symbol)
- Use Case: When you have multiple feeds, hashtags help identify the source feed
- FAQ:
- Q: Where do hashtags appear?
- A: In the job notification messages sent to your Telegram
Filter Strategy Tips
Exclusion-First Approach: Focus on excluding what you don't want rather than narrowly defining what you do want
- Start with very broad settings (minimum filters)
- Use the "Jobs" tab in the mini-app to see which jobs match
- Identify patterns in irrelevant jobs
- Use the "NONE" search condition to exclude those patterns
- Gradually add more exclusions until your feed shows mostly relevant jobs
Target Job Titles: Job title searches yield the most relevant results, as they directly indicate what the client is looking for
Use the Jobs Preview Tab: The "Jobs" tab in the mini-app is your best tool for fine-tuning - it shows you in real-time which jobs match your feed settings
Multiple Specialized Feeds: Create separate feeds for different types of work you're interested in
Test and Refine: Create a test feed with specific filters, check the jobs tab, adjust, and repeat until optimized