April 2020 Summaries
56 posts from Twilio
Filter
Month:
Year:
Post Summaries
Back to Blog
This WordPress plugin, Twilio Verify Email, aims to reduce spam registrations by utilizing email verification through Twilio's service. The plugin replaces the default confirmation emails sent by WordPress with custom, secure emails generated by Twilio Verify. This increases trust and reduces the risk of spoofing attempts. The plugin also integrates well with other components like forms or pages, provides customizable email templates for branding, and offers flexible implementation options. By setting up a verification service with Twilio and SendGrid accounts, users can create a dynamic email template to be sent to new registrants before they access their account. The plugin uses environment variables to securely load credentials, including the Twilio Account SID and Auth Token, and overrides WordPress's core function `wp_new_user_notification` to send the custom verification emails. It also includes error handling for expired or invalid tokens, as well as logic to cancel default password reset behavior and trigger a new user notification when resetting passwords. The plugin can be tested by registering a new user and verifying their email address using the provided link.
Apr 30, 2020
2,006 words in the original blog post.
By Brenda Minor `
Digital health surveying is critical to flattening the COVID-19 curve as it provides a tool for public health organizations to quickly understand how the virus is spreading and explore ways to collectively flatten the curve. Organizations use surveys to track new infections, monitor patient health, conduct research studies, and inform response efforts in various ways, leveraging tools like REDCap which integrates with Twilio's communications platform to rapidly collect and analyze COVID-19 health data while protecting individual personal health information. With a direct integration using Twilio, REDCap enables healthcare organizations to build and deploy surveys that bridge the digital divide, reaching broader populations at global scale through SMS or voice channels, making it an essential tool for informing COVID-19 response efforts.
Apr 30, 2020
733 words in the original blog post.
Twilio's Bring Your Own Carrier (BYOC) Trunking for Programmable Voice allows businesses to maintain their existing PSTN voice carrier(s) and phone numbers while adding Twilio Programmable Voice capabilities. This new offering enables companies to customize their calling experience, add programmability without changing carriers, and overcome barriers such as porting difficulties or infrastructure investments. With BYOC Trunking, developers can build applications once with Twilio's APIs and use them with any PSTN carrier(s) in combination with Twilio's Super Network. This solution provides flexibility, intelligence, and better customer experiences while maintaining existing relationships with carriers.
Apr 30, 2020
1,214 words in the original blog post.
The beta release of the Twilio Studio REST API v2 enables developers to automate Flow deployments, test and deploy Flows across development, staging, and production environments, and integrate with CI/CD pipelines for automated deployments and rollbacks. The new API provides a validation endpoint to test Flow definitions against the backend without creating or updating real Flows, allowing for custom front-end creation and end-user input validation. Additionally, it supports revisions, publishing, and rollback of Flows, giving developers control over who can test drafts and manage test users per Flow.
Apr 30, 2020
1,198 words in the original blog post.
This tutorial guides developers in building their own video chat application using Python, JavaScript, and the Twilio Programmable Video service. The project uses Flask as the server-side framework and vanilla JavaScript for client-side development, with ngrok used to expose the server to the internet. The application allows users to connect and disconnect from a video call, display their own video feed, and see the names of other participants in real-time. The tutorial provides step-by-step instructions and code examples to help developers build and customize their own video chat application using Twilio's Programmable Video service.
Apr 30, 2020
4,667 words in the original blog post.
The article provides instructions on how to add overlays, such as logos or user names, to a web-based video chat using Twilio Video. The process involves creating a simple HTML page with a button that triggers the overlay when clicked. The overlay is achieved by taking the content out of the document flow and positioning it absolutely over the video. The article also covers how to add images or watermarks to the video as overlays, using CSS generated content tricks. Additionally, it discusses how to use Flexbox to define the layout of the container element and fix issues with responsiveness. Finally, it provides a solution for fading in the overlays once the video has loaded by adding a class and using transition properties.
Apr 30, 2020
1,849 words in the original blog post.
Dark Mode has become increasingly popular across digital platforms, including email, and can significantly influence email deliverability. As major email clients like Gmail, Outlook, and iOS Mail support Dark Mode, ensuring emails are optimized for this setting is crucial for maintaining user engagement and sender reputation. Emails that are not optimized for Dark Mode may appear poorly, leading to negative user interactions such as marking messages as spam or unsubscribing, which can harm deliverability rates. To improve deliverability, email senders should test their designs in both light and dark settings, use transparent images, optimize logos for readability, and consider using plain-text emails. While Dark Mode is an important factor, it is just one of many that influence email deliverability, and comprehensive strategies are recommended for maximizing inbox placement.
Apr 30, 2020
1,047 words in the original blog post.
A business can create a notification workflow using Twilio Studio and Functions to send an SMS when an order is created. This allows the customer to respond with their vehicle description, which is then passed to an order runner's phone. The system also includes a catch-all message for unexpected responses. To set up this workflow, a business needs to sign up for a Twilio account, purchase a phone number, and create a Studio flow that triggers an API call when an order is created. The flow can be tested using Postman, and the error path can be handled by sending a message with a "No Condition Match" response. The system can be extended by creating additional flows, pulling order numbers from a database, or using Twilio Autopilot to intelligently route messages.
Apr 29, 2020
2,704 words in the original blog post.
The COVID-19 pandemic has accelerated the adoption of remote work arrangements in contact centers, with many organizations rapidly transitioning their agents to work from home using cloud-based solutions such as APIs. The challenges faced by these organizations include slow deployments, operational risk, and poor coverage, but successful implementations have shown that it is possible to set up remote contact center agents quickly and efficiently. To mitigate the impact of adopting new technology, it's essential to evaluate productivity improvements, define procedures, and measure performance. By leveraging APIs and programmable contact center platforms, organizations can expand their coverage, balance traffic among different locations, and support peak request volume when needed. The example of Twilio Flex Boost, which provides up to $100,000 in free Active User Hours to impacted organizations, highlights the importance of cloud-based solutions in enabling remote work arrangements during a crisis.
Apr 29, 2020
1,340 words in the original blog post.
In the blog post "4 Tools for Web Scraping in Node.js," Sam Agnew explores different libraries available for JavaScript developers to scrape and parse website data when dedicated REST APIs are not available. The tools include jsdom, Cheerio, Puppeteer, and Playwright, each offering unique advantages depending on the web scraping needs. Jsdom and Cheerio are more lightweight options for handling static data, with Cheerio being faster due to its jQuery-like API. Puppeteer and Playwright are headless browser scripting libraries that offer more versatility, allowing interaction with dynamic web applications, with Playwright supporting multiple browsers. Agnew emphasizes the importance of checking websites' Terms of Service before scraping and highlights the potential for changes in HTML structure to disrupt scraping scripts. The article encourages developers to explore these tools to harness the vast data available on the web for their projects.
Apr 29, 2020
1,551 words in the original blog post.
To write data to an Airtable base from a Twilio application, users can create a serverless function using Twilio Functions and the Airtable Node.js SDK. This function allows for rapid prototyping, maintenance flexibility, and seamless authentication with Airtable. The example code provided creates a new row in an "Input" table within the "Net Promoter Score" base, which contains fields for score, reason, and promoter/detractor calculations. Users can customize this code to fit their use case and add additional functionality such as updating or deleting records. Additionally, Twilio Studio provides a pre-built flow that automates the NPS survey process, allowing users to easily integrate Airtable with their Twilio app.
Apr 28, 2020
1,495 words in the original blog post.
To build a quarantine workout accountability SMS system, users need to create a Strava app and obtain an Access Token with the necessary scope. They then use this token to access their activity data from Strava's API. Next, they set up a Twilio account and create a new function using the Serverless Toolkit that uses the Strava API to compute the time and distance of their last activity. The function is then deployed to Twilio and configured with a phone number, allowing users to receive an SMS message with their workout details. Users can test the system locally or use it as-is, but note that Access Tokens expire after six hours and need to be refreshed periodically.
Apr 28, 2020
1,251 words in the original blog post.
A secure Twilio webhook was built using Python and FastAPI, with the goal of validating incoming requests to ensure they come from Twilio and not malicious third parties. The application uses a virtual environment, ngrok for public access, and a Twilio account to receive SMS messages. A FastAPI framework was chosen due to its high performance, async support, and automatic documentation capabilities. Key features include data validation using Python type hints, automatic handling of form data from the request body, and integration with Uvicorn for ASGI web server functionality. The application also includes a secure signature verification process to prevent unauthorized requests.
Apr 28, 2020
2,112 words in the original blog post.
Twilio's Bug Bounty Program has been in operation since 2015, with the goal of tapping into the skills and talent of security researchers from around the world to help keep Twilio safe. The program has grown significantly over the years, with almost 1,300 researchers participating and a total bounty paid exceeding $300k. To date, the program has received over 450 submissions in 2019, with 50 being Priority 1 findings, and has seen a significant increase in the average reward for a finding from $400 to $1500. The program has also implemented measures to better protect researchers, such as the Safe Harbor Program, and will continue to improve its scope and researcher experience in 2020, including adding assets and features to Twilio SendGrid products.
Apr 27, 2020
493 words in the original blog post.
In this post, you learned how to use ASP.NET Core Razor Pages, view models, repositories, and Ajax to implement hierarchical dropdown lists on a webpage. You saw how to connect data repositories to the database by injecting a DbContext implementation into your Razor Pages page models, and how to build an Ajax query to get a JSON object from a Razor Pages action method. You also learned how to use HTML Helpers to create input form controls and set the HTML attributes of those controls, and how to configure an ASP.NET Core application to use an antiforgery token in an HTTP POST request header. The post provided a number of potential enhancements that can expand your knowledge of ASP.NET Core development, including implementing CRUD functionality for Countries, Regions, and Customers, adding asynchronous functionality to the repositories and page model action methods, and using interfaces and factory classes to reduce class coupling.
Apr 25, 2020
7,739 words in the original blog post.
The author's wife was recently unemployed and needed help with calling the unemployment office. The author tried to call the office multiple times, but was met with busy signals due to the high volume of calls. To automate this process, the author used Twilio Studio and Python to create a flow that would retry the call until it connected. The author created a flow in Twilio Studio, which included a trigger that launched an outgoing call to the unemployment office's phone number, a make outgoing call widget that attempted to connect to the target number, and a run function that waited for 5 seconds before trying again if the call failed. Once the flow was complete, the author used the Twilio Python Helper Library to launch the flow into action by passing in the necessary parameters and credentials. The flow successfully connected the author's phone to the unemployment office's phone number after multiple attempts, allowing him to assist his wife during a difficult time.
Apr 24, 2020
1,711 words in the original blog post.
In this post, users learn to use Airtable as a database for their Twilio app by creating a serverless function that reads data from an Airtable base. The process involves setting up an Airtable account, creating a new base with relevant fields, generating API keys and base IDs, and writing a Twilio function using the Airtable Node.js SDK to fetch data from the base. The function can be used to filter records by field for simple text searches, and it also demonstrates how to fetch linked record data, which provides lightweight relational database functionality. By following this tutorial, users can create a Twilio app backed by an Airtable base, which can be useful for rapid prototyping, maintenance flexibility, and easy authentication.
Apr 23, 2020
1,291 words in the original blog post.
This article guides readers on how to set up open and click tracking for emails sent from Java using Twilio SendGrid. The process involves creating a new Spring Boot application, setting up event webhooks with ngrok, enabling open-tracking and click-tracking in SendGrid, configuring the webhook URL, and testing the integration. Once set up, the application can store open and click events in maps and provide endpoints to retrieve the data. The article also provides an example of how to send email using Twilio SendGrid and track clicks on links.
Apr 23, 2020
1,615 words in the original blog post.
This tutorial guides users on how to create a simple notification system using Twilio CLI, Programmable Voice, Messaging, and Email. To get started, users need to set up a Twilio account with a free trial credit, as well as a SendGrid account for email notifications. The tutorial then walks through the process of installing Twilio CLI, setting up phone numbers, testing the CLI, and creating an employee or customer list in a CSV file. A simple Bash script is provided to parse the CSV file and send notifications via SMS, voice, or email based on the channel specified. The tutorial concludes by suggesting improvements for extending the system, such as using Twilio APIs, improving the script to load dynamic fields, and adding conversational IVR capabilities.
Apr 22, 2020
1,852 words in the original blog post.
With Twilio Media Streams, developers can extend their voice applications with real-time access to raw audio streams of phone calls. This allows for features like live transcription and simultaneous call monitoring. The code provided demonstrates how to handle multiple phone calls at once, differentiating incoming calls, tracking ongoing calls, and sending transcript data to connected clients. The application also includes functionality for subscribing to specific calls, displaying active calls in a list, and removing calls from the active list when they end. The example uses Node.js, Twilio, Google Speech-to-Text API, and WebSockets to achieve real-time transcription and streaming of audio data.
Apr 22, 2020
2,022 words in the original blog post.
Meet Twilio Champions: Developers who use their talent to fuel the future of communications one line of code at a time. These individuals showcase expertise, drive to share knowledge, empathy, commitment to software and tools, community involvement, and approachability. They build innovative projects that make a positive impact on people's lives. Taylor Facen, Nicolas Grenie, Griffin Solot-Kehl, Joe Previte, Matthew Vielkind, Kimberlee Johnson demonstrate their passion for coding, creativity, persistence, and commitment to building something useful. Their stories inspire others to keep building, and they share valuable advice with those starting out in their careers or curious about coding.
Apr 21, 2020
2,808 words in the original blog post.
This tutorial guides on how to build a SMS-to-Slack bridge using Python and Twilio. The bridge allows users to receive SMS messages in Slack channels and automatically forward threaded replies back as SMS messages to the original sender's phone number. To follow along, users need a free Twilio account, a free Slack account, and Python 3. The tutorial covers setting up a Flask application with Ngrok for development purposes, creating a Slack bot, and configuring Twilio to send SMS notifications. Users can test the service by sending an SMS message to their Twilio phone number and adding threaded replies in Slack.
Apr 21, 2020
2,155 words in the original blog post.
Symfony and Twilio are used to send SMS updates for background tasks. A form is created with a submit button that, when clicked, sends a message to the user's phone number indicating that their report has started processing. After 10-15 seconds, another message is sent when the report is completed. The heavy workload of generating the report is moved to the background using Symfony's Messenger Component and Redis, allowing the application to respond quickly to user requests.
Apr 21, 2020
2,115 words in the original blog post.
</template>
This summary covers the key points of the text, including building a Progressive Web Application (PWA) with Laravel and Vue.js, integrating Twilio Notify for notifications, setting up Firebase Cloud Messaging (FCM), and implementing device bindings for push notifications. The article provides step-by-step instructions on how to create a PWA that can send notifications to users across different platforms using the Twilio Notify API.
Apr 21, 2020
3,700 words in the original blog post.
The COVID-19 pandemic has led companies like Twilio to pivot to virtual interviewing and remote hiring, requiring job seekers to adapt to this new reality. To excel in virtual interviews, candidates must set up a practical video conference setup, dress professionally, and minimize distractions. They should also prepare by researching the company and role, practicing with a friend or family member, and tailoring their questions to ask specific about the position. Additionally, maintaining eye contact, speaking at a comfortable volume, and showcasing one's personality are crucial in virtual interviews. After the interview, candidates should send a thank you note and follow up with their recruiter to re-express interest in the role. With preparation and opportunity meeting success, virtual interviews require a combination of technical skills and interpersonal abilities.
Apr 21, 2020
1,010 words in the original blog post.
You can build a one-time passcode protected conference line using Twilio Verify and Python, offering additional security by ensuring users have access to the phone and number they claim to own. By sending an OTP to the user's number or email, you can have confidence that the person joining your call is who they say they are. The code in this post secures a conference line in two ways: checking known participants and preventing phone number spoofing with OTPs. To set up protected conference calls in Python, you need a Twilio account, a Twilio phone number, the Twilio Python helper library, and a Verify Service. You create a settings file to store your credentials, define known participants, and start your Flask application. The code then asks the caller to input a 6-digit code and connects them to a conference call without verifying those digits yet. To protect the conference line, you add functions to start verification and check verification, which use the Verify API to send OTPs and verify codes.
Apr 20, 2020
1,344 words in the original blog post.
A community can create a group message chat using Twilio Functions and Google Sheets, allowing neighbors to easily offer or ask for help. To set up this system, users need Node.js, a Twilio account, a Twilio number, a Google developer account, and a Google Sheet with the necessary columns. Users must also create a service account for the Google Sheets API and download the JSON file. The code uses Twilio Functions to forward incoming messages to all numbers in the group stored in the Google Sheet. The code includes a function that loads the sheet, filters out the number that sent the message, and builds a TwiML response for each remaining number on the list. Once deployed, users can send a message to their phone number, which will broadcast out to everyone else on the list.
Apr 20, 2020
1,799 words in the original blog post.
This tutorial demonstrates how to build a secure API in PHP using Laravel Passport. It covers the creation of an authentication system, including user registration and login, as well as the management of CEO details. The application uses implicit route model binding, Eloquent resources, and Laravel's built-in validation features to ensure data integrity and security. The tutorial also explains how to install and configure Laravel Passport, generate access tokens for authenticated users, and implement API routes using route model binding. Throughout the tutorial, examples are provided in Postman to demonstrate how to test the endpoints created by the application.
Apr 20, 2020
3,031 words in the original blog post.
Playwright is a Node.js library that allows developers to automate various browsers and interact with web pages programmatically. It provides a high-level API for automating browsers, similar to Puppeteer, but with additional features such as support for different browsers like Firefox. By using Playwright, developers can write scripts to simulate user interactions, click buttons, type text, and even evaluate HTML elements to read data from the page. This library is useful for web scraping scenarios where data is available online but not through a public API. The author of this tutorial provides a step-by-step guide on how to set up dependencies, launch Playwright, take screenshots, interact with elements, and read data from the page, making it an excellent resource for developers looking to automate web pages using Node.js.
Apr 18, 2020
1,450 words in the original blog post.
The Stripe and Twilio teams collaborated to build a sample application showcasing how to securely collect payment details from customers using Stripe Checkout in setup mode and Twilio Verify for authentication. The application includes two backend implementations, one in Node.js and the other in Python (Flask), with instructions on setting up each. The demo showcases how to run the sample application locally and highlights key features such as client-side phone number formatting and validation, international phone number input field setup, collecting and storing customer payment details securely, sending verification codes via Twilio Verify, checking the verification code, and charging customers using Stripe Checkout. Additionally, the tutorial includes instructions on setting up an international phone number input field, validating the input client-side, looking up the phone number on the server, and listening to Stripe webhook events.
Apr 17, 2020
997 words in the original blog post.
The GitHub Action uses Python and the Twilio service to send SMS notifications about pull requests or issues in a repository. The action is defined using a YAML file, which includes inputs for customizing the notification settings. The action runs inside a Docker container, with a Dockerfile that specifies the Python environment and dependencies. After setting up the development environment, getting a Twilio phone number, and building the action, the workflow file is configured to run the action on a repository, sending an SMS when a pull request or issue is opened or closed. The action can be customized using inputs, and it includes a Dockerfile and an action.yml file for defining the action's behavior.
Apr 17, 2020
2,462 words in the original blog post.
This tutorial teaches how to set up email alerting in a Flask application using SendGrid, allowing the application to send an email alert to an admin when unhandled exceptions occur. To achieve this, the tutorial requires access to Python 3.6 or newer, a Twilio SendGrid account, and the installation of necessary packages such as Flask, python-dotenv, and the official Twilio SendGrid Python API client. The tutorial guides through setting up the SendGrid account, creating a virtual environment for the project, writing the code for the basic Flask application, configuring alerts with SendGrid, hooking into unhandled exceptions, sending the alert email with SendGrid, and testing the alerts. By following this tutorial, developers can create a handy alerting system to monitor their Flask applications' failures.
Apr 17, 2020
1,782 words in the original blog post.
The mail() function in PHP is a widely used but often misunderstood and unreliable method of sending emails. To troubleshoot issues with the mail() function, it's essential to configure Postfix properly, as this mail transfer agent routes and delivers emails. The first step is to test if Postfix is installed, then modify the local Postfix configuration to define minimum requirements such as `mail_owner`, `setgid_group`, `myhostname`, and `compatibility_level`. After configuring Postfix, testing it with a simple PHP script can help determine if the issue lies with Postfix or the mail() function itself. If issues persist, considering missing required parameters, typos in the recipient's email address, or setting up an SMTP relay may be necessary.
Apr 16, 2020
667 words in the original blog post.
Twilio is launching Unplugged, an interview preparation series, as part of its commitment to building an inclusive culture and providing equal opportunities for all aspiring talent. The series will cover topics such as virtual interviews, best practices for making a great first impression, and confidently advocating for oneself. It aims to provide on-demand enablement to help job seekers succeed in the market, regardless of their location or employment status. Twilio continues to hire globally and encourages everyone to join the series and explore available job opportunities on its Careers page.
Apr 16, 2020
273 words in the original blog post.
This tutorial uses the Twilio Narrowband IoT Developer Kit to build a data tracker for a sourdough starter, which is a little yeast-driven pet that eats flour and water and makes sourdough. The kit has some great sensors that can be used to get started, including temperature, humidity, and rise sensors. However, it only works in the US, and there are plans for another bread monitor that connects with Super SIM, which is available everywhere. The project requires a Twilio account, an Arduino IDE, an MQTT broker of choice, and some custom firmware to add functionality. The final product is a small enclosure that can be printed or purchased, which tracks the starter's temperature, humidity, and rise, providing insights into its health.
Apr 16, 2020
1,013 words in the original blog post.
Your new hobby, now with more data` - a fitness tracker for sourdough starters has been created, allowing users to monitor their bread's temperature, humidity, and rise. The IoT Sourdough Starter Monitor features a temperature and humidity sensor as well as a distance sensor, providing correlated data on the starter's growth. This device is designed to be versatile, with options to attach it to a ball jar or balance it on skewers for monitoring. For developers, there are resources available to build one themselves, including code, libraries, and instructions. The creator of this project is also open to feedback and questions on their Github repo, Twitter, and Twitch channel.
Apr 16, 2020
324 words in the original blog post.
While the COVID-19 pandemic has accelerated the shift to remote work, online learning, and video conferencing, it has also highlighted the need for robust user verification and authentication to prevent cyber threats and ensure secure interactions. Implementing best practices such as adding a second factor to the authentication process, using pre-built online candidate verification solutions, and enabling push authentication can help protect against phishing, account takeovers, and malicious activity. With the rise of remote work and digital transactions, companies must prioritize security considerations to maintain trust between users and platforms.
Apr 16, 2020
1,270 words in the original blog post.
This tutorial guides the creation of a video conferencing app using Laravel, PHP, and Vue.js. It covers the technical aspects of creating an API endpoint to generate tokens for authentication with Twilio's Programmable Video, setting up a new Laravel project, installing necessary packages, and defining a Vue.js component to connect to the chat room and display a live feed from local devices. The tutorial also provides instructions on how to test the application and implement additional features such as displaying participant counts, hiding the chat room behind a secure portal, and adding a text-chat feature.
Apr 14, 2020
1,968 words in the original blog post.
This tutorial guides users through setting up a voicemail phone line that records incoming calls and sends their transcriptions as SMS messages. The process involves creating a Flask server using the Twilio API, recording an incoming call, retrieving message transcriptions from the Twilio REST API, and sending the transcriptions as SMS messages to a personal phone number. The tutorial covers setting up a free Twilio account, creating a Python virtual environment, installing required libraries, configuring the Flask server, and integrating the message retrieval system. The user is expected to have basic knowledge of Python, Flask, and Twilio APIs.
Apr 14, 2020
2,212 words in the original blog post.
HTTP methods beyond GET, POST, PUT, and DELETE can provide more flexibility in web development, but also introduce complexity. PATCH is used to update parts of a resource without replacing the entire thing, while CONNECT requests are used to pass encrypted traffic through proxies. OPTIONS requests help determine allowed CORS requests by making an OPTIONS call to figure out if the request is acceptable. HEAD requests return only the headers and not the body, which can be useful for caching purposes. TRACE requests echo back the input to the sender, but it's considered a security vulnerability due to potential Cross-Site Tracing (XST) risks.
Apr 13, 2020
1,016 words in the original blog post.
To forward SMS and voice calls to an alternate phone number while keeping your real phone number secret, you need a Twilio account, a Twilio phone number with SMS and voice capabilities, and a friend with a SMS-enabled phone number. You can use Twilio Studio to create a visual application builder that allows you to write conditional logic for handling messaging flows without writing any code. One-way SMS forwarding is achieved by dragging a Send Message widget onto the canvas and configuring it to send messages to your cell phone number from your Twilio phone number. Two-way SMS forwarding requires using Twilio Functions, which involves reconfiguring the same Twilio number to call the Function whenever an SMS comes in, and writing some logic to determine which direction to forward the information. This approach has a drawback of being limited to one conversation at a time.
Apr 09, 2020
833 words in the original blog post.
This SMS-based bot uses Laravel to create an API endpoint and Twilio's Programmable SMS client to send messages. The bot is set up to receive incoming SMS messages from a Twilio phone number, parse the country name from the message body, and then use the `corona.lmao.ninja` API to retrieve COVID-19 case information for that country. The response is then sent back to the original sender as an SMS message. To deploy the bot publicly, it must be made accessible via the internet using a tool like ngrok. Once deployed, the Twilio phone number webhook settings are updated with a publicly accessible route to the application.
Apr 09, 2020
1,434 words in the original blog post.
This post introduced the use of Twilio Programmable SMS with RxJS Observables in a Node.js application. It demonstrated how to perform repetitive API calls and emit responses using Observables, combining multiple inner Observables into one that emits data whenever an inner Observable emits new information. This technique can be used to get updates on the delivery status of SMS messages sent with Twilio Programmable SMS. The post also covered various additional resources for learning more about ReactiveX and JavaScript Promises.
Apr 09, 2020
3,403 words in the original blog post.
To sanitize phone numbers before sending mass alerts, developers can use the Twilio Lookup API to validate and format phone numbers, checking for real phone numbers, correct formatting, and mobile line type. The API requires a Twilio account, Python helper library, and knowledge of ISO country codes. Two options are provided: normalizing phone numbers with national formatting to E.164 and checking validity, or running a phone number through the validation function of the API. Additionally, developers can check for mobile phone number types using carrier lookups, which may incur costs depending on the volume of requests. By sanitizing phone numbers, developers can reduce API errors and increase confidence in their systems.
Apr 09, 2020
711 words in the original blog post.
Twilio has partnered with Google Cloud to provide connectivity for its Rapid Response Virtual Agent program, which helps answer common COVID-19 questions, through Twilio Media Streams that powers the integration between Twilio and Google Cloud's Contact Center AI via Dialogflow. The integration allows for real-time audio processing and enables customization of call flows such as forwarding calls to agents or deploying remote agent contact centers with Flex Boost resources. This program is available to various organizations, including government agencies, healthcare, and businesses impacted by COVID-19, and can be deployed quickly with existing Contact Center AI solutions or new Twilio customers.
Apr 08, 2020
338 words in the original blog post.
Using Node.js tools like jsdom, developers can scrape and parse data directly from web pages to use for their projects. The example uses Got library to make HTTP requests and Cheerio for parsing through HTML. By using querySelectorAll and CSS selectors, developers can filter through HTML elements and retrieve specific data. Regular expressions are used to exclude unwanted links, such as those with parentheses or no href attribute. Once the desired links are identified, the code streams the MIDI download into a local file, complete with error checking. With this capability, developers have access to a vast source of data for their projects, but it's essential to keep in mind that changes to web pages' HTML might break the code.
Apr 08, 2020
1,436 words in the original blog post.
This is a tutorial on how to build a serverless round robin call forwarding application using Twilio Studio and Functions. The application allows for seamless call routing among multiple numbers, with the ability to reset or increment the counter variable as needed. The solution utilizes Twilio's Runtime suite, including Twilio Studio and Functions, to create a fully managed and scalable system without the need for a web server. The tutorial covers the prerequisites, installation of required modules, creation of a serverless counter variable, deployment of a Twilio Function, and configuration of a Studio Flow to trigger the function. The application is designed to be flexible and can be easily modified or extended to accommodate different use cases.
Apr 07, 2020
3,598 words in the original blog post.
Testing your Twilio applications in Python with pytest aims to provide strategies for testing code that includes connections to third-party services, such as Twilio APIs. The tutorial covers two unit test strategies: Mocks and Stubs, which can be used to fake real calls in unit testing. Mocks are useful when different scenarios need to be tested, while Stubs are suitable when APIs calls are made from multiple parts of the codebase and don't require mocking every time. By using these strategies, developers can ensure their code is reliable, efficient, and scalable. The tutorial also highlights the importance of testing in software development, providing insights into how it can help deliver the best experience to customers.
Apr 07, 2020
3,098 words in the original blog post.
Email-based 2-factor authentication (2FA) is a viable option for protecting user accounts from brute-force attacks, credential stuffing, and other forms of phishing. While it's not foolproof, email 2FA can provide an additional layer of security when used alongside more secure channels like Time-Based One-Time Passwords (TOTP). The benefits of email 2FA include reducing the risk of account takeover for users whose first factor was compromised due to brute-force or guessed passwords, credential stuffing, or phishing attacks. However, it's essential to note that email 2FA may not protect against password reset via an email, which can leave users vulnerable if their email account is compromised. Nevertheless, services like Gmail encourage security checkups to mitigate this risk. By integrating email 2FA with APIs like Twilio's Verify API, developers can provide users with a convenient and secure way to verify their accounts.
Apr 07, 2020
774 words in the original blog post.
**
Building a conference line using Twilio and Ruby on Rails is a straightforward process that requires some basic setup, a few tools, and a bit of code. The process starts with installing the necessary gems, including `twilio-ruby`, which provides the functionality for interacting with the Twilio API. A new Rails application is then created, and a controller is generated to handle incoming webhooks from Twilio. This controller uses the `twilio-ruby` gem to build up a TwiML response that instructs Twilio to drop callers into a conference call. The process also involves setting up a ngrok tunnel to expose the local development server to the internet, allowing it to receive webhook requests from Twilio. With these tools and some basic code, developers can create their own conference lines using Twilio and Ruby on Rails.
Apr 06, 2020
993 words in the original blog post.
The author of the text spent their weekend playing Animal Crossing: New Horizons and received a visit from coworkers who wanted to play together. To facilitate communication, they used Twilio to set up a conference line with basically no code. The process involved getting a Twilio account, phone number, creating a TwiML bin with conference instructions, connecting the TwiML to the phone number, and saving it. This setup allowed them to have a 1-hour conversation with their coworkers for under $2 USD. The author suggests that this technical solution can be further customized to add additional features such as SMS support or an Autopilot bot.
Apr 06, 2020
481 words in the original blog post.
This article demonstrates how to validate phone numbers in a Spring Boot application using the Twilio Lookup API, providing a more reliable and comprehensive validation process than relying solely on regular expressions or basic string checks. By creating a custom annotation `@ValidPhoneNumber` and implementing a `ConstraintValidator` class that uses the Twilio API to verify the phone number's validity, developers can ensure that only real phone numbers are accepted in their application, reducing the risk of spam or incorrect information. The article provides step-by-step instructions on how to implement this validation process, including creating the annotation, validator, and configuring the Twilio client, as well as testing and wrapping up the demo application.
Apr 06, 2020
1,241 words in the original blog post.
Setting up a conference call line with Twilio Programmable Voice, Python, and Django requires several steps. First, create a free Twilio account and provision a phone number. Then, set up a Python virtual environment using virtualenv or similar tools, install Django and the Twilio Python helper library, and start a new Django project and app. Configure the project settings and files by adding the confline app to the installed apps list in settings.py and updating the allowed hosts list. Create URL routes and views for call logic, including dialing a conference line when a caller enters a valid PIN. Add a webhook to the Twilio phone number using ngrok to expose the local server to the public Internet. Once the basic conference line is set up, add view logic to secure the conference line by adding a PIN number and limiting the number of participants. Finally, customize the experience of the callers with an extremely robust API provided by Twilio's Conference feature.
Apr 03, 2020
1,841 words in the original blog post.
Twilio Verify now supports email verification, allowing developers to send and validate email addresses with a single API call. The process involves setting up a Twilio account, Sendgrid account, and creating an email template using HTML code. A Twilio Verify service and email integration are then created, and a Node.js script is written to authenticate with the Twilio Client and send verification emails. The script also includes a route to check the verification code provided by the user, which uses the Twilio library to verify the code against the one sent in the email. This functionality can be integrated into a sign-up experience using a mock database and redirecting users to a verify page once they receive their verification email.
Apr 03, 2020
1,367 words in the original blog post.
Twilio is launching a new platform called CodeExchange, which allows developers to easily share their Twilio apps with others in the community. The platform aims to foster inspiration and collaboration among Twilio's community of builders by enabling them to showcase their creations and receive feedback. To celebrate its launch, Twilio is running a virtual hackathon in April, offering prizes and recognition to participants who build innovative Twilio-based apps. The hackathon will have four categories: Engaging Engagements, COVID-19 Communications, Interesting Integrations, and Exciting X-Factors. Developers can submit their apps through a three-step process, which includes reviewing guidelines and submitting an issue with a pre-populated form. The platform is designed to provide a clear path for developers to share their code and learn from others' examples and expertise.
Apr 02, 2020
596 words in the original blog post.
Twilio's Flex Boost program offers up to $100,000 in free Active User Hours to organizations impacted by or responding to COVID-19. Amid the shift to remote work, contact centers face unique challenges such as adapting a culture to support remote agents, managing a dispersed workforce, and creating an open and seamless communication system. Shopify, a leading global commerce company, has successfully implemented a 100% remote contact center model with its highly dispersed agent workforce. Chris Wilson, Director of Support Technology at Shopify, shares his approach to structuring and executing a remote agent model, emphasizing the importance of trust, consistent communication, and adaptability. Key takeaways include using video for meetings, leveraging internal chat tools like Slack, and prioritizing transparency and trust in managing remote agents.
Apr 01, 2020
2,025 words in the original blog post.