FreeScout — Free self-hosted help desk & shared mailbox (Zendesk / Help Scout alternative)

Overview

Free Self-Hosted Zendesk & Help Scout Alternative



PHP version Hits

FreeScout is the super lightweight free open source help desk and shared inbox written in PHP7+ (Laravel framework) – self hosted clone of HelpScout. Now you can enjoy free Zendesk & Help Scout without giving up privacy or locking yourself into a service you don't control. FreeScout has been developed from scratch and is not using any copyrighted Help Scout or Zendesk materials.

FreeScout

Table of Contents

Features

  • No limitations on the number of users, tickets, etc.
  • 100% Mobile-friendly.
  • Multilingual (English, French, Japanese, Italian, Polish, Portuguese, Russian, Dutch, German, Spanish, Swedish).
  • Seamless email integration.
  • Web installer & updater.
  • Starred conversations.
  • Forwarding conversations.
  • Merging conversations.
  • Moving conversations between mailboxes.
  • Phone conversations.
  • Sending new conversations to multiple recipients at once.
  • Push notifications.
  • Following a conversation.
  • Auto reply.
  • Notes.
  • Pasting screenshots from the clipboard into the reply area.
  • Configuring notifications on a per user basis.
  • Open tracking.
  • Editing threads.
  • Search.

Need anything else? Suggest features here.

Demo

Live Demo

Mobile Apps

Mobile apps support the same functionality and modules as the web version of your FreeScout installation. Both support agents and administrators can use mobile apps.

Android App iOS App

Requirements

FreeScout is a pure PHP/MySQL application, so it can be easily deployed even on a shared hosting.

  • Nginx / Apache / IIS
  • PHP 7.1 - 8.x
  • MySQL 5.0+ / MariaDB 5.0+ / PostgreSQL

Installation

Installation Guide

Images & one-click installs:

Modules

Available modules

Tools & Integrations

News & Updates

If you would like to be notified about important news and updates you can subscribe here

Contributing

Screenshots

Dashboard:

Dashboard

Conversation:

Conversation

Mailbox connection settings page:

Mailbox connection settings page

Notifications:

Notifications

Push notification:

Push notification

Web installer:

Web installer

Login page:

Login page

