FlowRunner
PricingContact
Theme
Start Free

Connect AI agents to BranchIS, AI project scheduling and resource management built on the APUtime engine. Agents open projects and apply templates, raise tickets with an owner, track time, and read workspace insights and cash flow.

29 actions API key available
A schedule fires, because BranchIS publishes no webhook subscription API and pushes nothing to FlowRunner
List Tickets returns the current page of tasks and events, and List Notifications returns what the workspace flagged
The agent compares planned start and end timestamps against today to find tickets that have slipped past their window
Get Project resolves each slipped ticket to its project, code and visibility
Postpone Ticket moves genuinely rescheduled work to its new date with a recorded reason
The delivery owner receives the tickets that slipped without an agreed new date
The owner decides which project needs a template applied, rescoped or escalated, and instructs the agent

What This Integration Enables

BranchIS is scheduling software with an opinion. Built on the APUtime autonomous execution management engine, it is aimed at teams who want the plan recalculated rather than redrawn, and its object model reflects that: contacts, projects, tickets that are either tasks or events, timers, groups, and a workspace-wide search. FlowRunner connects to that model so a flow can open projects, generate their work from a template, move tickets through their status, record time against them, and read the workspace aggregates.

There is a shape to this connector that matters more than any individual action, and it is worth knowing before you wire anything to a condition. BranchIS ships no delete. There is no Delete Ticket, no Delete Project, no Delete Contact, no Delete Group. Everything in the action list creates, reads or updates. A ticket you did not mean to create is a ticket you will be closing by hand in the user interface, and a template applied to the wrong project is a set of tickets that FlowRunner cannot take back out. That is not a criticism of the product, which is designed around recalculating rather than discarding. It is a design constraint on your flows: in BranchIS, the reversible operations are status changes, and creation is the operation to be careful with.

The second thing to design around is that this connector has no triggers. The vendor's published collection documents no webhook subscription API and no event payload shape, so no trigger could be built responsibly and none was. Reacting to change means polling List Tickets, List Notifications or Get Insights on a schedule and comparing against what you saw last time. One protocol detail affects how you read failures: BranchIS answers HTTP 200 on almost everything and puts the real outcome inside a response envelope, where state is ok or nok. The connector inspects that envelope and raises the vendor's own error message when it says nok, so a rejection surfaces as a failed step in your flow instead of quietly passing as a success. That is exactly the class of silent mishandling that hides automation exceptions until someone finds them a week later.

Without FlowRunner

Slippage found late A ticket that missed its planned end sits unnoticed until someone reads the board
Rescheduling done one by one Each postponement is opened, edited and saved by hand with the reason lost
Reporting assembled manually Cash flow and workspace figures are exported and pasted into a deck each month

With FlowRunner

Slippage surfaced on a schedule Every ticket past its planned window is collected and grouped by project before the standup
Reasons captured with the change Postpone Ticket records the new date and the reason in the same call
Figures arrive already assembled Get Cash Flow Histogram and Get Insights feed the report without a manual export

Use Case Scenarios

A standup brief that is assembled before the standup

Each morning a flow calls List Tickets with a limit, walks the page, and separates tickets into three groups: due today, past their planned end and still not DONE, and blocked behind something else in the same project. It calls Get Project on each affected project so the summary carries project names and codes rather than numeric IDs, and List Notifications to pick up anything the workspace itself raised overnight. The result posts to the delivery channel in Slack as one message per project. Nobody opens the board to find out what changed. The meeting starts from a list instead of producing one.

A project spun up from the system where the work was actually sold

A deal closes in the CRM. A flow calls Create Contact to register the client contact if it is new, then Create Project with the name, short code, planned start and end and the right visibility, then Apply Project Template to generate the standard ticket set for that engagement type. It writes the returned project ID back onto the CRM record so the two systems point at each other, and posts the project code to the account channel. The alternative that most teams live with is a project manager rebuilding the same twelve tickets from memory every time, which is both slower and less consistent than a template that someone deliberately maintains.

Time that lands on the ticket instead of in a notebook

A team that works from tickets rather than timesheets can have the timer follow the work. When someone marks a ticket as started in another tool, a flow calls Start Timer against that ticket; when the ticket moves, Stop Timer closes the entry with a description. For work that was tracked elsewhere, Create Timer writes a completed entry with an explicit start and end in unix seconds and a billable flag, so an import from a spreadsheet becomes real time records instead of a note. Get Running Timer lets a flow check whether a timer is already going before it starts another, which is the check that stops a nightly sync from creating overlapping entries. A weekly rollup pushes the totals into Google Sheets for invoicing.

Human-in-Loop Highlight

