When Sortlist sends you an Opportunity Received trigger, it means your agency has just received a new project from a potential client.
At this stage, the client and company details are still anonymous, but you can already access the project briefing and high-level information to act quickly.
🔔 When it triggers
Automatically when your agency receives a new opportunity.
📦 What you get
Basic project details + anonymized company info.
💡 How to use it
Notify your sales team (Slack, Teams, SMS).
Log incoming opportunities in your CRM or Google Sheets.
Combine with “Apply” action + AI filters to auto-apply to the right projects.
📨 Payload Example
{
"id": "T3Bwb3J0dW5pdHkvMTIzNDU",
"applied_at": null,
"received_at": "2023-01-01T00:00:00Z",
"project_id": 12345,
"locale": "en",
"provider_slug": "agency-slug",
"opportunity_link": "https://agency.sortlist.com/brief/12345",
"integration": {
"uuid": "integration-uuid",
"owner": "manager@agency.com",
"trigger_name": "opportunity_received"
},
"budget_min": 10000,
"budget_max": 25000,
"budget_monthly": true,
"budget_not_set_yet": false,
"location": "New York, US",
"country": "US",
"expertise": "Web Development",
"sector": "Technology",
"remote_work_accepted": true,
"languages_required": "en, fr",
"provider_size_required": "small, medium",
"briefing_description": "Project description...",
"price_in_credit": 100.0,
"title": "Sortlist Opportunity 12345: Project Title",
"company": {
"size_min": 10,
"size_max": 50,
"turnover_min": 1000000,
"turnover_max": 10000000,
"type": "NGO"
},
"contacts": []
}
🔑 Base Opportunity Data
Field | Type | What it means | Why it matters / Use Case |
id | string (UUID) | Unique identifier for the opportunity | Use as a primary key in your CRM |
applied_at | datetime | null | When you applied (empty here) | Useful later to track speed-to-apply |
received_at | datetime | When the opportunity was received | Measure reactivity |
project_id | integer | Project reference number | Cross-reference in dashboards |
locale | string | Language of the project (e.g. “en”) | Filter by language needs |
provider_slug | string | Your agency’s Sortlist ID | Map to your agency workspace |
opportunity_link | string | Direct link to the brief | Click-through access for team |
budget_min / max | integer | null | Budget range | Filter opportunities based on initial intent and Budget Size |
budget_monthly | boolean | true = monthly budget | Recurring Services indicator |
budget_not_set_yet | boolean | true if no budget yet | When the buyer is not yet sure about the budget or does not want to share it publicly. |
location | string | City/region of project | For geo-targeting |
country | string (ISO 3166-1) | Country code | CRM segmentation |
expertise | string | Service requested | Route to right team |
sector | string | Client’s industry | Prioritize by Industry/Sector |
remote_work_accepted | boolean | true if remote is OK | Expand eligible team pool |
languages_required | string | Comma-separated languages | Match by team skills |
provider_size_required | string | Preferred provider size | Qualify fit |
briefing_description | string | Project description | Use for context or AI qualification |
price_in_credit | decimal | Credit value of opportunity | Track spend & ROI |
title | string | Anonymous project title | Display in dashboards |
company.* | object | Anonymized size, turnover, type | Initial qualification |
contacts | array | Empty (anonymous at this stage) | Full contacts only after application |
✅ Micro-win: By mastering this trigger, you’ll react faster, qualify smarter, and always stay one step ahead of the competition.
