Dynamic Collections
Dynamic Collections decide which conversations enter a Project. Each Collection describes one clear type of conversation using normal filters, optional AI Checks, or both.
A conversation enters a Project when it matches any one of that Project's Dynamic Collections.
For example, a Customer Experience Review Project might include friendly conversations, billing questions, long support calls, or customers who want to cancel.
Create a Dynamic Collection
- Open Data Lake and select a Project.
- Open the Dynamic Collections tab.
- Select Add Dynamic Collection.
- Enter a clear name, such as Friendly customer conversations.
- Select Add filter and choose the conditions.
- Select Save.
If the Project has no Dynamic Collections, no conversations enter it. Add at least one Collection before expecting new results.
Add normal filters
Normal filters use information Harmony already knows about the conversation. For example:
- Team or Group
- Call, video, or chat
- Date or recording duration
- Tags, employee (owner), or contact
- Your workspace's custom fields
The example below includes conversations from Customer Success when the AI Check Was the customer friendly? returns Yes.
In the standard view, every condition in the Collection must match. Harmony displays AND between the conditions.
Select Add filter to see the available conversation details.
Add an AI Check
Use an AI Check when the answer depends on what people said rather than a saved conversation detail.
For example:
- Was the customer friendly? — Yes, No, or N/A
- Was a clear next step agreed? — Yes, No, or N/A
- What was the main topic? — Billing, Product question, Cancellation, or N/A
To add one:
- Select Add filter.
- Select AI Checks.
- Choose an existing AI Check.
- Choose the expected result.
If the AI Check does not exist yet, select Create new AI check:
- For a Yes/No check, give it a short name and write one natural question, as if you were asking a teammate.
- For a Category check, add at least two categories. Give each category a name and a short explanation, then choose the expected category or N/A.
Yes/No AI Checks
Use a Yes/No check for one clear question. Harmony can return Yes, No, or N/A when the transcript does not support a reliable answer:
- Name: Was the customer friendly?
- Question: Was the customer friendly and respectful during the conversation?
- Expected result: Yes
Category AI Checks
Use a Category check when Harmony should choose from a list of options. It can return N/A when none can be selected reliably. For What was the main topic?, you could use:
- Billing
- Product question
- Cancellation
A Billing questions Collection would select Billing as its expected result.
Use OR when either condition is enough
Turn on Advanced when a Collection should match in more than one way.
For example, Customers at risk can include a conversation when:
- Did the customer ask to cancel? is Yes
- OR
- What was the main topic? is Cancellation
Keep the standard view when all conditions should match. Use Advanced only when you need OR or a grouped set of conditions.
Use a Group when one rule has alternatives
A Group keeps alternative conditions together while another condition remains required.
For example, Customer Success follow-up can match when:
- Team is Customer Success
- AND
- the grouped conditions contain either:
- Did the customer ask to cancel? is Yes
- OR
- Was the customer friendly? is No
The Team condition must match, and at least one condition inside the Group must match.
To build it:
- Turn on Advanced.
- Add the condition that must always match.
- Select Group.
- Add the alternative conditions inside the Group.
- Join the grouped conditions with OR.
Here, Group means a set of conditions kept together. It is different from the normal Group conversation filter.
A simple example Project
A complete setup for Customer Experience Review could look like this:
| Dynamic Collection | What makes it match |
|---|---|
| Friendly customer conversations | Team is Customer Success and “Was the customer friendly?” is Yes |
| Billing questions | “What was the main topic?” is Billing |
| Long support calls | Group is Tier 1 Support, medium is Call, and duration is at least 5 minutes |
| Customers at risk | The customer asked to cancel or the main topic is Cancellation |
| Customer Success follow-up | Team is Customer Success and (the customer asked to cancel or was not friendly) |
These Collections are alternatives. A conversation only needs to match one of them to enter the Project.
What changed from Project Criteria?
Existing Project Criteria are replaced by Dynamic Collections. The same business rules are now shown directly inside the Project.
| Before: Project Criteria | Now: Dynamic Collections |
|---|---|
| Criteria were created for Teams and then attached to Projects. | Collections are created and managed inside one Project. |
| Team eligibility could be implicit. | A migrated Team restriction appears as a visible Team condition. |
| Criteria for the same Team had to match together, while different Team rule sets were alternative routes. | Each migrated Team rule set becomes a separate, clearly named Collection; matching any Collection is enough. |
| Boolean and Category criteria were managed separately. | Transcript questions appear as reusable AI Checks. |
| A Team branch with no extra criteria included all conversations from that Team. | It becomes a Team-only Collection, so the same behavior stays visible. |
For example:
Before — Support Team criteria
- Call lasted at least 5 minutes
- Customer was friendly: Yes
Now — Friendly support calls
- Team is Support
- Duration is at least 5 minutes
- Was the customer friendly? is Yes
Existing operative Criteria are converted for you. Conditions that belonged to the same Team stay together with AND, while different Team rule sets become separate Collections joined by the Project's any-match behavior. You can open the resulting Collections, give them clearer names, and edit them like any other Collection.
Edit or delete a Collection
Select a Collection from the list to open it.
- Change its name or conditions, then select Save.
- Select Cancel to discard your unsaved changes.
- Select Delete to remove that route into the Project.
Deleting one Collection does not affect the other Collections in the Project.
Apply changes to past conversations
Saved Collections are used during new conversation processing. Past conversations are not updated automatically.
To apply the new setup to older conversations:
- Open the Project's Revisions tab and start a new revision.
- Choose the date range.
- Turn on Also reprocess completed conversations when completed conversations should be checked again.
- Preview the scope, then start the revision.
See Reports and exports for the complete rerun flow.
If the results are not what you expected
- A conversation is missing: check whether it matches at least one Collection.
- Too many conversations enter: tighten the Collection that is matching too broadly.
- The rule is difficult to understand: split alternative reasons into separate, clearly named Collections.
- Past results did not change: use Revisions to rerun older conversations.