freispace
SchedulingConnect AI agents to freispace, the post-production scheduling platform. Agents create and update bookings, projects, tasks, resources, staff, and absences so studio schedules stay accurate without manual entry.
What This Integration Enables
freispace comes out of the post-production world and the vocabulary is that industry's rather than a generic scheduler's. The objects are suites, which are bookable rooms belonging to a site, resources, which are equipment and other assets, staff, who may be internal or external freelancers, and bookings, which allocate all three against a window of time and a project. That is a different problem from putting a meeting in a calendar. A grading session needs a specific room, a specific machine, and a specific person, and if any one of the three is unavailable the booking is not slightly worse, it is impossible.
The connector covers that model end to end with full read and write on bookings, projects, tasks, resources, suites, staff, clients, and absences, plus reference reads for sites and booking statuses. Two design details are worth building around. Create Booking carries a Draft flag, so a tentative hold can be created that does not block resources, which means an agent can propose capacity without taking it away from anyone while a job is still being agreed. And Create Resource carries an Allow Concurrent Bookings switch for service resources that can genuinely be used several times at once, which is how the platform tells the truth about collisions rather than reporting conflicts that are not real. Absences are first-class here too, so vacation and sick leave sit alongside bookings in the same schedule rather than in an HR system nobody consults when planning. Practical constraints: start and end times are handled in UTC, most reads are paginated, and the API applies a rate limit of 60 requests per minute per team, so bulk syncs should be paced. There are no triggers, so flows run on a schedule or on an event from another system. Agents hold, allocate, reschedule, and report. Removing a piece of the schedule's furniture goes to a person, which is the human-in-the-loop default FlowRunner builds around. Every operation here is built and verified against the freispace API.
Without FlowRunner
With FlowRunner
Use Case Scenarios
A Won Deal Becomes a Held Studio, Not a Note to Self
A production job is marked won in HubSpot. The agent runs List Clients to find the client record, creating one with Create Client if this is a first engagement, then Create Project with the job name, number, and delivery window. It reads List Suites and List Resources to resolve the grading room and the equipment the job requires, checks List Bookings across the target dates filtered to those items, and creates the hold with Create Booking using the Draft flag so nothing is blocked while the schedule is still provisional. The producer sees the proposed shape of the job in freispace within a minute of the deal closing, and confirming it is a single change rather than an hour of allocation.
Absences That Reach the Schedule Before the Conflict Does
Approved leave is recorded in BambooHR. On a nightly schedule the agent reads newly approved requests, matches each person to a freispace staff member through List Staff, and runs Create Absence for each day, marking half days as morning or afternoon where the request was partial. Before writing, it runs List Bookings filtered by that staff member across the leave dates. Where a booking already exists inside the absence window, the agent does not silently create the conflict and move on. It posts the collision to Slack with the project, the client, and the dates, so a producer can rebook the session or arrange cover while there is still time to do either.
Monday Morning Without the Weekly Assembly Ritual
Every Monday at seven the agent runs List Bookings for the week ahead, paging through the results, then joins each booking to its project, its client, its suite, and its assigned staff. It reads List Booking Statuses so the state of each job is expressed in the team's own vocabulary rather than as a UUID, and pulls List Absences across the same window so gaps in the crew are visible next to the work. The result posts to Slack as one message per day and writes to Google Sheets for utilization tracking. The producer who used to build that view by hand on Sunday evening reads it instead.
Human-in-Loop Highlight
Most destructive operations announce themselves by failing. Delete Resource, Delete Suite, and Delete Staff do the opposite: they succeed, and then the bookings that referenced the deleted item are unassigned. The booking survives. It keeps its dates, its project, its client, its status, and its place on the schedule. What it quietly loses is the grading suite, or the specific machine, or the colorist, and nothing about it looks wrong afterward. There is no error, no flag, and no gap in the calendar to notice. The schedule still renders, the producer still sees the job on Thursday, and the discovery happens on Thursday when a client arrives for a session that has no room. Retiring equipment and offboarding a freelancer are both routine, both legitimate, and both easy to run as a bulk cleanup against a list of items nobody has used recently, which is exactly how a live booking three weeks out gets hollowed out. The evidence is available and cheap to gather, because List Bookings filters by booked suites, resources, and staff, so an agent can name every future booking that depends on the item before anything is removed. So it gathers that list and stops. It posts to Slack: "Cleanup proposes deleting resource DaVinci Station 2 and staff member J. Marek, both flagged inactive. List Bookings shows 4 future bookings referencing Station 2, including Northfield grading on 24 September, and 1 referencing J. Marek. Deleting unassigns them without warning. Proceed, reassign first, or skip?" Holding capacity, allocating crew, recording absences, rescheduling, and the weekly reporting all run unsupervised. Removing something that live bookings still depend on does not.
Agent Capabilities
43 actionsConnection
1- Test Connection Verifies that the configured API key is valid and returns details about it, including its name, granted scopes, and expiration date. Worth running as the first step of a scheduled flow, since a key scoped narrowly for one automation may not cover an operation added later.
Bookings
5- List Bookings Retrieves bookings for the team with filters for date range, project, and the specific suites, resources, and staff booked, plus a search on booking name. Results are paginated through the Page parameter. This is the operation behind conflict checks, weekly schedules, and any question about what depends on a given item.
- Get Booking Retrieves one booking in full by UUID, including its schedule, assigned project, status, and the suites, resources, and staff allocated to it. The read that turns a booking ID into something a person can act on.
- Create Booking Creates a scheduled calendar entry and optionally allocates suites, resources, and staff to it. Start and end times are supplied in UTC. Set All Day for full-day bookings, or set Draft to create a tentative hold that does not block resources while a job is still being agreed.
- Update Booking Updates an existing booking by UUID, changing only the fields you supply. Reassign suites, resources, or staff by passing new allocation arrays, which is how a rescheduled session moves rooms and crew together rather than in three separate steps.
- Delete Booking Permanently deletes a booking by UUID, removing it from the schedule and freeing the suites, resources, and staff it had reserved. This cannot be undone, and the freed capacity becomes available to anyone planning against it.
Projects
5- List Projects Retrieves projects with a search on name and a filter for status, covering active, archived, or all. Paginated through the Page parameter. Used to check whether a job already exists before a flow creates a second one for it.
- Get Project Retrieves one project in full by UUID, including its number, description, schedule, status, associated clients, subprojects, and milestones. The read that assembles the context behind a booking.
- Create Project Creates a project, which groups related bookings and tasks and can carry a schedule, a color, and a description. Nest it under a parent project to create a subproject, which is how a multi-deliverable job stays one thing while its parts are tracked separately.
- Update Project Updates an existing project by UUID, changing only the fields you supply. The Active toggle archives or reactivates a project, which is usually the right move when a job ends and the history still matters.
- Delete Project Permanently deletes a project by UUID along with its association to bookings and tasks. This cannot be undone. Archiving through Update Project is the better option whenever the history needs to survive.
Tasks
5- List Tasks Retrieves tasks with filters for completion status and priority, a search on title, and a Reference ID to scope results to a single booking group or project. Paginated through the Page parameter.
- Get Task Retrieves one task in full by UUID, including its title, description, completion state, priority, due date, and any child subtasks. Used when a flow needs the whole checklist rather than a count.
- Create Task Creates a task attached to a booking group or a project, chosen through the Reference Type and Reference ID. Set a due date and a priority optionally, and pass an array of child task objects to create subtasks in the same call.
- Update Task Updates an existing task by UUID, changing only the fields you supply. The Completed toggle marks a task done or reopens it, which is how a flow reflects work finishing somewhere else.
- Delete Task Permanently deletes a task by UUID, including any of its child subtasks. This cannot be undone, so a completed task is usually better closed than removed.
Resources
5- List Resources Retrieves bookable resources, meaning equipment and other assets, with a search on name and pagination through the Page parameter. This is the catalog a booking allocates from.
- Get Resource Retrieves one resource in full by UUID, including its name, number, cost, and whether it can be booked multiple times concurrently. That last property is what determines whether a double booking is a conflict or a normal day.
- Create Resource Creates a bookable resource such as a piece of equipment. Set Allow Concurrent Bookings for service resources that can genuinely be booked several times at once, so the schedule stops reporting collisions that are not real collisions.
- Update Resource Updates an existing resource by UUID, changing only the fields you supply. Used to correct a cost, rename an item, or change how it behaves under concurrent bookings.
- Delete Resource Permanently deletes a resource by UUID. This cannot be undone, and existing bookings that referenced the resource are unassigned rather than blocked, so live bookings lose the equipment quietly.
Suites
5- List Suites Retrieves the suites, meaning bookable rooms, as a paginated collection. Suites belong to sites, so this is usually read alongside List Sites when a team operates across more than one building.
- Get Suite Retrieves one suite in full by UUID, including its room number, cost, and the site it belongs to. Used to put a real room name into a schedule message rather than an identifier.
- Create Suite Creates a bookable room belonging to a site. A suite can be allocated to bookings alongside resources and staff, which is what makes a booking a complete plan rather than a placeholder.
- Update Suite Updates an existing suite by UUID, changing only the fields you supply. Reach for it when a room is renumbered, recosted, or moved between sites.
- Delete Suite Permanently deletes a suite by UUID. This cannot be undone, and existing bookings that referenced the suite are unassigned, so sessions stay on the calendar with no room attached.
Staff
5- List Staff Retrieves the staff members who can be booked, with a search on name and pagination through the Page parameter. Covers both internal people and external freelancers.
- Get Staff Retrieves one staff member in full by UUID, including their contact vCard, internal or external status, and time-tracking settings. The internal or external distinction matters for cost and for how a booking should be communicated.
- Create Staff Creates a staff member who can be booked onto bookings, requiring at least a first and last name. Mark whether the person is internal or an external freelancer, and optionally enable time tracking for them.
- Update Staff Updates an existing staff member by UUID, changing only the fields you supply. Provide both first and last name together when updating the name, since the two travel as a pair.
- Delete Staff Permanently deletes a staff member by UUID. This cannot be undone, and existing bookings that referenced the person are unassigned, so a session keeps its date and loses its crew without raising anything.
Clients
5- List Clients Retrieves clients, with a search that matches on name, byline, and number, and pagination through the Page parameter. Run it before creating a client so a repeat customer does not acquire a second record.
- Get Client Retrieves one client in full by UUID, including addresses, contacts, billing preferences, and status. The read behind an invoice-adjacent flow or a project that needs the right billing entity attached.
- Create Client Creates a client that can be associated with projects and used for billing, with optional billing preferences such as currency and invoice due days. Useful when a won deal in a CRM needs a matching record here before any project exists.
- Update Client Updates an existing client by UUID, changing only the fields you supply. The Active toggle archives or reactivates a client, which is the safer way to retire a relationship that still has history.
- Delete Client Permanently deletes a client by UUID. This cannot be undone. Archiving through Update Client is usually the better choice when the projects and bookings behind that client still need to make sense.
Absences
5- List Absences Retrieves staff absences such as vacation and sick leave, with filters for staff member, absence type, holiday and draft status, and date range. Paginated through the Page parameter. This is the guard step that keeps a booking from being made against somebody who is away.
- Get Absence Retrieves one absence in full by UUID, including the staff member, the date, the absence type, and half-day settings. Used when a flow needs to know whether a morning is genuinely free.
- Create Absence Records an absence for a staff member on a given date, optionally as a half day in the morning or afternoon, as a holiday, or as a draft, with an absence type. This is how approved leave from an HR system reaches the schedule that people actually plan against.
- Update Absence Updates an existing absence by UUID, changing only the fields you supply. Used when leave is shortened, extended, or reclassified after it was first recorded.
- Delete Absence Permanently deletes an absence by UUID. This cannot be undone, and removing it makes the person appear available again, so canceled leave should be removed deliberately rather than as part of a sweep.
Reference Data
2- List Sites Retrieves the sites, meaning physical locations, for the team. Suites belong to sites, so this is what lets a flow reason about which building a session is actually happening in. Paginated through the Page parameter.
- List Booking Statuses Retrieves the booking statuses defined for the team, and supplies the status UUID used when creating or updating a booking. It is also what turns a status ID in a report back into the word the team uses for it.
Frequently Asked Questions
What can FlowRunner do with freispace?
FlowRunner agents can run Test Connection, List Bookings, and Get Booking in freispace, plus 40 more actions.
Does connecting freispace to FlowRunner require OAuth?
No. freispace connects to FlowRunner with an API key, no OAuth flow required.
Can freispace trigger a FlowRunner workflow automatically?
freispace doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with freispace
$100 in credits. No card required. Connect in minutes.