Issues
  • Translate application

    Translate application

    Now you can translate application into other languages. See Translation guide

    help wanted 
    opened by freescout-helpdesk 24
  • Allow CORS in API

    Allow CORS in API

    Hi everybody,

    have bought the API Addon in order to sync Tickets to my ninoxdb database. It allows me to start a request from inside the browser to Freescout API. However I obviously run into cross origin resource sharing problems. So I would like you guys to let me specify in my Freescout API Addon which hosts are allowed to share resources with and which headers.

    opened by kurvenschubser 23
  • Time Tracking Module doesn't stop running unless you manually pause it.

    Time Tracking Module doesn't stop running unless you manually pause it.

    Hi there,

    I've purchased the Time Tracking module, it seems that the timer will run in the background automatically even when a ticket has been replied to and is in 'pending' status. So some tickets show that it's been hours.

    How can I get help resolving this? I'd like to only track time while someone on our team is actively working on the ticket or left that tab open and to stop tracking time when the ticket isn't open.

    Freescout version: 1.5.12

    Screen Shot 2020-09-08 at 04 44 08
    opened by andrewlimaza 23
  • 1.5.0 Upgrade 404 to Attachments

    1.5.0 Upgrade 404 to Attachments

    Hi,

    after Upgrading to 1.5 all Attachments only give 404 Errors. Directory was moved correctly by the upgrade and the corresponding jpg file is in the Directory structure: /var/www/html/storage/app/attachment

    20200309-085654

    Running Nginx, tried after the upgrade, got 404 Error. Tried to Apply the Changes as mentioned in the changelog;

    APP_DOWNLOAD_ATTACHMENTS_VIA=nginx >> .env

    • part in the vhost.

    Unfortunately still 404.

    Nginx Error Log: 2020/03/09 09:02:25 [error] 112250#112250: *5 open() "/var/www/html/public/storage/attachment/5/7/1/game_Grafik-Vier-von-zehn-Deutschen-kennen-Augmented-Reality.jpg" failed (2: No such file or directory), client: ########, , server: ########, request: "GET /storage/attachment/5/7/1/game_Grafik-Vier-von-zehn-Deutschen-kennen-Augmented-Reality.jpg?id=1842&token=984a1bbcc43ce7935bfab427da8eb060 HTTP/2.0", host: "inbox.planetlan.work", referrer: "https://inbox.planetlan.work/"

    It still tries to read from: /var/www/html/public/storage/attachment where /attachment is not existing.

    screenshot_20200309-090538

    A Quick Workaround to make it read the Attachements via Nginx again is: ln -sd /var/www/html/storage/app/attachment/ /var/www/html/public/storage

    opened by solariz 22
  • Email not being sent

    Email not being sent

    I am seeing a problem with sending email.

    The logs say: Trying to access array offset on value of type null

    Screenshot 2020-02-05 at 19 28 12

    I really have no idea on where to begin to debug this.

    help wanted 
    opened by tmertz 21
  • Possibility for HTTP Header Authentication?

    Possibility for HTTP Header Authentication?

    We currently use the LDAP module and it works fine for importing and syncing users - How difficult is it to implement a layer on top of login (say perhaps by a variable set in .env) to allow HTTP Authentication? This would avoid having to have users login to the system and allow for the start of single sign on.

    If a module, I'd gladly pay.

    opened by tiredofit 21
  • Error occured. Please check your internet connection and try again.

    Error occured. Please check your internet connection and try again.

    @freescout-helpdesk This looks brilliant; thanks for your work on it.

    I have a new installation, checked out from master. When I try to send a reply in Chrome/Firefox, I get this error: Error occurred. Please check your internet connection and try again. The json response I am seeing in the console is "Server Error".

    I am running cloudflare; not sure if their WAF could be interfering with the ajax connection.

    Any thoughts?

    opened by thewhit 21
  • Smtp.gmail.com is not available on 465 port. But it's.

    Smtp.gmail.com is not available on 465 port. But it's.

    Hey guys, I'm facing an issue only on 1.6.13 version.

    image

    Please have in mind that I have another installation with 1.5.13 and same credentials that works like a charm.

    I already did the "app less" 2FA instructions and I'm already using a key provided by Google to connect.

    About the sending error logs: Connection could not be established with host smtp.gmail.com [Connection refused #111]; File: /home/casadace/desk.casadaacessibilidade.com.br/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php (269)

    opened by uaimax 20
  • PGP / SMIME encrpyted / signed mail handling

    PGP / SMIME encrpyted / signed mail handling

    https://feedback.userreport.com/25a3cb5f-e4bd-4470-b6f3-79fcfaa8e90f/#idea/268308

    opened by freescout-helpdesk 20
  • End-User Portal

    End-User Portal

    Which features are needed within the End-User Portal?

    opened by freescout-helpdesk 20
  • Error with Knowledge Base module after updating to version 1.7.27

    Error with Knowledge Base module after updating to version 1.7.27

    Hi, after updating our instance to the version 1.7.27 the knowledge base module is not working anymore. A klick on the knowledge base link results with a "Whoops, looks like something went wrong." message.

    Is there probably a fix for this issue?

    The logged error is:

    Trying to get property 'id' of non-object (View: /data/Modules/KnowledgeBase/Resources/views/layouts/portal.blade.php) (View: /data/Modules/KnowledgeBase/Resources/views/layouts/portal.blade.php) {"userId":1,"email":"[email protected]","exception":"[object] (ErrorException(code: 0): Trying to get property 'id' of non-object (View: /data/Modules/KnowledgeBase/Resources/views/layouts/portal.blade.php) (View: /data/Modules/KnowledgeBase/Resources/views/layouts/portal.blade.php) at /data/Modules/KnowledgeBase/Providers/KnowledgeBaseServiceProvider.php:150, ErrorException(code: 0): Trying to get property 'id' of non-object (View: /data/Modules/KnowledgeBase/Resources/views/layouts/portal.blade.php) at /data/Modules/KnowledgeBase/Providers/KnowledgeBaseServiceProvider.php:150, ErrorException(code: 0): Trying to get property 'id' of non-object at /data/Modules/KnowledgeBase/Providers/KnowledgeBaseServiceProvider.php:150)
    [stacktrace]
    #0 /www/html/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(45): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 0)
    #1 /www/html/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(59): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/data/storage/f...', Array)
    #2 /www/html/vendor/laravel/framework/src/Illuminate/View/View.php(137): Illuminate\\View\\Engines\\CompilerEngine->get('/data/Modules/K...', Array)
    #3 /www/html/vendor/laravel/framework/src/Illuminate/View/View.php(120): Illuminate\\View\\View->getContents()
    #4 /www/html/vendor/laravel/framework/src/Illuminate/View/View.php(85): Illuminate\\View\\View->renderContents()
    #5 /www/html/vendor/laravel/framework/src/Illuminate/Http/Response.php(42): Illuminate\\View\\View->render()
    #6 /www/html/vendor/symfony/http-foundation/Response.php(206): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
    #7 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(724): Symfony\\Component\\HttpFoundation\\Response->__construct(Object(Illuminate\\View\\View))
    #8 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
    #9 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
    #10 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #11 /www/html/app/Http/Middleware/Localize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #12 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\\Http\\Middleware\\Localize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
    #13 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
    #14 /www/html/app/Http/Middleware/HttpsRedirect.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #15 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\\Http\\Middleware\\HttpsRedirect->handle(Object(Illuminate\\Http\\Request), Object(Closure))
    #16 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
    #17 /www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #18 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
    #19 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
    #20 /www/html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #21 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
    #22 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
    #23 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #24 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
    #25 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
    #26 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
    #27 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(590): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
    #28 /www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
    #29 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
    #30 /www/html/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(58): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #31 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
    #32 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
    #33 /www/html/app/Http/Middleware/TerminateHandler.php(12): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #34 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\\Http\\Middleware\\TerminateHandler->handle(Object(Illuminate\\Http\\Request), Object(Closure))
    #35 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
    #36 /www/html/app/Http/Middleware/ResponseHeaders.php(11): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #37 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): App\\Http\\Middleware\\ResponseHeaders->handle(Object(Illuminate\\Http\\Request), Object(Closure))
    #38 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
    #39 /www/html/vendor/fideloper/proxy/src/TrustProxies.php(56): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #40 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
    #41 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
    #42 /www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #43 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
    #44 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
    #45 /www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #46 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
    #47 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
    #48 /www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #49 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
    #50 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
    #51 /www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #52 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
    #53 /www/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
    #54 /www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
    #55 /www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
    #56 /www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
    #57 /www/html/public/index.php(64): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
    #58 {main}
    "}
                        
    
    opened by XtomtomX 0
  • Add ability to print/export tickets without internal notes

    Add ability to print/export tickets without internal notes

    Often times we have the need to export/print a ticket and send it to a customer for future reference. However, we do not want to include internal notes. So, an option to exclude internal notes would be great. Perhaps even the ability to exclude email addresses (CC/TO/FROM) from being exported as well.

    help wanted 
    opened by jaydio 2
  • Login form insecure on SWAG docker nginx reverse proxy

    Login form insecure on SWAG docker nginx reverse proxy

    Have Freescout up and running in a docker alongside MariaDB and SWAG containers.

    Everything works 100% perfect using the local IP.

    I can get to the SSL secured login form from a cloudflare dns validated letsencrypt NGINX reverse proxy (SWAG) but attempting to fill the login information and entering, I receive a warning in chrome:

    "The information you’re about to submit is not secure Because this form is being submitted using a connection that’s not secure, your information will be visible to others."

    Clicking "Send Anyway" returns me to the blank login form.

    Checking the chrome network tools it appears clicking the login button tries to forward the browser back to port 80, then nginx attempts to forward it to SSL, and that's when I get returned to the blank form.

    I use the same SWAG setup on about 15 other containers and have never encountered this error before.

    opened by nemyhlol 4
  • Seemingly new Caddy error w/ Freescout

    Seemingly new Caddy error w/ Freescout

    Caddy error message:

    {"level":"error","ts":1642110056.1320677,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","error":"http: wrote more than the declared Content-Length"}
    

    Caddy config should you be interested..

    {
            email [email protected]
    
            servers :443 {
                    protocol {
                            experimental_http3
                    }
            }
    }
    
    {
    }
    
    http://10.20.0.21 {
            root * /usr/share/caddy
            file_server
            php_fastcgi unix//run/php-fpm7/php-fpm.sock
    }
    
    https://freescout.secure.domain.org {
            root * /srv/http/freescout/public
            file_server
            php_fastcgi unix//run/php-fpm7/php-fpm.sock
    
            tls [email protected] {
                     protocols tls1.2 tls1.3
            }
            push
    
    encode {
            gzip 1
            zstd
    }
    log {
            output stdout
            format single_field common_log
    }
    }
    

    (pardon the formatting)

    php-fpm7 -v PHP 7.4.27 (fpm-fcgi) (built: Dec 18 2021 08:49:08) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies

    caddy version v2.4.6

    Without the http3.. I would get 404 errors, which I think started when I went to 1.7.27.

    Please let me know if I can help further..

    opened by bcookatpcsd 2
  • Can't update

    Can't update

    Hello,

    I can't update FreeScout i get the following error:

    image

    I hope someone can help me.

    Thanks, Michel

    opened by michelrietveldcom 1
  • Error after install Fatal error: Trait 'Illuminate\Support\Traits\Macroable'

    Error after install Fatal error: Trait 'Illuminate\Support\Traits\Macroable'

    This is the first time I have tried to install freescount which I have tried to set up on a Siteground in a subdomain. The install went through without any issue but when I try to access freescount from a web browser I get the following error:

    Fatal error: Trait 'Illuminate\Support\Traits\Macroable'

    Any advice would be gratefully received

    opened by JSM25 3
  • Restrict access to conversations based on tag/folder/department

    Restrict access to conversations based on tag/folder/department

    Hello,

    Is it technically possible to implement some access list for tags?

    Use case:

    • Create tags for each company department
    • Set multiple additional emails for mailbox so that FreeScout can properly fetch messages
    • Configure workflow to automatically set tags based on TO email
    • Configure access list of users in order to prevent access to some conversations inside the same mailbox

    It would be also nice to have the same restrictions work for custom folders, so that user can not see custom folders of the tags he has no access to. But users should be able to assign tag at the same time.

    Or maybe better, this is an idea for a new module to handle different departments in the same mailbox ;-) I would be happy to purchase such module. In such case there should be a section to configure departments so that conversations can be routed automatically based on TO email. There also should be a way to change department of the conversation manually.

    opened by ilyakonovalenko 1
  • Customers don't see attachments in history

    Customers don't see attachments in history

    I understand the Customers get simplified mail from FreeScout comparing the mail to Users. But with the "Send full conversation history" setting turned on why the mail to Users contains links to attachments earlier in conversation and the mail to Customers doesn't? Thank you, Petr

    opened by phanousk 3
  • Uncaught ReferenceError: sortable is not defined

    Uncaught ReferenceError: sortable is not defined

    The function sortable is not defined in the javascript file js/builds/xxxxxx...yyy.js

    The error appears when entering the page that lists articles in the Knowledge Base admin page and you select a category other than All.

    I can see that the function is not defined in the javascript file. It is however defined on your demo site so it might be a combination of the version of Freescout and some additional (official) modules.

    Freescout version 1.7.27

    The following modules are also activated:

    API & Webshooks version Version: 1.0.30 End-User-Portal version 1.0.20 Knowledge Base version 1.0.27 Workflows 1.0.21

    opened by larsgust 1
  • Don't send notification mail when there are delivery problem

    Don't send notification mail when there are delivery problem

    Hello, I changed my mail provider, and he doesn't like me to use Freescout to send a message. I'm in the process of fixing the problem with him, but while I was doing that, Freescout kept sending notification mails, which were not delivered. So I moved to the next stage of the "too many messages sent in too short a time" block.

    I had a similar problem before when activating the autoresponder, which had been looped through by a service across the street...

    To avoid spam classification, it would be interesting if there was a "circuit breaker": if a box tries to send more than X messages in Y minutes, then it is temporarily disabled on sending, with a message to the administrators and a flag on the box (big flag for all user who connect on the service). Restarting the sending on mailbox would require a manual intervention, which would avoid being classified as spam for long time if the system gets out of control when not monitored.

    Maybe we can configure trigger that "block" sending messages to avoid spam.

    • How many mail sending in how many time ?
    • If some error messages are returned by the system (including all spam classification messages)
    • other ?
    opened by Zatalyz 1
