{"id":16901995,"url":"https://github.com/jpf/zendesk-twilio-sms","last_synced_at":"2025-04-11T06:30:39.896Z","repository":{"id":7562702,"uuid":"8916386","full_name":"jpf/Zendesk-Twilio-SMS","owner":"jpf","description":"Integrate Twilio SMS with Zendesk","archived":false,"fork":false,"pushed_at":"2013-05-22T06:16:49.000Z","size":144,"stargazers_count":14,"open_issues_count":1,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-04T14:41:34.397Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/jpf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-20T23:00:36.000Z","updated_at":"2021-10-30T09:04:17.000Z","dependencies_parsed_at":"2022-09-08T00:01:48.197Z","dependency_job_id":null,"html_url":"https://github.com/jpf/Zendesk-Twilio-SMS","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/jpf%2FZendesk-Twilio-SMS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpf%2FZendesk-Twilio-SMS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpf%2FZendesk-Twilio-SMS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpf%2FZendesk-Twilio-SMS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpf","download_url":"https://codeload.github.com/jpf/Zendesk-Twilio-SMS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248355388,"owners_count":21090004,"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-13T18:03:19.733Z","updated_at":"2025-04-11T06:30:39.624Z","avatar_url":"https://github.com/jpf.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Basic overview for adding SMS support to Zendesk.\n=================================================\n\nBasic steps to get bidirectional SMS support in Zendesk via Twilio:\n\n 1. If you don't have one already, create a Zendesk account.\n 2. Add a new user to your account. Call this user \"SMS User\"\n 3. Create a new Heroku app\n 4. Buy a new Twilio number and configure it\n 5. Set up your .env file\n 6. Push code to Heroku\n 7. Create a new SMS Target in Zendesk\n 8. Create a new Trigger in Zendesk\n\nAdd a user named \"SMS User\" to your account\n-------------------------------------------\n\n * Click on the \"+ add\" menu on the upper left of your Zendesk screen\n * Select the \"User\" option\n * Set the name as \"SMS User\" and give it a working email on your domain.\n   (I suggest using your.email.address+sms@example.com)\n * Check your email for the confirmaion link for the SMS user. Click the link.\n * Set the password for the SMS user.\n * Log back in to Zendesk with a user that has administration privileges.\n * *Gear \u003e People (found under \"Manage\")*\n * Find the \"SMS User\", click \"edit\"\n * On the left, change the Role to: \"Agent\"\n\nCreate a new Heroku app\n-----------------------------\n\n 1. Create a new Heroku app\n\n        heroku create\n\nBuy a new Twilio number and configure it\n----------------------------------------\n * Log in to your Twilio account\n * Click \"Numbers\"\n * Click \"Buy a number\"\n * Select a number and click \"Buy\"\n * Buy the number\n * Click \"Setup number\"\n * Set the SMS Request URL to: http://your-heroku-app.example.com/sms\n * Click \"Save Changes\"\n\n\nSet up your .env file\n---------------------\n\n 1. Rename '.env.sample' to '.env.\n\n 2. Set the values for TWILIO_ACCOUNT_SID and TWILIO_AUTH_TOKEN\n    These are found here: \n\n 3. Set the value for TWILIO_FROM_NUMBER to a number from your Twilio account\n    You can see your list of Twilio numbers here:\n\n 4. Set the value for ZENDESK_URL to your ZenDesk URL.\n    It should look like this: https://{your zendesk accout}.zendesk.com/api/v2\n\n 5. Create a dedicated \"SMS User\" in ZenDesk, \n    set the values for ZENDESK_USERNAME and ZENDESK_PASSWORD\n    to the credentials for that user.\n\n\nPush to and configure Heroku:\n-----------------------------\n\n 1. Make sure that your configuration is correct:\n\n        foreman start\n\n    If you don't get any errors then:\n\n 2. Configure your Heroku app with the settings from above\n\n        heroku config:set RACK_ENV=\"\" \n        heroku config:set TWILIO_ACCOUNT_SID=\"\" \n        heroku config:set TWILIO_AUTH_TOKEN=\"\" \n        heroku config:set TWILIO_FROM_NUMBER=\"\" \n        heroku config:set ZENDESK_URL=\"\" \n        heroku config:set ZENDESK_USERNAME=\"\" \n        heroku config:set ZENDESK_PASSWORD=\"\"\n\n 3. Push the code to Heroku\n\n        git push heroku master\n\n 4. Open your new Heroku app\n\n        heroku open\n\n 5. If you see \"Hello.\" in your web browser, then continue on to the next step.\n    If you don't see \"Hello.\" then you have an error.\n\nCreate a new SMS Target in Zendesk\n----------------------------------\n * *Gear \u003e Extensions (found under \"Settings\") \u003e Targets*\n * Select \"URL target\"\n * Configure the URL target as follows:\n   Title: Outbound SMS target\n   URL:\n\n        http://your-app.example.com/outgoing\n\n   Method: POST\n   Attribute Name: Extra\n   Basic Authentication: (leave blank)\n * Leave the dropdown set to \"Test Target\"\n * Click \"Submit\"\n * Make sure you get a message that starts with \"The message was successfully sent.\"\n * Change the dropdown from \"Test Target\" to \"Create target\"\n * Click \"Submit\"\n\nCreate Triggers in Zendesk\n--------------------------\n\n * *Gear \u003e Triggers (found under \"Business Rules\")*\n * Click \"add trigger\"\n * Give the trigger the title: \"SMS user on Ticket Update\".\n * Configure this trigger to meet all the following conditions:\n   * Ticket is: Updated\n   * Comment is: Present, and requester can see the comment\n   * Current user: is not: \"SMS User\"\n * Configure this trigger to perform these actions:\n   * Notify target: Outbound SMS target\n   * This field supports Dynamic Content:\n\n        {\n        \"To\": \"{{ticket.requester.phone}}\",\n        \"Body\": \"{{ticket.latest_public_comment}}\"\n        }\n\n * Click \"Create trigger\"\n\nOther triggers to consider implementing:\n\n * Send SMS to user on ticket update\n * Re-open updated tickets\n\nMaking sure it all works:\n-------------------------\n\n * Send an SMS to the phone number you configured. (I suggest sending the word \"test\")\n * In Zendesk:\n   * Click on the \"Views\" button (it looks like three stacked lines).\n   * Click on \"All unsolved tickets\"\n * You should see your test message as a ticket.\n * Click on the ticket\n * Click \"take it\" to assign the ticket to yourself\n * Reply to the ticket\n * Click \"Submit as New\"\n * You should receive an SMS with the reply you made to the ticket\n * Celebrate! It works!\n\nApendex: Running unit tests:\n----------------------------\n\n 1. Switch to Ruby 2.0 in RVM:\n\n        rvm install 2.0.0\n        rvm use 2.0.0\n\n 2. Install dependencies:\n\n        bundle install\n\n 3. Run tests:\n\n        bundle exec rake spec","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpf%2Fzendesk-twilio-sms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpf%2Fzendesk-twilio-sms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpf%2Fzendesk-twilio-sms/lists"}