Yunique
MessagingConnect AI agents to Yunique by Opens, a Brazilian omnichannel contact center that unifies WhatsApp and webchat. Agents read and send messages, open cases, log calls and activities, and tag conversations for routing.
What This Integration Enables
Yunique, by Opens, is a Brazilian omnichannel contact centre, and the word omnichannel is doing real work here rather than serving as a label. It unites WhatsApp and webchat conversations, telephony with click-to-call and call history, contacts, cases, activities, and in-app agent notifications, and the connector reaches all of it. That breadth is what distinguishes it from the chat-only tools it sits beside: an agent working here can read a chat transcript, open a ticket from it, log a note against a call, and put a callback on a named agent's list, all inside one flow.
Three structural facts shape every flow built on this connector. First, most operations require your Company ID, a UUID supplied once as a configuration item and injected automatically; List Company Users returns it as the top-level id field if you need to find it, and Get Call Queues returns it too. Second, Yunique is split across many hosts under its own domain, cservice, clist, chat, cconfig, cases, cblist, calls, callreport, rshiph, and notify among them, and the extension routes each operation to the correct one. There is no single base URL, which matters if you are debugging a failure by host. Third, cases use numeric status codes, Open is 3, In Progress is 4, and Closed is 5, and the Create Case and Update Case Status actions expose these as friendly labels and map them for you, so a flow writes Open rather than 3.
The messaging surface has an ordering requirement worth learning before you build. Send Chat Message needs the room to already exist and both the internal sender user and the customer to be members of it, with chatRoomMemberId identifying the sender. So the sequence is Create Chat Room with its member objects, each carrying recipientId, provider, channel, and origin, and for a WhatsApp room a member carrying the providerAccessToken for the WABA phone id, then Send Chat Message into it. A flow that tries to message first will fail, and the failure will look like an authorization problem rather than a sequencing one.
Notes are a single mechanism with two entry points. Add Call Note and Add Chat Note both post a note event to the same endpoint; a call note carries a callId while a chat note carries a contact plus the conversation id. Both accept line breaks in the text, which is a small thing that makes automated summaries readable rather than a single run-on paragraph.
There are no triggers on this connector. Yunique does not wake a flow up, and this extension exposes no webhook subscription surface either. The patterns available are a schedule, an upstream system starting the flow, or a periodic Get Last Contact History for a known origin number. Design around the poll rather than waiting for an event that will not arrive.
Without FlowRunner
With FlowRunner
Use Case Scenarios
The customer whose history is already open when the agent arrives
An inbound event names a customer by phone number. The agent calls Find Contacts By Phone within the configured company, and Add Contact only if nothing matches, which avoids the duplicate-contact problem that quietly makes every later report wrong. Get Last Contact History returns the most recent chat contact for that origin, and Get Conversation Messages returns the transcript paginated in the chosen chronological direction. With that in hand the flow calls Create Case with the contact as customer and a real user id as assignedTo, status defaulting to Open, and Add Task To Case links the chat action to the ticket so the two are not separate records of the same event. Send User Notification then puts a title and body in front of the assigned agent in-app. The agent opens a case that already knows who this is and what was said.
Conversations that end in a written summary
A support exchange closes. The agent calls Get Conversation Messages for the room, drafts a summary of what was agreed, and calls Add Chat Note with the contact id and the conversation id so the summary lives on the record rather than in someone's memory. Add Tag To Conversation applies a category tag from List Tags, which is what later makes the volume-by-topic report possible. The same summary is sent to the customer in writing through Brevo, because a chat transcript is not a confirmation and Brazilian customers, like everyone else, prefer to have the commitment in their inbox. Terminate Room then closes the room, and Update Room is the action for less final status changes.
Service quality reporting that does not need a person to assemble it
Get Call User History takes a comma separated list of user ids and an ISO 8601 date range and returns the call history for those agents. A weekly flow pairs it with List Activities By Category filtered to Phone and Get Call Queues for the telephony service groups, then writes a per-agent view into Google Sheets and posts the summary to Slack. Because Add Tag To Call has been applied by earlier flows, the report can break calls down by outcome rather than by duration alone, which is the difference between a dashboard that measures activity and one that measures whether the activity worked. Nothing in this scenario writes to a customer, which is why it can run entirely unattended.
Human-in-Loop Highlight
Click To Call is the action in this connector that reaches furthest into the physical world, and it deserves a person for a reason the other three messaging services here do not share. It starts an outbound call from an internal extension, given as From, to a destination phone number given as To. Two people get moved by that single call. The customer's phone rings, which is the most interrupting channel any of these connectors can use and the only one that demands an answer in real time; there is no equivalent of leaving it unread until later, and there is no delete, edit, or recall as there would be for a chat message. And the agent whose extension is in the From field is also seized: their softphone rings, they are pulled off whatever they were doing, and if they are mid-conversation with another customer the dial arrives as an interruption they did not schedule. An agent-initiated call is therefore not a message send, it is a decision to spend two people's next several minutes, one of whom is a colleague and one of whom is a customer who may be driving, in a meeting, or asleep in a timezone the flow did not check. The extension is discoverable through List Company Users, which returns each user's endpoint, so a flow can dial from anyone's extension with no further confirmation. So the agent assembles the case for the call and hands the decision to the person who will make it. It calls Get Contact and Get Last Contact History for the customer, Get Conversation Messages for what was last discussed, and Send User Notification to put the request in front of the agent in-app: "Callback requested by Ana Ribeiro, case 3318, In Progress. Last message 14 minutes ago about a billing correction. Dial from your extension 2041 to +55 11 9xxxx now, schedule an activity for later today, or reply in the chat room instead?" The agent accepts, defers by having the flow call Create Activity as a Call callback on their own list, or declines. Every other part of this connector, the contact writes, the case creation, the tagging, the note logging, the reporting, runs without asking anyone. Making the dial a human-in-the-loop step is what makes that acceptable.
Agent Capabilities
34 actionsCompany and Users
3- List Company Users Retrieves the company record together with the full list of users belonging to it. The top-level id field is your Company ID, which most other operations require. Each user includes id, username, email, profile, language, occupation, and endpoint, the extension a call can be placed from.
- Get User By Token Retrieves the profile of the user that owns the configured service token, including id, username, email, profile, language, occupation, endpoint, and the queues that user belongs to. Useful for a flow that needs to know which identity it is acting as.
- Get Company License Status Retrieves the company record and its license status, including company id, name, timezone, and trial flags. The timezone is worth reading if a flow schedules anything.
Contacts
4- Get Contact Retrieves a single contact by its unique id, including name, category, organization, phones, and emails.
- Find Contacts By Phone Searches contacts by phone number within the configured company, returning matching records. The existence check that keeps a create flow from producing duplicate customers.
- Add Contact Creates a new contact in the configured company. Phones and emails are arrays of objects, and category is an object with a name and optional hex color, with a new category created when the name does not already exist. That auto-creation makes a misspelled category quietly permanent, so read categories before inventing one.
- Update Contact Updates an existing contact by id, changing only the fields provided. Phones and emails replace the corresponding arrays rather than merging into them, so send the full set or the ones you omit are gone.
Chat Rooms and Messages
8- Create Chat Room Creates a chat room, meaning a conversation, for webchat or WhatsApp. Members is an array of member objects each identifying a participant with recipientId, provider, channel, and origin, and a WhatsApp member includes the providerAccessToken for the WABA phone id. The company comes from your configuration. This must run before any message can be sent.
- Get Room Status Retrieves a chat room by id, including subject, status, open flag, and configuration references.
- Update Room Updates a chat room by id, for example to change its status, with the company taken from your configuration.
- Terminate Room Terminates, meaning closes, a chat room by id within the configured company. The end of a conversation rather than a pause in it.
- Get Room Members Retrieves the members of a chat room within the configured company. Read it to resolve the chatRoomMemberId that Send Chat Message requires.
- Get Conversation Messages Retrieves the messages of a chat room, paginated, with Order controlling the chronological direction. The transcript read that gives an agent or a summary the actual context.
- Send Chat Message Sends a message to an existing chat room, webchat or WhatsApp. The room must already exist and both the internal sender user and the customer must be members of it, with chatRoomMemberId identifying the sending member. Sequencing is not optional here.
- Get Last Contact History Retrieves the most recent chat contact for a given origin, meaning a customer phone number, within the configured company. The way a flow finds the latest conversation for a customer without holding a room id.
Cases
7- List Cases Retrieves all cases, meaning tickets, for the account. Each includes id, title, description, customerId, assignedTo, createdBy, and caseStatusId, where 3 is open, 4 is in progress, and 5 is closed.
- Get Case Retrieves a single case by its numeric id.
- Create Case Creates a new case. The customer is a contact id, and assignedTo and createdBy are user ids. Status defaults to Open when not provided, which makes this safe to call the moment a conversation reveals a problem rather than after it ends.
- Update Case Updates an existing case by id, changing only the fields provided.
- Update Case Status Changes the status of a case by id to Open, In Progress, or Closed, with the friendly labels mapped to the numeric codes for you.
- Add Task To Case Links an action, meaning a task, to a case. Action type is the kind of linked action, for example chat or call, and actionId is its identifier. This is what stops a conversation and its ticket from being two unconnected records of the same event.
- Get Case Tasks Retrieves the linked actions of a case by case id.
Activities
3- Create Activity Creates a new activity, meaning a callback, assigned to a user, with Type being Call or Chat and the company taken from your configuration. The deferral path when a customer should be reached later rather than dialled now.
- List My Activities Retrieves all activities owned by the user that holds the configured service token.
- List Activities By Category Retrieves user activities filtered by category, for example Phone. The read behind an agent workload or call volume report.
Telephony
3- Click To Call Starts an outbound call from an internal extension to a destination number using the click-to-call service, where From is the internal extension and To is the destination phone number. It rings a customer and seizes a colleague's softphone at the same time, with no recall, which is why it belongs behind an accepted handoff rather than inside a loop.
- Get Call User History Retrieves the call history for one or more agents within a date range. From ID is a comma separated list of user ids and the date range uses ISO 8601 timestamps.
- Get Call Queues Retrieves the telephony queues, meaning service groups, configured for the company. The company id is also returned as the id field of the response.
Tags and Notes
5- List Tags Retrieves all tags configured for the account, each with an id and a name that can be applied to calls and conversations. Read it before tagging so the taxonomy stays usable.
- Add Tag To Conversation Applies a tag to a chat room, supplying the tag id and name along with the chat room id. The categorization that later makes volume-by-topic reporting possible.
- Add Tag To Call Applies a tag to a call, supplying the tag id and name along with the call identifiers, callId and linkedId. The equivalent categorization on the telephony side.
- Add Call Note Adds a note event to a call. Identifier is a human label for the note author, callId is the call's unique id, and text is the note content, which accepts line breaks.
- Add Chat Note Adds a note event to a conversation. Contact is the contact id, conversationId is the chat room id, and text is the note content, again accepting line breaks so an automated summary reads as more than one paragraph.
Notifications
1- Send User Notification Sends an in-app notification with a title and text body to a user in the configured company. The internal channel a flow uses to ask a colleague something, or to hand them context, without touching the customer.
Frequently Asked Questions
What can FlowRunner do with Yunique?
FlowRunner agents can run List Company Users, Get User By Token, and Get Company License Status in Yunique, plus 31 more actions.
Does connecting Yunique to FlowRunner require OAuth?
No. Yunique connects to FlowRunner with an API key, no OAuth flow required.
Can Yunique trigger a FlowRunner workflow automatically?
Yunique doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Yunique
$100 in credits. No card required. Connect in minutes.