Releases(1.7.27)
  • 1.7.27(Jan 5, 2022)

  • 1.7.26(Dec 31, 2021)

  • 1.7.25(Dec 26, 2021)

  • 1.7.24(Dec 13, 2021)

    Added

    • Settings default subscriptions for new users in Manage > Alerts (#1563)

    Fixed

    • Improved accessibility of modal dialogs (#1150)
    • Fixed issue of Thread type being incorrect after save.

    Changed

    • Conversations::create() should create phone conversations in Pending status.
    Source code(tar.gz)
    Source code(zip)
  • 1.7.23(Dec 3, 2021)

    Fixed

    • Fixed issue with chat conversations being converted into regular conversations (#1565, #1568)
    • Fixed "Trying to get property id of non-object in SendNotificationToUsers.php" (#1557)
    • Properly process attachments with slashes (#1566)
    Source code(tar.gz)
    Source code(zip)
  • 1.7.22(Nov 30, 2021)

    Community Calendar Module has been released.

    Fixed

    • Properly save attachments without a name (#1548)
    • Disabled authentication for cron URL (#1545)
    • Fixed creating a phone conversation without saving it first as draft.
    • Fixed empty customer when creating a phone conversation without saving it as draft first.
    • Fixed (no subject) issue when creating a new conversation and sending it quickly.
    • Set data-customer_id on customer conversation page to fix deleting a customer.

    Changed

    • Allow multiple personal folders for users (#843)
    Source code(tar.gz)
    Source code(zip)
  • 1.7.21(Nov 15, 2021)

    Added

    • Added Slovak language.
    • Allow to set custom module's image via img parameter in modules.json.

    Fixed

    • Fixed notifications dropdown height on screen with height > 1086px (#1517)
    • Disabled sql_require_primary_key=0 for PostgreSQL (#1518)
    • Fixed duplicated customers in the Search (#1521)

    Changed

    • Updated Croatian and French translation.
    Source code(tar.gz)
    Source code(zip)
  • 1.7.20(Oct 21, 2021)

    Added

    • Added conversation.new.customer_sidebar hook on New Conversation page.

    Fixed

    • Fixed auto refreshing conversations when new message by user is created (#1405)
    Source code(tar.gz)
    Source code(zip)
  • 1.7.19(Oct 20, 2021)

    GDPR Module released.

    After updating to this release make sure to update CRM module to the latest version.

    Fixed

    • Fixed "unable to run isDraft() on null" error.
    • Fixed - customer was empty in the conversation if he/she was deleted and sent a new conversation.

    Changed

    • Minor Dashboard UI updates for more professional look and feel.
    Source code(tar.gz)
    Source code(zip)
  • 1.7.18(Oct 14, 2021)

    Added

    • Web cron - cron URL can be found in "Manage » System » Cron Commands" (#1452)
    • Log error when FreeScout can not fetch message from mail server in Show Original window (#1446)
    • Added Danish language.
    • Add .eml extension to RFC822 attachments when downloading them (#986)

    Fixed

    • Undelete deleted conversation when customer replies via chat (#1468)
    • Fixed reopening a conversation when customer replies from chat (#1461)
    Source code(tar.gz)
    Source code(zip)
  • 1.7.17(Sep 23, 2021)

    Sender Time Zone and Rocket.Chat Notifications modules released.

    Added

    • Added extra indexes to Conversations table to improve import performance (#1425)

    Fixed

    • Fixed "Undefined constant STDIN" on module activation (#1423)
    • Fixed "Call to a member function getFullName" in web_notifications partial (#1410)
    • Added SESSION_SECURE_COOKIE parameter to .env.example web installer to improve security of the session cookie.
    • Improved security of Translate page.

    Changed

    • Updated translations: German, Polish, Russian,
    Source code(tar.gz)
    Source code(zip)
  • 1.7.16(Aug 25, 2021)

  • 1.7.15(Aug 11, 2021)

    Mentions Moule released.

    Fixed

    • Fix saving multiple recipients in a new conversation draft.
    • Fix conversation short text in the menu notification.

    Changed

    • Make SVG attachments non-viewable to avoid possible XSS (#1359)
    Source code(tar.gz)
    Source code(zip)
  • 1.7.14(Aug 3, 2021)

    Inbox Module released.

    Added

    • Added an arrow showing conversations sorting column (#919)

    Fixed

    • Properly restore Cc and Bcc from draft.
    • Fixed htmlpurifier INTL_IDNA_VARIANT_2003 issue on PHP7.2 and 7.3 (#1322)
    • Fix in_array expects parameter 2 to be array in BroadcastNotification.

    Changed

    • Highlight Unassigned and Mine folders counters.
    Source code(tar.gz)
    Source code(zip)
  • 1.7.13(Jul 18, 2021)

  • 1.7.12(Jul 11, 2021)

    Added

    • Improved accessibility for the visually impaired (#1150)
    • Added mailbox name to the title when viewing a mailbox (#1297)
    • Added Telegram to the customer social profiles list.

    Fixed

    • Fixed duplicating attachments when creating a new conversation (#1186, #1004)
    • Fixed open tracking pixel on PHP8 (#1252)
    Source code(tar.gz)
    Source code(zip)
  • 1.7.11(Jun 23, 2021)

  • 1.7.10(Jun 16, 2021)

  • 1.7.9(May 21, 2021)

  • 1.7.7(May 19, 2021)

  • 1.7.6(May 14, 2021)

  • 1.7.5(May 11, 2021)

  • 1.7.4(Apr 23, 2021)

  • 1.7.3(Apr 23, 2021)

    Added

    • Added State filter to the search to filter Deleted conversations (#912)

    Fixed

    • Fixed showing floating alert after sending a reply (#1119)
    • Fixed search in PostgreSQL by not using LIKE operator for conversation number and id (#1174).

    Changed

    • Updated German translation.
    Source code(tar.gz)
    Source code(zip)
  • 1.7.2(Apr 15, 2021)

  • 1.7.1(Apr 14, 2021)

    Added

    • Added extra hooks to conversations table.

    Fixed

    • Do not try to send auto reply by email when chat message received (#1151)
    • Fixed typo: occurend -> occurred.

    Changed

    • Updated Polish translations.
    • Updated Spanish translations.
    Source code(tar.gz)
    Source code(zip)
  • 1.7.0(Mar 31, 2021)

    PHP 8 support added. Now minimum supported PHP version is 7.1

    Before installing this release make sure to update to the latest versions the following modules (if you have them installed):

    • Two-Factor Authentication
    • API & Webhooks
    • Facebook
    • Telegram Integration
    • Twitter

    When using composer and PHP 8, composer should be executed with additional flag: composer install --ignore-platform-reqs

    Source code(tar.gz)
    Source code(zip)
  • 1.6.20(Mar 17, 2021)

    Chat Module released.

    Fixed

    • Fixed prefilling "To" field when creating a new conversation.

    Changed

    • Allow to pass UploadedFile as attachment when creating a Thread.
    • Allow custom options in fsAjax function.
    Source code(tar.gz)
    Source code(zip)
  • 1.6.19(Mar 14, 2021)

    Twitter Integration Module released.

    Fixed

    • Send full email history when forwarding global settings is set not to include conversation history (#1087)

    Changed

    • In Conversation and Thread entities create() function now returns created entity.
    • Added binaryDataMimeType() helper function.
    Source code(tar.gz)
    Source code(zip)
  • 1.6.18(Mar 7, 2021)

Self hosted project management and collaboration tool powered by TALL stack

Sponsored By: Self hosted project management and collaboration tool inspired by basecamp. Notice: Project under some major change, do not use until st

iluminar 1.7k Jan 14, 2022
Cloudlog is a self-hosted PHP application that allows you to log your amateur radio contacts anywhere.

Web based amateur radio logging application built using PHP & MySQL supports general station logging tasks from HF to Microwave with supporting applications to support CAT control.

Peter Goodhall 232 Jan 16, 2022
Simple self-hosted bug tracker

Bugken is a simple self-hosted error monitoring tool with laravel based. Json Error Payload { "message" : "get_error_message_from_exception", "log

Nexteam Indonesia 3 Nov 22, 2021
A self hosted download manager for movie and tv show trailers.

Introduction Trailarr is a self hosted download manager for movie and tv show trailers. Features: A beautiful, easy to use UI. Easy setup, readily con

null 14 Dec 31, 2021
An open source self hosted notes and bookmarks taking web app.

Benotes An open source self hosted web app for your notes and bookmarks side by side. This project is currently in Beta. You may encounter bugs or err

null 147 Jan 10, 2022
Self-hosted platform to keep and share your content: web links, posts, passwords and pictures.

Shaark is a self-hosted platform to keep and share your content: web links, posts, passwords and pictures. All of your data can be private, public or

MarceauKa 336 Jan 19, 2022
Self hosted project management application

Version 2 is available at 92fiveapp.com Before proceeding to installation please make sure that your server meets the minimum server requirements: Min

Chintan Banugaria 1.1k Jan 15, 2022
Self-hosted CMS platform based on the Laravel PHP Framework.

October is a Content Management System (CMS) and web platform whose sole purpose is to make your development workflow simple again. It was born out of

October CMS 10.8k Jan 15, 2022
Mira - A lightweight WebUI alternative to top/htop for GNU/Linux.

Mira Mira lets you monitor your server's resource usage through a responsive WebUI. ======== Introduction Screenshots Installation Limitations Known I

Jams246 8 Dec 9, 2021
A much faster alternative to youtube-dl built for PHP applications.

youtube-downloader This project was inspired by a very popular youtube-dl python package: https://github.com/rg3/youtube-dl Yes, there are multiple ot

null 582 Jan 10, 2022
Easily self host your documentation.

Docs for Laravel Generate docs for your projects Support us Like our work? You can support us by purchasing one of our products. Installation WIP, do

Flowframe 5 Nov 5, 2021
Simple Dynamic DNS Web management self-hosting. Run over dnsmasq.

MyDDNS [BETA] Simple Dynamic DNS Web management self-hosting. It use dnsmasq. It was inspired on duckdns.org. Preparation You need root access to a se

Iván Eixarch 4 Dec 11, 2021
:panda_face: Jitamin is a free software written in PHP, intended to handle the project management over the web. QQ群: 656868

Jitamin Jitamin (pronounced /ˈdʒɪtəmɪn/) is a free software written in PHP, intended to handle the project management over the web. Jitamin is inspire

jitamin 916 Dec 28, 2021
NamelessMC is a free, easy to use & powerful website software for your Minecraft server

NamelessMC - v2 pre-release 10 NamelessMC is a free, easy to use & powerful website software for your Minecraft server, which includes a large range o

NamelessMC 410 Jan 17, 2022
Admidio is a free open source user management system for websites of organizations and groups

Admidio is a free open source user management system for websites of organizations and groups. The system has a flexible role model so that it’s possible to reflect the structure and permissions of your organization.

Admidio 164 Jan 17, 2022
OpenEMR is a Free and Open Source electronic health records and medical practice management application

OpenEMR is a Free and Open Source electronic health records and medical practice management application. It features fully integrated electronic health records, practice management, scheduling, electronic billing, internationalization, free support, a vibrant community, and a whole lot more. It runs on Windows, Linux, Mac OS X, and many other platforms.

OpenEMR 1.8k Jan 14, 2022
Snipe-IT - A free open source IT asset/license management system

Snipe-IT - A free open source IT asset/license management system

snipe 5.7k Jan 13, 2022
MOFHY Lite is a free web hosting management system to manage MOFH hosting accounts and SSL certificates.

MOFHY Lite is a free of cost MOFH clientarea for account management and support services with free ssl service. It have easy to use feature

Mahtab Hassan 0 Jan 11, 2022