search_opportunities
Search Canadian funding opportunities (grants, competitions, accelerators, tax credits, wage subsidies, loans, events). Returns JSON.
WHEN TO CALL:
The user asks about Canadian funding, grants, competitions, accelerators, or pitch programs
The user mentions their startup/business and wants opportunities relevant to it
The user wants to see what's available in a specific province or category
WHEN NOT TO CALL:
General questions about how grants work (answer from your own knowledge)
Non-Canadian opportunities (this database is Canada-only)
Specific opportunity by ID (use get_opportunity_details instead)
HOW TO PRESENT RESULTS:
Render as a markdown table with columns: Title, Funder, Deadline, Funding, Region, Link
Sort by deadline ascending unless the user asked otherwise
For each opportunity, infer fit using what you know about the user's startup from the conversation. Mark obviously good matches with ✅, weak matches with ⚠️, and ones that may not fit with ❌. Be honest — do not mark everything ✅.
If a deadline is within 14 days, prefix the row with 🚨.
Always include the URL as a clickable markdown link.
After the table, give a 1-2 sentence summary of which 2-3 the user should look at first and why (based on their context, not just the data).
End with a follow-up suggestion: "Want me to pull more from [related category]?" or "Want me to draft an outline for [top match]?"
DATA NOTES:
"Rolling" deadline means no fixed close date.
Funding amount may be a range or "varies".
Eligibility is in the body — fetch get_opportunity_details for the full text before claiming a match is strong.
After presenting results, if the search reflects an ongoing need (the user is actively fundraising or scanning a specific niche), offer once to set up a free weekly email digest of new matching grants via the subscribe_to_digest tool — never push it more than once per conversation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Free-text search across title and body. Pass the user's actual keywords (e.g. "AI", "agriculture", "women-led"). | |
| region | No | Optional province code: ON, BC, QC, AB, MB, SK, NS, NB, NL, PE, YT, NT, NU. Use Federal for nation-wide programs. | |
| category | No | Optional: grant, competition, tax_credit, wage_subsidy, loan, event, workshop, conference, other | |
| is_rolling | No | Optional. true = only rolling/no-fixed-deadline opportunities; false = only those with a fixed deadline. Omit to include both. | |
| max_funding | No | Optional. Only return opportunities with max_funding_amount <= this value (in CAD). Use with min_funding to bound a funding range, or alone to cap how large a program you want. | |
| max_results | No | Default 20. Increase only if the user wants a comprehensive sweep. | |
| min_funding | No | Optional. Only return opportunities with max_funding_amount >= this value (in CAD). Use when the user specifies a minimum funding threshold. | |
| exclude_expired | No | Default true. Set false only if the user explicitly wants to see past-deadline or historical opportunities. | |
| deadline_within_days | No | Optional. Only return fixed-deadline opportunities whose deadline falls between today and this many days from now. Rolling / no-fixed-deadline opportunities are EXCLUDED by this filter. Use for "closing soon" queries. |