{"id":26123259,"url":"https://github.com/tiledesk/tiledesk-dashboard","last_synced_at":"2025-05-15T07:03:11.063Z","repository":{"id":37470916,"uuid":"119527250","full_name":"Tiledesk/tiledesk-dashboard","owner":"Tiledesk","description":"Tiledesk is the open source AI agent builder, written in Node.js and Angular. This repository is dedicated to the WebApp dashboard to manage Tiledesk: open-source alternative to Voiceflow, enabling easy creation of advanced LLM-powered Agents with seamless human-in-the-loop (HITL).","archived":false,"fork":false,"pushed_at":"2025-04-11T11:10:38.000Z","size":82622,"stargazers_count":261,"open_issues_count":50,"forks_count":104,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-14T22:16:50.158Z","etag":null,"topics":["ai-agents","angualr5","angular","bot","chat","chatbot","console","customer-service","customer-support","dashboard","firebase","firestore","live-chat","livechat","nodejs","open-source","opensource","realtime","realtime-chat","typescript"],"latest_commit_sha":null,"homepage":"https://www.tiledesk.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tiledesk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":"publiccode.yml","codemeta":null}},"created_at":"2018-01-30T11:34:29.000Z","updated_at":"2025-04-12T01:00:44.000Z","dependencies_parsed_at":"2023-09-23T02:41:33.118Z","dependency_job_id":"2f3998db-7929-4462-96c7-7bf1d3bdeed5","html_url":"https://github.com/Tiledesk/tiledesk-dashboard","commit_stats":{"total_commits":6959,"total_committers":19,"mean_commits":366.2631578947368,"dds":0.3737605977870384,"last_synced_commit":"a6a7bb1bc5ae461730939880a24c18bb4ea5e134"},"previous_names":[],"tags_count":626,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tiledesk%2Ftiledesk-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tiledesk%2Ftiledesk-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tiledesk%2Ftiledesk-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tiledesk%2Ftiledesk-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tiledesk","download_url":"https://codeload.github.com/Tiledesk/tiledesk-dashboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248968919,"owners_count":21191162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","angualr5","angular","bot","chat","chatbot","console","customer-service","customer-support","dashboard","firebase","firestore","live-chat","livechat","nodejs","open-source","opensource","realtime","realtime-chat","typescript"],"created_at":"2025-03-10T15:46:19.610Z","updated_at":"2025-04-14T22:17:13.285Z","avatar_url":"https://github.com/Tiledesk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![npm version](https://badge.fury.io/js/%40tiledesk%2Ftiledesk-dashboard.svg)](https://badge.fury.io/js/%40tiledesk%2Ftiledesk-dashboard)\n[![Crowdin](https://badges.crowdin.net/e/3854b0895f673c8ea3af7c8fba62f587/localized.svg)](https://tiledesk.crowdin.com/tiledesk-dashboard)\n\u003e ***🚀 Do you want to install Tiledesk on your server with just one click?***\n\u003e \n\u003e ***Use [Docker Compose Tiledesk installation](https://github.com/Tiledesk/tiledesk-deployment/blob/master/docker-compose/README.md) guide***\n\n# Tiledesk Introduction\n\nTiledesk is an Open Source Live Chat platform with integrated Chatbots written in NodeJs and Express. Build your own customer support with a multi-channel platform for Web, Android and iOS.\n\nDesigned to be open source since the beginning, we actively worked on it to create a totally new, first class customer service platform based on instant messaging.\n\nWhat is Tiledesk today? It became the open source “conversational app development” platform that everyone needs 😌\n\nYou can use Tiledesk to increase sales for your website or for post-sales customer service. Every conversation can be automated using our first class native chatbot technology. You can also connect your own applications using our APIs or Webhooks. Moreover you can deploy entire visual applications inside a conversation. And your applications can converse with your chatbots or your end-users! We know this is cool 😎\n\nTiledesk is multichannel in a totally new way. You can write your chatbot scripts with images, buttons and other cool elements that your channels support. But you will configureyour chatbot replies only once. They will run on every channel, auto-adapting the responses to the target channel whatever it is, Whatsapp, Facebook Messenger, Telegram etc.\n\n# Tiledesk-dashboard\n\n\u003cimg  width=\"1200\"  alt=\"home_screenshot\"  src=\"https://i0.wp.com/tiledesk.com/wp-content/uploads/2022/08/Tiledesk_Dashboard.png\"  width=\"500\"\u003e\n\n\nTiledesk.com backoffice application is available on GitHub under MIT licence.\n\n\nFollow this instructions to setup the environment.\n\n\nConsider that Tiledesk.com cloud service makes every module available with the same open source licence.\n\n\n- Web Widget component\n\n- iOS Widget API (work in progress)\n\n- full iOS App\n\n- full Android App\n\n- Tiledesk Dashboard (this repo)\n\n- All the chat components are available thanks to the Chat21 open source project, also available on GitHub (https://github.com/chat21)\n\n  \n# Community? Questions? Support?\n\n- If you need help or just want to hang out, come, say hi on our [\u003cimg width=\"15\" alt=\"Tiledesk discord\" src=\"https://seeklogo.com/images/D/discord-color-logo-E5E6DFEF80-seeklogo.com.png\"\u003e Discord](https://discord.gg/nERZEZ7SmG) server.\n- You can also to ask for support on https://tiledesk.com, using the live chat widget on the the website.\n\n  \n## Features\n\n- Unlimited chat conversations\n- Widget customization tools\n- Conversation labels and notes \n- Apps marketplace\n- CRM\n- Operating hours\n- Up to 200,000 messages from bot/month\n- Departments and agents groups\n- Chat history\n- Ticketing System\n- Data export + Analytics\n- Canned responses\n\nAnd more.\n\n## Prerequisites\n\n- Install Node and NPM (https://nodejs.org/en). Suggested: node v14.15.5 (npm v6.14.11). \n\t\n- If you want to to manage multiple active Node.js versions, to install node use the tool Node Version Manager (NVM)\n\n- Install angular-cli v7.3.10 with `npm install -g @angular/cli@14.2.9`\n\n- tiledesk-server installed and running (https://github.com/Tiledesk/tiledesk-server.git)\n\n# Run Tiledesk with Docker Compose\n\nDo you want to install all the Tiledesk components on your server with just one click?\nUse [Docker Compose Tiledesk installation guide](https://github.com/Tiledesk/tiledesk-deployment/blob/master/docker-compose/README.md)\n\n\n# Install from source code\n\n  \n\nInstall the latest stable release. Check on Github page the last release under the Releases tab and then run\n\n-  `git clone https://github.com/Tiledesk/tiledesk-dashboard.git --branch \u003cLATEST-RELEASE-VERSION\u003e`\n\n-  `cd tiledesk-dashboard`\n\n-  `npm install`\n\n  \n\n## Dev configuration\n\n  \n\nYou can put your API URL and the other settings directly in the environment.*.ts  if `remoteConfig` is set to `false` or in the `dashboard-config.json`  if `remoteConfig` is set to `true`.\n\nIf `remoteConfig` is set to `true` create a file name `dashboard-config.json` and put it into `src` folder.\n\nAn example of the configuration of the  `environment.ts` file in  `src/environments/`\n\n#### environment.ts\n\n```typescript\nexport  const environment = {\n\n\tproduction: false,\n\n\tremoteConfig: true,\n\n\tremoteConfigUrl: \"/dashboard-config.json\",\n\n\tVERSION: require('../../package.json').version,\n\n    ...\n}\n```\n#### dashboard-config.json\n```typescript\n\nWIDGET_BASE_URL: \"https://\u003cYOUR_CHAT21_WEB_WIDGET_URL\u003e:4200/\",\n\nbotcredendialsURL: \"https://\u003cYOUR_BOT_CREDENTIALS_URL\u003e\",\n\nSERVER_BASE_URL: \"https://\u003cYOUR_TILEDESK_SERVER\u003e/\",\n\nCHAT_BASE_URL: \"https://\u003cYOUR_CHAT21_IONIC_URL\u003e/chat\",\n\nglobalRemoteJSSrc: \"https://\u003cYOUR_CUSTOM_SCRIPT_1\u003e, https://\u003cYOUR_CUSTOM_SCRIPT_2\u003e\" // see the section below \"Load external scripts\"\n\nfirebaseAuth : false,\n\nchatEngine: \"mqtt\", // OR YOUR CUSTOM CHAT ENGINE\n\nupdloaEngine: \"native\", // OR YOUR CUSTOM UPLOAD ENGINE\n\npushEngine:\"none\", // OR YOUR CUSTOM PUSH ENGINE\n\nlogLevel: \"\u003cYOUR-PREFERRED-LOG-LEVEL\u003e\",\n\nwsUrl: 'ws://' + window.location.hostname + '/ws/'\n\n};\n\n```\n* `logLevel`: The Dashboard supports 4 log levels. The order is as follows:\n  `Error \u003c Warn \u003c Info \u003c Debug`\n\n\n### RUN in dev\n\nRun the app with `ng serve`\n\n  \n## Prod configuration\n\nFor production installation, configure the environment.prod.ts file in `src/environments/`.\n\n\n#### environment.prod.ts\n\n\n```typescript\nexport  const environment = {\n\n\tproduction: false,\n\n\tremoteConfig: false,\n\n\tVERSION: require('../../package.json').version,\n\n\t...\n\n```\n \n\n# Build\n\nRun `ng build --prod --base-href ./`\n\n\n# Deploy\n\n## Deploy to a Web Server\n\nCopy the content of the dist folder to your Web Server (for example Apache or Nginx)\n\n\n## Deploy on AWS CloudFront and AWS S3\n\n```\n\naws s3 sync ./dist/ s3://tiledesk-dashboard/dashboard\n\n```\n  \n# Run with docker\n\n  \nTo run Tiledesk-dashboard on port 4500 run:\n\n```\n\ncurl https://raw.githubusercontent.com/Tiledesk/tiledesk-dashboard/master/.env.sample --output .env\n\nnano .env #configure .env file properly\n\ndocker run -p 4500:80 --env-file .env tiledesk/tiledesk-dashboard\n\n```\n\n  \n# Run with npm\n\n  \nTo run Tiledesk-dashboard with npm:\n\nUNDER DEVELOPMENT\n\n```\n\ncurl https://raw.githubusercontent.com/Tiledesk/tiledesk-dashboard/master/.env.sample --output .env\n\nnano .env #configure .env file properly\n\nnpm install -g @tiledesk/tiledesk-dashboard\n\ntiledesk-dashboard\n\n```\n\n#### dashboard-config.json\n\n```typescript\n\nWIDGET_BASE_URL: \"https://\u003cYOUR_CHAT21_WEB_WIDGET_URL\u003e:4200/\",\n\nbotcredendialsURL: \"https://\u003cYOUR_BOT_CREDENTIALS_URL\u003e\",\n\nSERVER_BASE_URL: \"https://\u003cYOUR_TILEDESK_SERVER\u003e/\",\n\n\n...\n\nbrandSrc :\"https://\u003cYOUR_BRAND_JSON\u003e/\",\n\n...\n\n};\n\n```\n\n#### docker env.sample file\n\n```typescript\n\nSERVER_BASE_URL=YOUR_TILEDESK_SERVER_URL\n\n\n...\n\n\nBRAND_SRC=https:YOUR_BRAND_SCRIPT_URL\n\n...\n\n\n```\n\n  \nEdit the file _variables.scss in the folder `src/assets/sass/md/` to customize the colors\n\n\n\n\n# Load external scripts\n\n\nLoad external scripts by adding in environment.*.ts (if `remoteConfig` is set to `false` or in the `dashboard-config.json` if `remoteConfig` is set to `true`) the key `globalRemoteJSSrc` with value your scripts separated by commas\n\n\n#### dashboard-config.json\n\n```typescript\n\nWIDGET_BASE_URL: \"https://\u003cYOUR_CHAT21_WEB_WIDGET_URL\u003e:4200/\",\n\nbotcredendialsURL: \"https://\u003cYOUR_BOT_CREDENTIALS_URL\u003e\",\n\nSERVER_BASE_URL: \"https://\u003cYOUR_TILEDESK_SERVER\u003e/\",\n\n\n...\n\n\nglobalRemoteJSSrc :\"https://\u003cYOUR_CUSTOM_SCRIPT_1\u003e, https://\u003cYOUR_CUSTOM_SCRIPT_2\u003e\",\n\n...\n\n};\n\n```\n\n#### docker env.sample file\n\n```typescript\n\nSERVER_BASE_URL=YOUR_TILEDESK_SERVER_URL\n\n\n...\n\n\nREMOTE_JS_SRC=YOUR_CUSTOM_SCRIPT_URL\n\n...\n\n\n```\n\n# Autologin \nTo auto login pass the JWT token as a query parameter of your Dashboard url as in the following example:\n\n```typescript\n\n\"http://localhost:4200/#/project/\u003cYOUR_PROJECT_ID\u003e/home?token=\u003cJWT_TOKEN\u003e\"\n\n```\n\n# Embedded info mode\nYou can run an embedded version of the dashboard inside an existing app using, for example an iframe, as in the following example which display the detail of a conversation (CONVERSATION_ID starts with support-group-XYZ)\n\n```typescript\n\n\"\u003ciframe src='http://localhost:4200/#/project/\u003cYOUR_PROJECT_ID\u003e/request-for-panel/support-group-\u003cCONVERSATION_ID\u003e?token=\u003cJWT_TOKEN'\u003e\u003c/iframe\u003e\"\n\n```\n\n\u003c!-- # Translation process\nThe translation process for Tiledesk Dashboard is managed at [https://tiledesk.crowdin.com/tiledesk-dashboard](https://tiledesk.crowdin.com/tiledesk-dashboard) using Crowdin. Please read the [translation guide](https://support.crowdin.com/enterprise/getting-started-for-volunteers/) for contributing to Tiledesk. --\u003e\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiledesk%2Ftiledesk-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftiledesk%2Ftiledesk-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiledesk%2Ftiledesk-dashboard/lists"}