Runo Call Management CRM
Voice & TelephonyConnect AI agents to Runo, a SIM-based mobile call management and telecalling CRM used by teams in India. Agents allocate leads to callers, log interactions that upsert the customer record by phone, and pull call logs from previous days.
What This Integration Enables
Runo is built around a fact most CRMs ignore: in a lot of markets, the sales call is placed from a mobile phone with a SIM in it, not from a softphone in a browser. Runo runs on the caller's handset, captures the call as it happens, and organizes the work into processes, allocations and interactions. That makes it a telecalling CRM rather than a dialer or a call analytics tool, and this connector is shaped accordingly: it puts leads into the queue that agents call from, and it takes the record of what happened back out.
The write surface is allocations and interactions. Create Allocation places a single lead on a named user, on a workflow rule, or into the common pool. Add Multiple Allocations does up to 10 in one request and returns per-record success and failure counts, which is the difference between knowing a batch ran and knowing which leads actually reached a caller. Create Interaction is an upsert: it creates the customer when the phone number is new and updates the existing customer when it is not, then adds the interaction under them. That upsert is worth noting precisely, because it is the only path this connector offers to changing a customer record. There is no standalone update customer action. Customer data changes as a side effect of logging an interaction, or through the existingDataUpdateMethod on a batch allocation, which defaults to override.
This connector has no triggers, and its read model constrains flows harder than the missing trigger does. Runo does not publish a webhook subscription API with a documented delivery payload, so nothing is pushed to FlowRunner. But the list endpoints are also date paginated and past-date only: List Customers, List Call Logs, List CRM Interactions, List WhatsApp Interactions, List Allocations and Get User Login Logs each take a date in YYYY-MM-DD that defaults to yesterday, accept only past dates, and return at most 100 records per page. You cannot poll today. So a Runo reporting flow is a next-morning flow by design, and any workflow that needs same-day reaction to a call has to get that signal from somewhere other than this API. Say that out loud when you design it, rather than discovering it when the first poll for today's date is rejected. One more protocol detail the connector handles for you: Runo returns HTTP 200 even for logical and validation errors, carrying the real outcome in a statusCode envelope where 0 means success. FlowRunner inspects that envelope and raises the returned message when it is not 0, so a rejected write fails your step instead of passing silently.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Enquiries become allocations without a spreadsheet in the middle
A web form, a marketplace listing and a partner feed all produce enquiries. A flow normalizes each one, calls Get CRM Fields for the target process to learn the exact userFields names and types that process accepts, and builds the allocation payload against those real field names rather than against what someone remembered. It batches them ten at a time through Add Multiple Allocations, routing high-priority leads to a named agent by phone number and the rest into the common pool with isCommonPool. It reads count.success and count.failure from the response and, with the results option set to failed, captures the specific records that did not land. Those go to the calling manager in Slack with their reason, not into a log nobody reads. Phone numbers carry the country code throughout, because Runo requires it and a missing prefix is the most common cause of a silent routing miss.
Yesterday's calling day, reported before today's starts
Each morning a flow calls List Call Logs for the previous date, walking pages until it has the day, then List CRM Interactions for the same date. Each call log carries the caller and customer details, start time, duration in seconds, direction, disposition status and tag; each interaction carries notes, priority, CRM field values and the assigned user. The agent joins the two, computes connect rates and disposition mix per agent and per process, and appends the rows to Google Sheets with a summary posted to the sales channel. Set isLatestOnly when you want the most recent call or interaction per customer rather than every touch, which is usually the right shape for a pipeline view and the wrong shape for an activity report.
The WhatsApp thread and the phone call in the same picture
Teams that call also message, and the two records usually live apart. A flow calls List WhatsApp Interactions for a date and process, which returns the customer, the message, a label, the delivery status and the user who sent it, and pairs it with List Call Logs for the same day. Customers who were messaged and never reached by phone, or reached by phone and never followed up in writing, become two short lists for the manager. Get All Users supplies the roster with each user's processes so the lists name people rather than phone numbers, and Get User Login Logs shows who was actually logged into the mobile app that day, which is the context that separates a coverage problem from a performance one.
Human-in-Loop Highlight
Delete Allocations by Users and Delete Allocations by Customers are the two calls in this connector that can quietly do far more than the person writing the flow intended. Both take phone numbers and both accept an optional process name, and the behavior when that process name is omitted is the trap: allocations are removed across all processes for those users or customers. A flow written to clear a caller's stale leads from one outbound campaign, with the process parameter left empty because it seemed optional, clears that caller's allocations from every campaign they work on, including the inbound queue and the renewals process. Runo documents both deletes as permanent and not undoable, and there is no action here that restores an allocation. The leads themselves survive as customers, but the assignment, the priority, the notes typed on the phone and the CRM field values captured against the allocation are gone, and the only way back is to re-allocate from whatever source you still have.
So the agent never runs a deletion on an inferred scope. When a reassignment or a cleanup is called for, it resolves the picture first: Get All Processes to name the processes involved, Get All Users to name the caller, and List Allocations for the relevant date to count what is actually there. Then it asks: "Ready to delete allocations for +919898989898 (Priya S). No process was specified, which would remove her allocations across all 4 processes she belongs to, 212 records in total. Restrict to Outbound Q3 only, which is 47 records, or proceed across all processes?" The manager picks a scope, and the agent calls Delete Allocations by Users with that process explicitly set. The same discipline applies to Suspend User, which locks a caller out of the Runo mobile application mid-shift. That is human-in-the-loop doing the thing it is actually for: not adding an approval step to every write, but stopping at the one where the parameter you left blank is the parameter that decides the blast radius.
Agent Capabilities
17 actionsUsers and Processes
5- Get All Users Fetches every user in your Runo company account, including each user's id, name, phone number, email, designation and the processes they belong to. This is the roster that turns a phone number in an allocation into a person in a report.
- Get User Login Logs Fetches the login and logout logs of all users for a given date, each entry carrying the agent name, the event, the event time and the device model and OS version. The date must be YYYY-MM-DD, defaults to yesterday, and results are paginated.
- Suspend User Suspends a user identified by their phone number with country code. A suspended user can no longer log in to the Runo mobile application until they are reactivated, so this takes a caller off the floor.
- Get All Processes Fetches all processes configured in your account, each representing a distinct calling workflow such as an inbound or outbound campaign, returned with its name and process id.
- Get CRM Fields Fetches all CRM fields for a given process, covering both the fixed fields and the user defined fields, each with its name and type. Call this before building an allocation or interaction payload so the userFields you send are the ones that process actually accepts.
Customers
3- List Customers Fetches the customers of a given date, at most 100 records per page and past dates only. Each customer carries contact details, company and address information, priority and CRM field values. Use dateType to filter by creation or last update.
- Delete Customer by Phone Number Permanently deletes a customer identified by their phone number with country code, removing the customer and their associated CRM data. This cannot be undone.
- Delete Customer by Id Permanently deletes a customer identified by their Runo customer id, removing the customer and their associated CRM data. This cannot be undone.
Call and Interaction History
4- List Call Logs Fetches the call logs of a given date, at most 100 records per page and past dates only. Each log includes caller and customer details, call start time, duration in seconds, direction, disposition status and tag. Set isLatestOnly to return only the latest call per customer.
- List CRM Interactions Fetches the CRM interactions of a given date, at most 100 records per page and past dates only. Each interaction captures a customer touchpoint with its notes, priority, CRM field values and the assigned user. Set isLatestOnly for the latest interaction per customer.
- List WhatsApp Interactions Fetches the WhatsApp interactions of a given date and process, at most 100 records per page and past dates only. Each interaction includes the customer, the message, a label, the delivery status and the user who sent it.
- Create Interaction Creates or updates a customer matched by phone number, then adds an interaction under that customer. Provide the name and phone number with country code at minimum, plus optional email, company details, priority, notes, the assigned user's phone number and user defined CRM field values. Because it upserts, this is also the only path this connector offers for changing an existing customer record.
Allocations
5- List Allocations Fetches the allocations of a given date, at most 100 records per page and past dates only. An allocation is a customer or lead assigned to a user for calling, and each record includes the customer details, priority, notes and CRM field values.
- Create Allocation Creates a single allocation and assigns it either to a specific user or to the common pool. Name and phone number with country code are the minimum; optionally set email, company details, priority, notes, the process, an allocation rule name, the assigned user's phone number and user defined CRM field values. Set isCommonPool to add it to the pool instead of a named user.
- Add Multiple Allocations Creates up to 10 allocations in one request, assigning them by common pool, workflow rule or a specific assignedTo number. Each object carries a required customer plus optional email, company, priority, notes and userFields. existingDataUpdateMethod controls whether matching existing records are updated or overridden, and it defaults to override. The response reports per-record success and failure counts, so read them rather than trusting the HTTP result.
- Delete Allocations by Users Deletes the allocations currently assigned to the given users, identified by phone numbers with country code. Optionally restrict to a single process. **When no process is provided, allocations are removed across all processes for those users.** This cannot be undone.
- Delete Allocations by Customers Deletes the allocations of the given customers, identified by phone numbers with country code, with the same optional process restriction and the same all-processes behavior when it is omitted. This cannot be undone.
Frequently Asked Questions
What can FlowRunner do with Runo Call Management CRM?
FlowRunner agents can run Get All Users, Get User Login Logs, and Suspend User in Runo Call Management CRM, plus 14 more actions.
Does connecting Runo Call Management CRM to FlowRunner require OAuth?
No. Runo Call Management CRM connects to FlowRunner with an API key, no OAuth flow required.
Can Runo Call Management CRM trigger a FlowRunner workflow automatically?
Runo Call Management CRM doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Runo Call Management CRM
$100 in credits. No card required. Connect in minutes.