---
title: "Freedcamp Integration"
description: "Freedcamp is a project management suite covering tasks, milestones, issues, time tracking, calendars and files. Agents create and update tasks and issues, log time, manage projects and groups, and keep the calendar and files in step with outside systems."
url: https://flowrunner.ai/integrations/freedcamp
date_modified: 2026-09-04T14:21:17-07:00
---

# Freedcamp

[Project Management](https://flowrunner.ai/integrations/category/project-management-productivity)

Freedcamp is a project management suite covering tasks, milestones, issues, time tracking, calendars and files. Agents create and update tasks and issues, log time, manage projects and groups, and keep the calendar and files in step with outside systems.

55 actions · Custom auth · available

[Freedcamp website](https://freedcamp.com/) · [Platform Documentation](https://freedcamp.com/) · Capability data verified 2026-08-18

1.  The billing period closes on the first working day of the month
2.  List Time Records returns every entry in the window, with the running timers separated out
3.  Records linked to no task, or linked without naming the application they belong to, are pulled aside
4.  The agent joins each remaining record to its project and compares the totals to the estimate on the milestone
5.  The account manager receives the clean totals per project and the exception list beside them
6.  The account manager approves the totals, and only then does Control Timer bill the records

## What This Integration Enables

Freedcamp is a suite of applications sharing one project shell rather than a single tool with modules bolted on, and the API is honest about it. Item identifiers are only unique within an application, so a comment or a time link has to name both the item and the application it lives in. That is a small detail with a large consequence: this is a system for teams who wanted one place for tasks, issues, milestones, time, the calendar, and files, and who are willing to accept that those things are genuinely different objects. One read crosses the boundary. The calendar listing returns tasks, milestones, issues, events, and the CRM's own items together, which is the closest thing the product has to a single view of a week.

FlowRunner agents work each application and the seam between them. They open projects and project groups, raise tasks and issues with the right priority vocabulary for each, attach files through the two-step upload the product requires, log time and drive the timer, maintain the calendar, and post comments where the team will read them. Reads that seem cheap are treated carefully, because Freedcamp's paging and defaults have their own habits: a task page counts only top-level rows while subtasks ride along uncounted, and a calendar event query with no window returns the current month rather than everything. The one boundary an agent does not cross alone is the money boundary, which is where this connector's [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) gate sits.

### Without FlowRunner

**Time reviewed at the last minute**: Billable hours get checked the day the invoice is due, if at all

**Work scattered across applications**: Tasks, issues, milestones, and events are the same project but four separate reviews

**Running timers double counted**: Someone adds an elapsed timer to a recorded total and the number comes out wrong

### With FlowRunner

**Time reviewed continuously**: Entries are validated against their project and task as they accumulate, not at period end

**One cross-application read**: The calendar view returns tasks, milestones, issues, and events together for a single pass

**Timer state read correctly**: Running records are identified and handled separately from closed ones before anything is totaled

## Use Case Scenarios

### Support escalations become tracked issues

A ticket in [Zendesk](https://flowrunner.ai/integrations/zendesk) or an alert from [Sentry](https://flowrunner.ai/integrations/sentry) crosses the escalation threshold. The agent resolves the target project with List Projects, uploads the attached log or screenshot with Upload File in temporary mode, and calls Create Issue with the returned identifier attached, which is the sequence Freedcamp requires if the project's file counters are to stay correct. The issue is raised with a priority drawn from the Issue Tracker's own vocabulary rather than the task vocabulary, since the two are not the same set. Add Comment posts the customer context onto the issue, naming the application as well as the item, and the reporting team gets a link back rather than a promise.

### A milestone that closes itself when the work is actually done

Milestones in Freedcamp carry their linked tasks, comments, files, and followers, but only when fetched on their own. So the agent calls Get Milestone rather than reading the list, checks every linked task is closed, and confirms the deliverable files are attached. If the milestone is complete it calls Update Milestone to close it and posts the summary to [Slack](https://flowrunner.ai/integrations/slack) with the deliverables linked. If something is missing, it names the specific open task instead of closing anything. The milestone stops being a date that quietly passes.

### The week assembled from every application at once

Every Monday the agent calls List Calendar Items for the week ahead, which is the one operation that crosses applications and returns tasks, milestones, issues, and events together. It groups them by project and by owner, checks List Events with an explicit window so it is not silently reading only the current month, and appends the plan to a sheet in [Google Sheets](https://flowrunner.ai/integrations/google-sheets) while sending each owner their own slice. Nobody opens five views to find out what the week holds.

## Human-in-Loop Highlight

In Freedcamp the billed flag is not an ordinary field. Update Time Record cannot touch it, and neither can it change the started flag or the project. Those move only through Control Timer, and billing a record locks it so that it cannot be started again until somebody unbills it. That makes the bill action the exact moment tracked hours stop being a working record and become the basis for a client charge, and the API deliberately routes it away from the general update so it cannot happen by accident during a field sweep.

So the period-close agent does everything up to that line and no further. It reads List Time Records for the window, separates the records with running timers because their elapsed time is already folded into the total and must not be added a second time, flags entries linked to no task or linked without their application named, and hands the account manager a clean set with the exceptions beside it: "Northfield rollout, 148.5 hours across 22 records, ready to bill. 4 records held: 3 have no task link, 1 has a timer still running against a closed milestone. Bill the 22, or hold the project?" The manager rules on the money, and the agent bills exactly what was approved. A second hard stop sits on Update Current User, where changing the account email or password signs every device out, including this connection, which is a change a person schedules rather than a change an agent makes on its own.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via email

Human decides

Agent resumes with decision

## Agent Capabilities

55 actions

### Session and Account

4

-   **Get Current Session** Returns everything the signed-in view is built from in one call: the visible projects, their users, the project groups, and the unread notification count. The cheapest way for a flow to confirm the connection works.
-   **List Project Groups** Returns the visible project groups. Projects are ordered inside groups and each group states whether you may create or move projects into it, which makes this the right basis for a project picker.
-   **List Timezones** Returns the timezones Freedcamp accepts with their current offsets. The source of the value a profile update takes.
-   **List Backups** Returns the account's backups, newest first, each with a download address that expires within a day. Asked for in small pages, since the full history is returned otherwise.

### Projects

6

-   **List Projects** Returns every visible project with your role in each and the users it holds. The entry point for resolving where work belongs.
-   **Get Project** Returns one project, and carries three things the listing does not: unread notifications, whether you may add tasks, and whether advanced subtasks are allowed.
-   **Create Project** Adds a project, optionally creating its group and inviting people at the same time. A flow supplies either an existing group or a new group name, never both, since a name supplied here creates a group and the identifier is ignored.
-   **Update Project** Changes a project, archives it, or changes who is in it. Freedcamp performs its edits as posts rather than puts, which the connector handles.
-   **Add Favorite Project** Marks a project as a favorite for the signed-in user.
-   **Remove Favorite Project** Unmarks a project as a favorite for the signed-in user.

### People and Invitations

7

-   **List Users** Returns every user visible across your projects. An email arriving empty means you lack permission to see it, which is not the same as the user having none.
-   **Get User** Returns one user, or nothing at all where permission is missing, rather than failing.
-   **Get Current User** Returns the user the API key belongs to. Used to attribute agent activity honestly.
-   **Update Current User** Changes the signed-in user's own profile. Changing the email or password signs every device out, including this connection, and both require the current password, so this is a reviewed operation.
-   **List Invitations** Returns pending project invitations with the project, the group, and who invited them.
-   **Respond To Invitations** Accepts or declines pending invitations, several in one call.
-   **Validate Invitation Email** Checks whether an address may be invited and whether it is already in a project. Used to catch a typo before anyone is emailed.

### Notifications

2

-   **List Notifications** Returns unread notifications. Scoped to a project by default, since an account-wide read is heavy enough that the vendor turns it off unless asked.
-   **Mark Notifications Read** Marks notifications as read. Each item carries both its key and the timestamp it was read at, so a notification that changed after the fetch is not silently cleared.

### Tasks

5

-   **List Tasks** Returns tasks with filters and ordering. A page counts only top-level tasks while subtasks ride along uncounted, so a flow reads the shape of the response rather than trusting the count.
-   **Get Task** Returns one task, including the processed description in which attachment tags have been resolved into images. Flows show the processed form and edit the raw one.
-   **Create Task** Adds a task to a project. Attachments are two-step: upload the file as temporary first, then pass the identifier here, or the project's file counters end up wrong.
-   **Update Task** Changes a task. The parent field is three-way: omitted leaves the parent alone, supplied makes the task a subtask, and empty detaches it, while its own children stay attached either way.
-   **Delete Task** Deletes a task.

### Milestones

5

-   **List Milestones** Returns milestones. The order field is a user-set sort position rather than a row number, and two milestones in a project may share it.
-   **Get Milestone** Returns one milestone along with its linked tasks, comments, files, and followers, none of which the listing carries. The read behind any decision to close one.
-   **Create Milestone** Adds a milestone to a project.
-   **Update Milestone** Changes a milestone, including closing it once its linked work is genuinely finished.
-   **Delete Milestone** Deletes a milestone.

### Issue Tracker

5

-   **List Issues** Returns issues from the Issue Tracker, which has two statuses tasks do not and a priority vocabulary of its own.
-   **Get Issue** Returns one issue with its processed description.
-   **Create Issue** Raises an issue in a project's Issue Tracker. The operation behind support escalation and monitoring alerts becoming tracked work.
-   **Update Issue** Changes an issue, including closing it.
-   **Delete Issue** Deletes an issue.

### Time Tracking

6

-   **List Time Records** Returns time records. A record with a running timer already folds its elapsed time into the total, so the two are never added together.
-   **Get Time Record** Returns one time record.
-   **Create Time Record** Logs time against a project, optionally linked to a task. The link takes two fields together, the item and the application it belongs to, because identifiers repeat across applications.
-   **Update Time Record** Changes a time record's own fields. It cannot move the project, and it cannot touch the started or billed flags.
-   **Control Timer** Starts, stops, bills, or unbills a time record. Stopping folds the running time into the record; billing locks it until somebody unbills it. The only route into billed state, and the operation this page's human gate exists for.
-   **Delete Time Record** Deletes a time record.

### Calendar

6

-   **List Calendar Items** Returns everything on the calendar grouped by the application it came from: tasks, milestones, issues, events, and the CRM's items. The one call that crosses applications.
-   **List Events** Returns calendar events. Without an explicit window this returns the current month only, which is a default rather than an empty result, so flows always state their range.
-   **Get Event** Returns one calendar event. For a recurring event the root timestamps describe the first occurrence rather than the one asked about.
-   **Create Event** Adds a calendar event, optionally recurring and with people invited. Invitees may be email addresses of people who are not Freedcamp users.
-   **Update Event** Changes a calendar event.
-   **Delete Event** Deletes a calendar event.

### Lists and Files

6

-   **List Lists** Returns an application's lists in a project, such as its task lists or file folders. Asked for without a project it covers tasks only.
-   **Create List** Adds a list to an application in a project, such as a new task list or a new file folder.
-   **Update List** Renames a list or changes its description. A list cannot be moved between projects.
-   **Get File** Returns one file's record including a download address. The address expires within about an hour, so a flow follows it immediately rather than storing it.
-   **Upload File** Uploads a file from an address. Uploads meant for a task, milestone, issue, event, or comment are marked temporary and attached on the create that follows, which is what keeps the project's file counters correct.
-   **Delete File** Deletes a file.

### Comments

3

-   **Add Comment** Comments on an item, naming both the item and the application it lives in. The operation that puts agent findings where the team will read them.
-   **Update Comment** Changes a comment's text. The raw description is what goes back, never the processed one, since the processed form has had attachment tags replaced with images and sending it back erases the attachments.
-   **Delete Comment** Deletes a comment.

## Frequently Asked Questions

### What can FlowRunner do with Freedcamp?

FlowRunner agents can run Get Current Session, List Project Groups, and List Timezones in Freedcamp, plus 52 more actions.

### Does connecting Freedcamp to FlowRunner require OAuth?

Freedcamp uses a custom authentication method to connect to FlowRunner.

### Can Freedcamp trigger a FlowRunner workflow automatically?

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

**Work at Freedcamp?** This integration exposes Freedcamp to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/freedcamp. Site index: https://flowrunner.ai/llms.txt
