johnnyq e76b384606 Add ticket reply API endpoints
GET /api/v1/ticket_replies/read.php and POST create.php, so an RMM or
monitoring system can append to a ticket it did not open.

Replies default to Internal so an integration cannot email a client by
omitting a parameter. Public replies mark first response, notify the
contact and watchers, and fire the same custom actions as the agent
reply handler. An optional ticket_status also sets the status, and
resolves the ticket and marks the resolution SLA when set to 4.

Replies are always joined to tickets so ticket_client_id is checked
against the key user's client scope, and the client_id named on a write
must match the ticket's own client. The reply is attributed to the user
the API key runs as.

read.php resolves ticket_reply_by_name, since that column holds a
user_id on Internal and Public replies but a contact_id on Client ones.
2026-07-29 01:53:18 -04:00
2026-07-29 01:53:18 -04:00
2026-07-29 00:00:42 -04:00
2026-07-29 00:00:42 -04:00
2026-07-28 18:47:52 -04:00
2026-07-28 17:46:39 -04:00
2026-07-28 18:47:52 -04:00
2026-07-27 21:02:13 -04:00
2026-07-03 12:29:10 -04:00
2024-09-20 23:32:05 +01:00
2026-07-28 18:12:42 -04:00
2026-07-29 00:03:08 -04:00
2024-02-03 13:02:24 -05:00
2026-07-29 00:00:42 -04:00
2022-01-09 22:46:27 +00:00
2026-07-28 18:47:52 -04:00
2026-02-26 10:24:44 +00:00
2025-12-10 08:54:24 +00:00

Contributors Stargazers Commits GPL License

ITFlow

IT documentation, ticketing and accounting system for small MSPs.

View demo
Username: demo@demo.com | Password: demo

About · Docs · Forum · Report Bug · Request Feature · Security

About

A comprehensive, free & open-source documentation, ticket management, and accounting platform.

ITFlow

The Problem

  • You're a small but busy managed service provider with 101 things to do. Information about your clients is unorganised, unstructured and outdated.
  • For some work, you seem to spend longer looking for the relevant documentation than actually working on the issue/project.
  • On top of the technical day to day, you also have to take care of the financial side of the business - consistent pricing, quotes/invoicing, and accounting.

The Solution: ITFlow

  • ITFlow consolidates common MSP needs (documentation, ticketing and billing) into one unified system.

Getting Started

Self Hosting

  • The best installation method is to use the install script on Ubuntu/Debian. A video walk through is available here.
  wget -O itflow_install.sh https://github.com/itflow-org/itflow-install-script/raw/main/itflow_install.sh
  bash itflow_install.sh
  • Other manual installation methods are available in the docs.

Managed Hosting

Key Features

  • Client documentation - assets, contacts, domains, docs, files, passwords, and more
  • Accounting / Billing - finance dashboard, quotes, invoices, accounting, expenses, etc
  • Client Portal - self service quote/invoice/ticket management for clients
  • Alerting - account balance, invoices, domain/SSL renewals
  • Completely free & open-source alternative to ITGlue and Hudu

Roadmap / Future to-do

We track the implementation of confirmed features and bugs via TaskFlow. Use the forum to request features or raise bug reports.

Support & Contributions

Forum

For help using ITFlow, bugs, feature requests, and general ideas / discussions please use the community forum.

Contributing

We have temporarily paused PRs from the community.

Contributors

Supporters

Were incredibly grateful to the organizations and individuals who support the project - a big thank you to:

  • CompuMatter
  • F1 for HELP
  • digiBandit
  • JetBrains (PhpStorm)

License

ITFlow is distributed "as is" under the GPL License, WITHOUT WARRANTY OF ANY KIND. See LICENSE for details.

Security

  • As of 2025, we now have a stable release of the project.
  • Whilst we are confident in the safety of the code, no system is risk-free. Nearly all software has bugs. Use your best judgement before storing highly confidential information in ITFlow.
  • If you have a security concern, privately report it here.
Description
No description provided
Readme 131 MiB
Languages
PHP 91.6%
JavaScript 7.6%
CSS 0.8%