Help
Watch a demo
How Robin works
Robin connects to your Close CRM organization and automatically assigns leads to your team members in a fair, round-robin order. You define Groups (who's in the rotation and in what order) and Lead Lists (which leads should be assigned). Robin then polls your Close account every five minutes and assigns any new leads it finds to the next person in line.
The assignment cycle is: Lead List → find unassigned leads → assign to next Group member → advance the pointer → repeat. Every assignment is recorded in the Activity Log so you always have a full audit trail.
Groups
A Group is an ordered list of Close users who will receive leads in turn. Think of it as the roster for a particular team or territory.
Members
Each member maps to a Close user (looked up by their Close user ID or email). Members have two states:
- Active — eligible to receive the next lead.
- Inactive — skipped entirely; does not advance the round-robin pointer.
You can toggle a member's status at any time on the Group edit page. Only active members count toward the rotation order.
Next up
The Group detail page shows which member is Next up — the person who will receive the very next lead assigned by any Lead List in this Group. The pointer advances automatically after each assignment.
Leads assigned count
The "Leads Assigned" column on the Group detail page shows a lifetime count of how many leads each member has received through Robin. This is a running total across all Lead Lists in the Group and all time.
Lead Lists
A Lead List defines which leads Robin should watch and assign. Each Lead List belongs to exactly one Group and uses a Close saved-search filter to identify leads.
Filters
The filter field accepts a Close Advanced Filter JSON object — the same query format Close uses internally for its search. You can build your filter in Close's search UI and paste the resulting query JSON into Robin. Robin passes this filter directly to the Close API to find matching leads.
{"limit": ..., "query": {...}}) or just the inner query object
({"type": "and", "queries": [...]}). It extracts the relevant part
automatically.
Statuses
- Active — Robin polls this list every 5 minutes and assigns new leads.
- Paused — Polling is suspended. No leads will be assigned until you resume.
- Completed — All leads matching the filter have been assigned. Robin stops polling automatically.
- Failed — An error occurred during the last poll (e.g. an expired Close API token or invalid filter). Check the Lead List detail page for details, fix the issue, and resume.
Seeding
When a Lead List is first activated (or re-activated after a filter change or resume), Robin performs a seed step. It fetches all leads currently matching the filter and marks them as "already seen" — so only leads that appear after that moment will be assigned. This prevents Robin from retroactively assigning leads that were in Close before you set up the list.
Assignment engine
Robin's background scheduler runs every 5 minutes and checks every active Lead List across all organizations. For each list, it:
- Queries Close for leads matching the filter that were created or updated after the last check.
- Compares those leads against already-assigned records to find new ones.
- For each new lead, assigns it to the next active Group member in order.
- Updates the Close lead record with the assigned owner via the Close API.
- Logs the assignment to the Activity Log.
- Advances the round-robin pointer to the next active member.
- Updates Last Checked timestamp on the Lead List.
You can also trigger an immediate check using the Check now button on the Group detail page — this runs the same logic outside of the 5-minute schedule.
Activity Log
The Activity Log is a complete, time-ordered record of every lead assignment Robin has made for your organization. It shows:
- When — the exact date and time of assignment, in your local timezone, with a relative "ago" label.
- Lead — the Close lead name, linking directly to that lead in Close.
- Assigned To — the Close user who received the lead.
- Lead List — which Lead List triggered the assignment.
- Group — which Group the Lead List belongs to.
You can filter by timeframe, Group, Lead List, or assigned user, and search by lead name or lead ID. The log is infinite-scrolling and loads 25 records at a time.
Organizations & users
Sign in
Robin uses Close's OAuth 2.0 flow for authentication — there are no separate Robin passwords. Clicking "Sign in with Close" redirects you to Close, where you authorize Robin to access your account. Once authorized, you're returned to Robin and your Close organization is linked automatically.
Roles
- Admin — can create/edit/delete Groups and Lead Lists, manage team members, approve or suspend users, and access all data in the org.
- Member — can view Groups, Lead Lists, and the Activity Log, but cannot create, edit, or delete anything.
The first person to sign in from a Close organization becomes that org's admin automatically. Additional admins can be promoted from the Team page.
Team management
Admins can access the Team page from the sidebar footer. From there you can see all users in your org, change their role, and approve or suspend access.
Common situations
Switching organizations
If your Close account belongs to multiple organizations (e.g. you're an admin of a client's org as well as your own), Robin creates a separate user record for each org. The org switcher in the sidebar footer lets you toggle between them.
To add another organization: open the org switcher and click + Add another organization. This starts a fresh OAuth flow with Close, and you can authorize a different org on the Close side.
Pausing and resuming a Lead List
Pausing a Lead List immediately stops Robin from polling it. Any leads that arrived while the list was paused will not be retroactively assigned.
When you resume a paused list, Robin runs a fresh seed: it fetches all leads currently matching the filter and marks them as already seen. Polling then continues from that point forward — only leads that appear after the resume moment will be assigned.
Changing the filter on an active Lead List
Saving a new filter on an active Lead List triggers an automatic re-seed. Robin discards the old seen-lead set, fetches all leads currently matching the new filter, marks them as seen, and then polls going forward. This prevents a filter change from suddenly causing a flood of existing leads to be assigned.
Robin shows a confirmation dialog when you save filter changes on an active or paused list so you're always aware this re-seed will happen.
New users joining an organization
When a new user from your Close org signs into Robin for the first time, their account is created in a Pending state. Pending users have read-only access — they can browse Groups, Lead Lists, and the Activity Log, but cannot create, edit, or delete anything until an admin approves them.
A yellow Pending approval notice appears in the sidebar to remind the user of their read-only status.
Admins will see a red badge on the Team link in the sidebar footer showing the number of pending users. Go to Team → find the pending user → set their role and approve them.
Setting a member to inactive
Marking a Group member as Inactive removes them from the rotation immediately. The next assignment will go to the next active member in order — the round-robin pointer is not reset.
When you reactivate a member, they re-enter the rotation at their original position. They will receive the next lead when the pointer cycles back to their position. No leads are retroactively redistributed.
Completed Lead Lists
A Lead List moves to Completed automatically when Robin runs a poll and finds no unassigned leads matching the filter. This typically means every lead in the filtered set has already been assigned.
A completed list stops polling. If new leads are later added to Close that would match the filter, they won't be picked up unless you manually resume the list (which triggers a re-seed as described above).
Failed Lead Lists
A Lead List enters Failed state if an unrecoverable error occurs during a poll — most commonly an expired Close API token, an invalid filter, or a Close API outage.
To recover:
- Check the Lead List detail page for the specific error message.
- Fix the underlying issue (re-authorize Robin with Close, correct the filter JSON, etc.).
- Click Resume on the Lead List detail page. Robin will re-seed and resume polling.
Support
Robin is an independent tool and is not officially affiliated with or supported by Close. For help with any issues, questions, or feedback, email nick@closekit.com.