Skip to content
All articles
Education

Agents and consultants: attribution, conflict and channel quality

Register recruitment agents and consultants with the regions and programs they are authorized for, attribute each candidate to the agent who brought them with a protection period, see a conflict with its reason when a second agent arrives, and read conversion, dropout and overdue payments per agent, with an honest "not measured" for whoever has no history yet. Part of the Education vertical, optional and off until an admin turns it on.

The Agents block sits at the end of the Education screen. It answers four questions that every institution working with recruitment partners has to answer: who is allowed to bring candidates, from where, who brought each candidate, and whether that channel is actually any good.

Not declared is not the same as allowed

An agent carries the list of regions and programs they are authorized for. If that list is empty, the screen says the authorization was not declared. It does not say the agent may recruit everywhere. An institution that never wrote down where a partner can operate has not authorized the whole world, it simply has not decided yet, and the difference matters the day someone brings a candidate from a country you never agreed to.

Contract, certification and compliance follow the same logic. A contract with no end date on file shows as unknown, never as valid: having a contract does not prove it is still in force. An expired contract does block recruiting; a missing date only warns, because silence is not the same as an expiry.

Attribution with a protection period

When you attribute a candidate to an agent, the attribution carries a protection window, in days. During that window the candidate belongs to that channel. After it, the protection simply stops applying, with no job to run and no button to press: the system compares the end date with today every time it looks.

💡 If you leave the protection blank, the attribution has no end date and does not expire on its own. Whoever wants to free the candidate releases them explicitly, and the release is recorded.

A conflict always says why

If a second agent tries to take a candidate who is still protected, nothing is saved. The screen shows the conflict, names the reason and tells you until when the other attribution protects. Two reasons exist: the same agent registering the same candidate for the same program, which is duplication, and a different agent arriving on a protected candidate, which is a channel conflict.

You can still register it, deliberately, with Register anyway. In that case the attribution is created already marked as a conflict, carrying the reason. Overriding another channel's protection is a commercial decision made by a person, so it stays visible instead of quietly becoming a normal attribution that nobody remembers approving.

Example: Agent A brought a candidate in March, with 90 days of protection. In April agent B says the same family is theirs. The screen refuses, names agent A and shows the protection running until June. In July, with the window closed, the same attempt goes through with no conflict at all.

Channel quality, and the right to say "I do not know"

Three numbers per agent: conversion, which is how many of the attributed candidates actually enrolled; dropout, which is how many of those who enrolled withdrew; and overdue payments, which comes from the financial mirror. An agent who brings volume and dropout is not a good agent, and the table is meant to make that visible.

But an agent who has not brought anyone yet is not a bad agent either. That is why nothing here ever shows 0% by omission. With no denominator the answer is "not measured", spelled out. A zero printed next to the name of a partner who signed last week would be read by everyone as the worst performance on the list, and it would be a claim without a fact behind it.

💡 When a rate is measured but comes from very few people, it appears with a small sample note. One enrollment out of one candidate is not a 100% conversion rate, and pretending otherwise ranks luck above work.

Overdue payments come from the mirror, with the mirror's rules

The overdue figure is not calculated here. It reads the financial mirror, the same one the rest of the system uses, and inherits its rule without changing a comma: if the mirror is missing or out of date, the answer is undetermined. Never "up to date", which would clear a family the school would not clear, and never "overdue", which would accuse a family who paid on time because an integration failed.

So the table has two different silences, and they are not interchangeable. "Not measured" means there is nobody to count yet. "Undetermined" means there are people, but the source did not answer.

The agent portal, and how short it is

Each agent can have a list of e-mails allowed into their own portal. They sign in with a link sent by e-mail, with no password, and see only the candidates they referred, never the school's base. Removing an e-mail from the list cuts access on the spot, without waiting for any link to expire.

Of each candidate the agent sees the name, program, term, the dates of the attribution, the document stage of the file and a milestone. Nothing else. No grades, no documents, no family contact details, no financial situation, no commission and no internal analysis, not even their own quality score, because who evaluates the channel is the institution.

💡 There is no rejected milestone, on purpose. An admission decision that has not been released never leaves through a portal, so a candidate who was denied appears exactly like one still under review. If the portal distinguished the two, the embargo would be decoration.

Commission is a rate, not a promise

You can record a commission rate on the agent and override it on a specific attribution. The screen calculates a preview on a base you type, and says out loud that the figure is indicative. The rate is visible only to who administers the system, and this wave deliberately does not create a payment ledger: an amount calculated and never reconciled is a promise, and a promise stored in a table starts looking like a debt.

Open this article inside the system

Read it and want to see it working?

The account is free and the whole manual is available inside the system, with an assistant that answers from this very content.

Create free account
Agents and consultants: attribution, conflict and channel quality · Sellio