When Sortlist sends you an Opportunity Applied trigger, it means your agency has successfully applied and paid for the opportunity.
At this stage, company details are revealed (name, website) but contacts remain hidden until your application is delivered.
🔔 When it triggers
Right after payment, before filling out the application details.
📦 What you get
Company name & website
Who from your agency applied
Real credit cost + euro price
All project briefing details
Still no client contacts
💡 How to use it
Auto-create deals in your CRM with real pipeline value.
Track ROI by syncing credit/euro spend.
Route opportunities to the right team member based on expertise.
📨 Payload Example
{
"id": "T3Bwb3J0dW5pdHkvMTIzNDU",
"applied_at": "2023-01-01T12:00:00Z",
"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_applied"
},
"applied_by": {
"id": "QWdlbmN5TWVtYmVyLzY3ODkw",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@agency.com"
},
"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,
"price_in_euro": 90.0,
"title": "Sortlist Opportunity 12345: Acme Inc.",
"company": {
"size_min": 10,
"size_max": 50,
"turnover_min": 1000000,
"turnover_max": 10000000,
"type": "NGO",
"name": "Acme Inc.",
"website": "https://acme.com"
},
"contacts": []
}
🔑 Base Opportunity Data
Field | Type | What it means | Why it matters / Use Case |
id | string (UUID) | Unique GraphQL identifier for this opportunity | Use as primary key in CRM |
applied_at | datetime | When you or one of your team member applied | Measure reactivity |
received_at | datetime | When the opportunity first landed | Compare received vs applied |
project_id | integer | Project reference number | Cross-reference with Sortlist dashboard |
locale | string | Project language (e.g., “en”) | Match to sales teams |
provider_slug | string | Your agency’s Sortlist identifier | For integration consistency |
opportunity_link | string | Direct link to opportunity | One-click access for your team |
integration.uuid | string | Unique integration ID | Identify which integration triggered |
integration.owner | string | Email of who set up integration | Track ownership |
integration.trigger_name | string | Always | Helps filter webhook types |
applied_by.id | string | ID of member who applied | Attribution |
applied_by.first_name | string | First name of member that applied | CRM sync |
applied_by.last_name | string | Last name of member that applied | CRM sync |
applied_by.email | string | Email of member | Identify responsible teammate |
budget_min | integer | null | Minimum project budget | Opportunity sizing |
budget_max | integer | null | Maximum project budget | Opportunity sizing |
budget_monthly | boolean | True if budget is monthly | Recurring services or not |
budget_not_set_yet | boolean | True if no budget defined | Handle missing data |
location | string | Project location | Geo-targeting |
country | string (ISO) | Country code | Segmentation |
expertise | string | Service needed | Match to offering |
sector | string | Client’s industry | Industry Prioritization |
remote_work_accepted | boolean | True if remote accepted | Team assignment / capacity |
languages_required | string | Comma-separated list | Match by language skills |
provider_size_required | string | Preferred agency size(s) | Qualification |
briefing_description | string | Detailed project description | Lead qualification |
price_in_credit | decimal | Credit value | Track spend |
price_in_euro | decimal | Actual euro value | Finance reporting |
title | string | Opportunity title (with company name) | Visible in CRM |
company.size_min | integer | Minimum employees | Client profile |
company.size_max | integer | Maximum employees | Client profile |
company.turnover_min | integer | Minimum revenue (€) | Client qualification |
company.turnover_max | integer | Maximum revenue (€) | Client qualification |
company.type | string | Type of org (e.g., NGO) | Segmentation |
company.name | string | Real company name | For CRM |
company.website | string | Real company website | Enrichment |
contacts | array | Always empty here | Full contacts only after Application Sent |
🙅 No Contact Info Yet
note: it is require to introduction your services to the Project's owner to get their contact details on Sortlist.
✅ Micro-win: By mastering this trigger, you’ll not only know which projects you applied to but also track real costs, company info, and performance ROI in your workflows.
