{"id":15890075,"url":"https://github.com/timdorr/deskjockey","last_synced_at":"2025-03-20T10:31:15.930Z","repository":{"id":23285479,"uuid":"26644402","full_name":"timdorr/deskjockey","owner":"timdorr","description":":headphones: A custom feedback and support widget for Zendesk.","archived":false,"fork":false,"pushed_at":"2015-09-02T21:53:01.000Z","size":242,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-17T16:21:15.588Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timdorr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-14T15:26:17.000Z","updated_at":"2023-12-28T17:35:57.000Z","dependencies_parsed_at":"2022-08-05T22:00:25.441Z","dependency_job_id":null,"html_url":"https://github.com/timdorr/deskjockey","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timdorr%2Fdeskjockey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timdorr%2Fdeskjockey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timdorr%2Fdeskjockey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timdorr%2Fdeskjockey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timdorr","download_url":"https://codeload.github.com/timdorr/deskjockey/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244594939,"owners_count":20478372,"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":[],"created_at":"2024-10-06T07:03:07.950Z","updated_at":"2025-03-20T10:31:15.608Z","avatar_url":"https://github.com/timdorr.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Desk Jockey - Custom Zendesk Widget\n\nA custom feedback and support widget for Zendesk.\n\n[My company](http://salesloft.com) is a two product company and we use a ticket field to separate out our incoming\ntickets to separate support groups for each one. Because Zendesk's own \"Feedback Tab\" widget doesn't support passing\ncustom fields, a more flexible solution was needed. This widget serves that purpose for us.\n\nRight now it's a fairly basic, with only a simple iframe widget that goes through some standard server-rendered pages.\nIn the future, it will load things more dynamically and have a much prettier exterior.\n\n## Requirements\n\n- jQuery 1.6 or higher in the app containing the widget\n\n## Installation\n\nFirst, set up and run this Rails project somewhere. It does not need a database or anything else special.\n\nThen, include the tag to load the javascript and give it a link to click (you can style this link to your liking):\n```html\n\u003cscript id=\"zdWidgetScript\" type=\"text/javascript\" src=\"http://myzdwidgetapp.herokuapp.com/widget.js\"\u003e\u003c/script\u003e\n\u003cdiv id=\"zdOpenWidget\"\u003e\u003cimg src=\"/images/support.png\"\u003e\u003c/div\u003e\n```\nThere is some required CSS so the widget modal can be shown. This is formatted as SCSS:\n```scss\n#zdWidgetOverlay {\n  display: none;\n  position: fixed;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  padding: 30px 0;\n  background-color: rgba(0, 0, 0, 0.5);\n  opacity: 0;\n  outline: 0;\n  z-index: 1060;\n  overflow-x: hidden;\n  overflow-y: auto;\n  @include transition(opacity, 0.3s);\n\n  \u0026.in {\n    display: block;\n    opacity: 1;\n  }\n}\n\n#zdWidgetContainer {\n  position: relative;\n  width: 600px;\n  height: 400px;\n  margin: 0 auto;\n  padding: 15px;\n  background-color: white;\n  box-shadow: 0 5px 15px rgba(0,0,0,0.25);\n  border-radius: 5px;\n\n  iframe {\n    width: 100%;\n    height: 100%;\n    border: 0;\n  }\n}\n```\nThen you can call this JS to initialize the widget:\n```js\nif (typeof window.zdWidget !== \"undefined\") {\n  zdWidget.init({\n    name:     \"\u003c%= current_user.name %\u003e\",\n    email:    \"\u003c%= current_user.email %\u003e\",\n    category: 1234567890,\n    fields:   {\n      1234567890: \"some value\"\n    }\n    chat: true,\n    chat_tags: 'Admin,SalesLoft',\n    chat_department: 'Support'\n  });\n```\nThese are the fields taken in:\n- `name` - The requester's name.\n- `email` - The requester's email address.\n- `category` - (optional) The ID of the help center category to limit your searches to.\n- `fields` - (optional) A object of custom fields to set on the ticket. The key is the ID of the field, and the value is the value.\n- `chat` - (Defaults to false) Flag turning on Zopim Live Chat.\n- `chat_tags` - (optional) String of comma seperated tags to add to current chat session.\n- `chat_department` - (optional) Default department to direct the visitors current session.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimdorr%2Fdeskjockey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimdorr%2Fdeskjockey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimdorr%2Fdeskjockey/lists"}