Apply Project Template is the one call in this connector that turns a single instruction into a large amount of state, and it is the one the missing delete makes expensive. Point it at a project and it generates that project's tickets from the template, with the start date anchoring the whole generated schedule. Point it at the wrong project ID, or the wrong template, or the right template with a start date a month off, and you have created a set of tickets that FlowRunner has no action to remove, sitting in a workspace where an execution engine is now scheduling around them. The recovery is manual and it lands on whoever owns the board. So the agent prepares the application and stops before making it. It resolves the target with Get Project so the message names the project rather than an ID, checks List Tickets to report whether the project already has tickets that the template would sit alongside, and asks the delivery owner: "Ready to apply template Standard Implementation to project ACME-Q3 with a start date of 18 August. The project already has 4 tickets. This generates the template's tickets and there is no delete action to undo it. Apply?" The owner confirms or supplies a different start date, and only then does the agent call Apply Project Template. This is the digital andon cord applied to a scheduling tool: the agent stops the line at the step whose cost is asymmetric, not at every step.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

29 actions

Contacts

6
  • List Contacts Returns a page of CRM contacts, covering people, companies and places, with a free text query and limit and offset paging up to 100. Results arrive under the data.items array.
  • Get Contact Retrieves a single CRM contact by its numeric id, including its profile fields.
  • Create Contact Creates a CRM contact. Name and type are required, where type is one of person, company, place or other. Optional profile fields include first name, last name, email, phone, position, city, country and gender.
  • Update Contact Updates fields on an existing contact identified by its numeric id. Only the fields you supply are changed, so a partial sync from another system will not blank the rest of the record.
  • List Contact Roles Returns the contact roles defined in the workspace, used to describe how a contact relates to a customer. Supports a free text query and paging.
  • Create Contact Role Creates a new contact role definition that can be assigned when linking a contact to a customer. This creates the role itself, not a link between two records.

Tickets

8
  • List Tickets Returns a page of tickets, which cover both tasks and events, with a free text query and paging up to 100 per page. This is the primary polling surface for change, since the connector has no triggers.
  • Get Ticket Retrieves a single ticket by its numeric id or by its code. Provide one of the two identifiers.
  • Create Ticket Creates a ticket. Name and type are required, where type is task, event or future_event. Optionally attach it to a project, assign an owner, set priority and description, and give it a planned start and end as unix timestamps in seconds.
  • Update Ticket Updates fields on an existing ticket identified by its numeric id. Only the fields you supply are changed.
  • Set Ticket Status Sets the workflow status of a ticket to INBOX, WORKING, DONE or REJECTED. Identify the ticket by numeric id or code. Status is the reversible operation in this connector, which makes it the safe one to drive from a condition.
  • Mark Ticket Done Marks a ticket as done, by numeric id or code. The direct form of the status change most flows need.
  • Mark Ticket Undone Reopens a previously completed ticket. Useful when a downstream check fails after a ticket was closed optimistically.
  • Postpone Ticket Postpones a ticket to a new date, given as a unix timestamp in seconds, with an optional reason. The reason field is what turns a rescheduled plan into a record you can review later.

Projects

4
  • List Projects Returns a page of projects from the workspace with a free text query and paging. Results arrive under data.items.
  • Get Project Retrieves a single project by its numeric id or by its code. This is the call that turns an ID in a ticket into a name a person recognizes.
  • Create Project Creates a project. Name is required, with optional short code, description, planned start and end as unix timestamps, and visibility set to internal, private or public.
  • Apply Project Template Applies a ticket template to an existing project, generating its tickets from that template. Requires the project id and the template id, with an optional start date that anchors the generated schedule. There is no corresponding delete, so treat this as a one way step.

Groups

2
  • List Groups Returns the groups defined in the workspace, used to organize users, with a free text query and paging.
  • Create Group Creates a group for organizing users. Name is required, with optional description, short code and color.

Time Tracking

4
  • Start Timer Starts a running timer, optionally attached to a ticket, and returns the started timer.
  • Stop Timer Stops the currently running timer, with an optional description recorded on the entry.
  • Get Running Timer Returns the currently running timer for the authenticated user, if any. Use it as a guard before starting another so a sync does not create overlapping entries.
  • Create Timer Creates a completed time entry with an explicit start and end as unix timestamps in seconds, attached to a ticket. Start must be earlier than end. Optionally mark it billable and add a description.

Analytics and Search

5
  • Get Insights Returns aggregated workspace insights over a time range defined by start and end unix timestamps in seconds, where start must be earlier than end.
  • Get Cash Flow Histogram Returns a cash flow histogram aggregated over project dates, bucketed by 8h, day, week, month, quarter or year.
  • Search Runs a global search across the workspace and returns matching records, with a query string and an optional result limit from 0 to 100.
  • List Files Returns a page of files stored in the workspace, with paging up to 89 records per page.
  • List Notifications Returns a page of notifications for the authenticated user. Paired with List Tickets, this is the second half of a polling loop that catches what the workspace itself flagged.

Frequently Asked Questions

What can FlowRunner do with BranchIS?

FlowRunner agents can run List Contacts, Get Contact, and Create Contact in BranchIS, plus 26 more actions.

Does connecting BranchIS to FlowRunner require OAuth?

No. BranchIS connects to FlowRunner with an API key, no OAuth flow required.

Can BranchIS trigger a FlowRunner workflow automatically?

BranchIS doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with BranchIS

$100 in credits. No card required. Connect in minutes.