Home / Companies / Twilio / Blog / July 2020

July 2020 Summaries

61 posts from Twilio

Filter
Month: Year:
Post Summaries Back to Blog
Automating Twilio SMS notifications in MongoDB through MongoDB Functions allows for efficient and serverless notification triggers, enabling developers to separate business logic from sending notifications. This tutorial demonstrates how to create a serverless function that sends an automatic SMS when a new document is created or updated in a MongoDB collection, utilizing Realm functions and connecting with the Twilio Programmable SMS API.
Jul 31, 2020 1,797 words in the original blog post.
This tutorial provides a comprehensive guide on building a Laravel API powered by GraphQL. It covers the fundamental concepts of GraphQL and how to implement it in a Laravel application. The tutorial starts with creating a new Laravel project, installing the necessary library, and defining the GraphQL schema. It then creates a Book model, seeder file, and database migration file to populate the database with initial data. The tutorial also defines queries to retrieve books, create, update, and delete books using mutations. Finally, it sets up GraphiQL for testing and debugging purposes. Throughout the tutorial, it provides examples of how to use GraphQL in a Laravel application, making it easy to follow along and implement in your own projects.
Jul 31, 2020 2,657 words in the original blog post.
A telemedicine waiting room with Twilio Video is built using Node.js and Express to create a HIPAA-compliant solution for healthcare providers and patients. The application allows users to join a video call, interact with a virtual waiting room, and display their local audio and video streams on the page. The system also includes event listeners to handle participant connections and disconnections, as well as toggle buttons for joining and leaving the room. The patient experience is designed to show a soothing campfire video while they wait, which can be replaced with other content in the future. The application demonstrates how Twilio Video can be used to create innovative telemedicine solutions, including features such as pre-appointment reminders and recording of audio from visits.
Jul 31, 2020 2,595 words in the original blog post.
This tutorial provides a comprehensive guide on how to build an automated phone survey system using Python, Google Sheets, and Twilio. The application allows users to participate in a three-question survey, with their responses being saved to a Google Sheet. The system uses TwiML (Twilio Markup Language) to interact with the user through voice prompts and collects responses via keypad input. After completing the survey, the user is directed to save their answers to a spreadsheet, providing a structured dataset for analysis. Throughout the tutorial, the author provides step-by-step instructions, code examples, and explanations of key concepts, making it accessible to developers new to Twilio and Python. The application's structure and scalability are also discussed, highlighting its potential for use in various industries and applications.
Jul 31, 2020 3,050 words in the original blog post.
Using async/await with Promises can make asynchronous code easier to read and debug. The await keyword allows developers to wait synchronously for the results of asynchronous actions, like making calls to REST APIs, while pairing it with the async keyword in function declarations provides syntactic sugar for JavaScript Promises. This technique is useful when handling dependent asynchronous tasks or when iterating through a collection of Promise objects using an AsyncIterator. The code example demonstrates how to use async/await to build an action chain that's more flexible and easier to read, while also providing user interface features like a spinner to keep the user informed during long-running processes. Additionally, the code includes error handling with try/catch blocks to handle possible errors raised by rejected Promises.
Jul 30, 2020 3,490 words in the original blog post.
The article provides best practices for securing a Twilio SendGrid account and sending reputation, emphasizing the importance of password security, two-factor authentication, environment variables for API keys, limiting API key scope, IP access management, sender authentication with SPF, DKIM, and DMARC, and using subdomains to send out emails.
Jul 30, 2020 1,280 words in the original blog post.
The console is a global object that provides various methods for logging statements, variables, functions, errors, and more. Six lesser-known console methods are compared to Taylor Swift folklore lyrics, highlighting their unique features and uses. The most commonly used method, `console.log`, is often overused, while others like `console.table` provide cleaner output by displaying data in a table format. `console.assert` checks for false conditions and can be used to fix errors, while `console.time` and `console.timeEnd` measure the execution time of an operation. `console.clear` clears the console, and `console.group` and `console.groupEnd` create inline message groups with cleaner output. These methods offer alternative ways to debug and interact with web applications, making them more efficient and effective.
Jul 30, 2020 914 words in the original blog post.
The article explains how to build a one-time passcode protected conference line with Twilio Verify and Ruby. It starts by adding a list of permitted callers to protect the conference line, then adds OTP verification using Twilio Verify. The application uses Rails and Twilio's REST API to authenticate users and verify their phone numbers. The code is tested using ngrok and Twilio's webhooks, and the article concludes with suggestions for further development, including expanding the database and exploring other OTP channels such as email.
Jul 29, 2020 2,022 words in the original blog post.
You can access a media URL from a Twilio MMS message using the MediaUrl properties in the webhook request, or by accessing the Message Resource and building the media URL manually. To use the manual method, you need to fetch the Message Resource and extract the URI of the Media resource, then remove the ".json" extension and prepend "https://api.twilio.com". This can be done using the Twilio REST API or with a JavaScript application that receives an MMS message, such as an Express.js app. The manual method allows for more flexibility in handling different types of media URLs.
Jul 28, 2020 947 words in the original blog post.
Sending SVG images by SMS and WhatsApp requires converting them to PNG format, which can be done using the CairoSVG package for Python. The package renders SVG files without quality degradation at any resolution, making it suitable for generating diagrams and charts. To use CairoSVG, install the required packages, including Cairo, and create a Flask application that converts the SVG image to PNG on the fly. The application takes optional width and height arguments from the query string of the request URL, allowing users to resize the converted image as needed. Once implemented, this endpoint can be used in Twilio-based applications to send SVG images via SMS and WhatsApp.
Jul 27, 2020 1,373 words in the original blog post.
This tutorial demonstrates how to leverage Twilio's Programmable Messaging feature to set up an alerting system for Airflow jobs. It begins by setting up an Airflow instance locally, creating a DAG, and fetching data from the Star Wars API. The code then writes the fetched data to JSON files that can be used as fixtures for a database. To integrate Twilio with the Airflow Docker image, a new version of the image is created with the Twilio package installed, and an environment file is added to store the Twilio account SID and Auth Token. A callback function `on_failure` is defined to send SMS notifications when a task fails. The tutorial concludes by applying the changes to a running instance of Airflow and demonstrating how to use this feature for monitoring Airflow DAGs.
Jul 27, 2020 2,206 words in the original blog post.
Here's a 1-paragraph summary of the text: The article describes how to track time spent in meetings using Google Calendar, Twilio, and n8n. The process involves creating an automated workflow that extracts meeting data from Google Calendar, calculates the total meeting duration, sends an SMS notification with the result, and repeats this process on a weekly basis. The workflow is built using n8n's visual interface, which allows users to create custom nodes without extensive programming knowledge. By following these steps, users can gain insights into their time management and make data-driven decisions to optimize their schedules.
Jul 27, 2020 3,624 words in the original blog post.
You can access the image URLs in a Twilio MMS message by using either the MediaUrl properties when receiving a webhook request or by accessing the REST API to fetch the Message Resource and build the media URL manually. The former is typically used for initial message reception, while the latter provides more flexibility but requires more work. To achieve this with Python, you can install the Twilio library, create a Flask application that handles incoming messages, and use ngrok to tunnel your local machine's port to a custom forwarding URL, allowing you to test your app without deploying code. The image URLs are stored in the Media resource's uri property, which needs to be stripped off the '.json' extension before being used. With this information, you can access and manipulate the images sent to your Twilio phone number, potentially displaying them on a web page or performing further analysis.
Jul 25, 2020 820 words in the original blog post.
You've decided to build your digital presence by redirecting a website to another domain name, specifically from GitHub Pages to a custom domain name. You'll need an account with Namecheap or Google Domains to choose and reserve your domain name. Once you have your domain, you can add it to your GitHub repository and create a CNAME file to point to the new custom domain name. Next, you'll set up DNS records in Namecheap's Advanced DNS settings to redirect users to your custom domain name. After completing these steps, you'll enable privacy protection for your domain by checking the box to Enforce HTTPS in GitHub pages. If issues arise, don't worry - you can try clearing your cache or opening the site on a private incognito window. You can also explore additional features such as creating projects under your domain name and setting up redirects for emails, blogs, and more. With a custom domain name, you'll be able to showcase your brand name and establish your online presence with style.
Jul 23, 2020 1,891 words in the original blog post.
Twilio has released its Summer 2020 recap, which highlights various new features and updates on its Customer Engagement Platform. The company has introduced several key releases, including Studio REST API v2 with Flow Publishing, a Voice Notifications App built in ReactJS for the Web, Twilio SendGrid Event Webhook Security Features, HIPAA compliance for healthcare companies, and more. These updates aim to make it easier for developers to experiment and create experiences that define the future. The company has also released new tools, such as Messaging Insights and Super SIM, and is providing access to source code samples on its CodeExchange platform.
Jul 22, 2020 799 words in the original blog post.
The tutorial demonstrates how to log incoming SMS messages sent to a Twilio phone number to an Airtable database using Laravel and the Tapp/Laravel-Airtable package. To set up this integration, one needs PHP 7.2.5 or higher, Laravel 7, Composer globally installed, a Twilio account, an Airtable account, Ngrok, and other tools. The setup involves creating an Airtable base with specific fields to store the SMS message details, installing the Tapp/Laravel-Airtable package, configuring environment variables for Airtable API access, creating a Controller class to handle incoming messages, setting up a webhook endpoint in Laravel routes, disabling CSRF verification, and exposing the application using Ngrok. The final step involves configuring Twilio's messaging settings with the Ngrok URL and testing the service by sending an SMS message to the Twilio phone number.
Jul 22, 2020 1,228 words in the original blog post.
The author of the tutorial is Oluyemi Olususi, and he guides readers on how to set up a Laravel API project using CircleCI for continuous integration. The goal is to automatically run tests for the application once an update is pushed to a code repository like GitHub. The author also sets up notifications via Twilio SMS to send messages to a specific phone number when the build is successful or fails, ensuring that the developer can stay informed about the status of their builds. The tutorial assumes readers have a basic understanding of building applications with Laravel and has prerequisites such as a Twilio account, CircleCI account, Composer globally installed, and knowledge of building applications with Laravel.
Jul 22, 2020 1,358 words in the original blog post.
To enhance call center security, companies can implement customer authentication using Twilio Flex plugins. Authentication involves proving identity with a factor that could be something known like a password or a physical attribute, such as a fingerprint. Options for authenticating users include sending one-time passcodes via SMS or email, callbacks, and voice recognition. To add customer authentication to Twilio Flex, developers need to set up a Verify service, deploy serverless functions using the Twilio CLI and serverless toolkit, and update their .env file with account credentials. Once deployed, agents can test the plugin by calling or messaging their Flex number, inputting an OTP provided by the customer, and verifying their identity. This authentication method helps prevent social engineering attacks by limiting caller information available to agents until they are properly authenticated.
Jul 22, 2020 954 words in the original blog post.
Twilio's security team discovered a modified version of their TaskRouter JS SDK had been uploaded to the cloud, which could have allowed a malicious actor to inject code into customers' browsers. The modification was made by an individual using the TOR anonymizing network and was due to a misconfiguration in one of Twilio's S3 buckets that hosted the library. The attacker aimed to serve malicious advertising to users on mobile devices as part of a larger malvertising campaign associated with the Magecart group of attacks. Twilio quickly contained and remediated the incident, replacing the modified library and locking down the permissions on the affected S3 bucket. An investigation revealed that other buckets had improper write settings, but no customer data was accessed by the attacker. To prevent similar issues in the future, Twilio plans to restrict direct access to S3 buckets, improve monitoring of bucket policy changes, and provide integrity checking for customers. Users who downloaded a copy of v1.20 of the TaskRouter JS SDK between July 19th and July 20th should re-download and replace the old version with the updated one.
Jul 22, 2020 1,278 words in the original blog post.
The author of this article is Phil Nash, who shares a story about The Salvation Army in Australia reaching out for help sending SMS messages from their Jira-powered contact centre. To build a custom Jira plugin that can send SMS messages using Twilio, the author outlines the necessary steps and tools required. These include setting up an Atlassian Cloud instance, obtaining a Twilio account, installing Node.js, and creating a new project using the Twilio Serverless Toolkit. The author then describes how to create an app descriptor, build an HTML page for the plugin, and implement a function to handle form submissions. Finally, they provide instructions on deploying the plugin to Jira and discuss potential future enhancements.
Jul 22, 2020 1,536 words in the original blog post.
The Salvation Army`, a charitable organization in Australia, reached out to `Twilio` and `Atlassian` for help with their contact centre volumes during the bushfire and coronavirus crises. With pressure piling on, Twilio's team designed a simple solution using Atlassian's Jira Service Desk plugin framework, enabling staff to send and receive SMS messages within the dashboard. The initial solution was straightforward but didn't scale with the organization's growth. A second version of the plugin was built by Twilio and Atlassian teams, which sent SMS messages associated with tickets, logged them in ticket comments, received incoming SMS messages and attached them to relevant tickets as comments, and was secured with JWTs. The new plugin helped support The Salvation Army during both crises, facilitating communication between staff and people in need.
Jul 22, 2020 764 words in the original blog post.
Two-factor authentication (2FA) improves both the strength of an authentication system and users' experience. ASP.NET Core provides a robust 2FA solution with Microsoft and Twilio resources to speed development. The Authy API, part of Twilio's Verify API, offers secure passwordless logins, one-time passwords via SMS or voice, soft token push authentication through Android or iOS apps, and more. To get started with ASP.NET Core 2FA using Twilio Authy, developers need a Windows 10 machine, a Twilio account, .NET Core 2.1.808 SDK, Visual Studio 2019, and knowledge of C# and .NET Core. The tutorial guides through setting up the Authy demo project, updating configuration files, creating the database, testing SMS authentication, voice authentication, and push authentication. With this guide, developers can build a secure ASP.NET Core application with Twilio Authy's advanced 2FA features.
Jul 21, 2020 3,629 words in the original blog post.
The SIP trunking services market offers two primary categories: traditional telecommunications providers (telcos) and cloud-based communication platforms as a service (CPaaS). Telcos operate regional wireline networks and offer SIP trunks that connect to the Publicly Switched Telephone Network (PSTN) within their operating region. In contrast, CPaaS operate cloud communications platforms that provide software developers with tools to add communications services to their applications. The two categories differ in their investments in wireline transmission facilities, provisioning processes, pricing models, and capacity scaling capabilities. While telcos are known for lengthy provisioning intervals and complex pricing, CPaaS offer faster provisioning, simpler pricing, and automatic capacity scaling. Ultimately, the choice between a telco and a CPaaS depends on an organization's specific needs, including its business agility, global reach, and quality of service requirements.
Jul 21, 2020 2,015 words in the original blog post.
The Google BIMI Pilot aims to increase the adoption of email authentication in the ecosystem, providing a more immersive experience for customers while strengthening business continuity during the COVID-19 pandemic. The standard brings multiple advantages to different stakeholders, including mailbox providers and marketers, by improving security, increasing brand visibility, and enhancing user experience. To participate in the pilot, senders must meet specific requirements, such as having a good sending reputation, authenticating using SPF and DKIM, publishing a DMARC policy at enforcement, and obtaining a Verified Mark Certificate for their logo. Major brands are participating in the pilot to help Google refine its implementation and validate the BIMI standard ahead of its general availability.
Jul 21, 2020 734 words in the original blog post.
The article provides a step-by-step guide on how to build an SMS chatbot using Twilio Autopilot, Twilio SendGrid, Twilio Functions, TwiML Bins, and JavaScript to engage in local civic issues. The bot can be used to contact decision-makers such as representatives of the San Francisco County Transportation Authority about issues like cutting bus lines and free bus rides for youth. The chatbot uses a collect flow to gather information from users and then sends an email or makes a phone call to the relevant representative using Twilio Functions. The code is customizable, and users can add more tasks to provide additional information such as resources on helping keep Muni funded or facts about public transit.
Jul 20, 2020 2,085 words in the original blog post.
A WordPress plugin written in PHP enables content editors to rebuild their Gatsby app by manually rerunning GitHub Actions from within the WordPress admin dashboard. The plugin creates a menu item in the admin console with buttons to publish to beta and production environments, allowing users to easily update and publish new content. The plugin uses WPGraphQL to create a GraphQL layer from WordPress content and queries data via the gatsby-source-graphql plugin to the Gatsby app. It also uses GitHub Actions API authorization and includes a success message for user confirmation. The plugin is uploaded to the WordPress dashboard, activated, and can be used to deploy the Gatsby app to AWS/S3 with a single click of a button.
Jul 19, 2020 2,000 words in the original blog post.
Twilio has prepared for the EU-U.S. Privacy Shield ruling by having a Data Protection Addendum that relies on overlapping data transfer safeguards. The company's Binding Corporate Rules, approved by European data protection authorities, remain unaffected by the court decision and will continue to be used as the primary safeguard for data transfers. Standard Contractual Clauses also remain viable, and Twilio is closely watching for further guidance from EU authorities to ensure it can provide service to customers impacted by the ruling. The company's commitment to trust and privacy is demonstrated through its extension of GDPR-level protections worldwide, and it will continue to seek data transfer mechanisms that guarantee high levels of privacy and protection.
Jul 16, 2020 507 words in the original blog post.
Twilio has launched a new Messaging Console experience with enhanced features such as Advanced Opt-Out and Sender ID Compliance Alerts, allowing developers to simplify the complexities of global telecommunications. The Programmable Messaging API provides a single API for SMS, MMS, and WhatsApp, enabling developers to integrate Twilio into their applications and manage phone numbers, message deliverability, inbound replies, and compliance settings. A Messaging Service is a container for grouping global senders and enabling intelligent sending with software, allowing automation of sender selection, integration with applications, handling of message content and conversion, and maintenance of compliance. The new features simplify the process of managing opt-out experiences and provide proactive alerts to ensure compliance with regulations and improve deliverability. Additionally, WhatsApp senders can now be added to existing Messaging Services, making it easier for developers to support use cases at scale.
Jul 16, 2020 727 words in the original blog post.
This project involves building a data visualization webpage using WhatsApp photos, Google Maps, Python, Twilio, and Clarifai APIs. The app allows users to share pictures of the sky with their location coordinates and view them on a global map. The user can also send in their current location and receive a picture of the sky from friends and family who have opted-in to the WhatsApp sandbox. The project demonstrates how to use various APIs, including Twilio for WhatsApp messaging, Clarifai for image recognition, and Google Maps for visualization. It also showcases the importance of data visualization and the potential applications of this technology in creative projects.
Jul 15, 2020 3,528 words in the original blog post.
The UK hospitality industry is reopening after the COVID-19 lockdown, requiring establishments to capture customer information and keep it secure for 21 days. Many businesses are using manual methods, which pose hygiene and security risks. Twilio Consulting Partner Zing has implemented a solution using Twilio SMS, Chat, Studio, and Autopilot to support NHS Test and Trace service, allowing customers to register via text or WiFi chat. This method ensures accurate information capture while minimizing data exposure. The initiative has been successful, with other pubs signing up and the company offering free access to the first 10 UK hospitality companies.
Jul 15, 2020 616 words in the original blog post.
Today, Twilio is announcing a significant update to the Twilio Build Partner Program, introducing `Twilio Professional Services`, which will work with existing `Twilio Consulting Partners` to help customers architect and deploy Twilio solutions with confidence. The company is also launching `Lightning Packages`, pre-defined consulting offerings that combine a structured delivery plan with existing IP to deliver value faster. With the help of Twilio Professional Services, every organization has access to the tools, resources, and expertise to build next-generation customer engagement. Over 300 Twilio Build Consulting Partners will provide domain experts, such as Contact Center, CRM or Collaboration, along with vertical segment expertise in industries including Public Sector, Healthcare and Retail. Customers can purchase services from Twilio Professional Services and Consulting Partners as Build Lightning Packages, which cover common use cases and can be tailored to their exact needs, such as Pilot, Quickstart, Launch, Assurance, Deliverability, Healthcheck, or email deliverability services like SendGrid's Deliverability Package. This update aims to level the playing field for organizations without developers available to build customer engagement solutions.
Jul 14, 2020 649 words in the original blog post.
Twilio SendGrid emphasizes the importance of securing user accounts and maintaining a strong sending reputation by recommending several best practices. These include using strong, unique passwords and enabling two-factor authentication to prevent unauthorized access. Users are advised to store API keys as environment variables and restrict their permissions, ensuring only essential access is granted. Implementing IP access management can further secure accounts by controlling access based on IP addresses. Sender authentication through SPF, DKIM, and DMARC is crucial for protecting brand reputation and ensuring email deliverability by preventing domain spoofing and phishing attempts. Additionally, using subdomains for different types of emails, such as marketing and transactional, helps isolate issues affecting reputation and deliverability, thereby safeguarding the parent domain. Twilio SendGrid continuously works to enhance security practices and encourages users to stay informed about account protection measures.
Jul 14, 2020 1,420 words in the original blog post.
Microsoft Azure Computer Vision provides cloud-based intelligent image processing capabilities that can be used to extract information from images, including recognizing phone numbers. The service uses object detection and other AI technologies to identify the type of text in an image, such as phone numbers. Twilio Lookup is then used to validate the extracted phone number. This allows developers to build applications that can recognize and verify phone numbers in images, which can be useful for various purposes, such as fraud protection or sending SMS messages to verified phone numbers. The use of Azure Computer Vision and Twilio Lookup provides a scalable and reliable solution for extracting and verifying phone numbers from images.
Jul 13, 2020 3,507 words in the original blog post.
There are several JavaScript projects that aim to bring joy and amusement to developers, such as Pettier, which randomizes linter configuration, ComcastifyJS, which slows down image loading for slower internet connections, KonamiJS, an Easter egg library that enables developers to embed joyful surprises inside other projects, Raptorize, a JQuery plugin that displays a velociraptor roaring on the screen, VaporJS, a JavaScript framework that does nothing but is extremely maintainable, Undefined is a function, which fixes the ubiquitous "Undefined is not a function" error, ThanosJS, a project that cuts down on project bloat by randomly deleting files, and Volkswagen, which detects whether tests are running in a CI server and makes them pass regardless of their outcome. These projects showcase the creative ways developers can express themselves through code.
Jul 13, 2020 954 words in the original blog post.
Twilio has acquired and operated Authy for five years, increasing its focus on trust and secure communication between customers and end-users. The company announced that it will merge the two brands, renaming the app to Twilio Authy, in an effort to forge a new identity while maintaining the user experience and developer benefits of both services. Despite some initial confusion, the company has made efforts to address concerns, including reverting the icon name and updating branding to be more fluid and consistent. The goal remains to make strong authentication more human, with Twilio's backing allowing Authy to expand its R&D and support efforts while continuing to operate autonomously as a trusted authenticator app.
Jul 13, 2020 455 words in the original blog post.
Twilio has introduced its Business Associate Addendum (BAA) to support HIPAA-compliant communications use cases, allowing customers to build health and communications applications with Protected Health Information (PHI). The BAA is structured as an addendum to Twilio's standard terms of service or master sales agreement and focuses on the additional requirements needed for HIPAA compliance. Customers are responsible for ensuring their software applications' instructions comply with applicable laws, while Twilio is responsible for providing information sufficient for compliance and executing instructions faithfully in a secure manner. The BAA applies to specific projects and subaccounts that process PHI, and its scope is continuously expanding as more Twilio products become HIPAA-eligible.
Jul 13, 2020 1,130 words in the original blog post.
To protect your data from corporate breaches and costly attacks, Twilio SendGrid's Event Webhook Security is crucial. The Secure Event Webhook guarantees that email event data originates from a verified source, using two layers of security: Signed Event Webhook Requests and OAuth 2.0. Signed Event Webhook Requests verifies identity through digital signatures, while OAuth 2.0 authorizes access to the URL, providing enhanced security and control over events. Implementing these features ensures that your data is protected against malicious attacks, and you can follow the instructions provided in the Twilio SendGrid console to get started today.
Jul 13, 2020 857 words in the original blog post.
To improve performance in ASP.NET Core 3.1 Razor Pages applications built with the MVVM design pattern, making hot code paths asynchronous is crucial. This involves using asynchronous features of C#, ASP.NET Core, and Entity Framework Core to handle frequently called data-driven operations, such as Razor Pages controller actions and data access actions. By adding asynchronous methods to data repositories using async/await and Task<TResult>, developers can make these components asynchronous and improve the application's performance by utilizing threads more efficiently. Additionally, making PageModel action methods asynchronous allows for better utilization of the thread pool used in HTTP requests. The tutorial demonstrates how to implement asynchronous features in a Razor Pages application, including adding asynchronous processing to data repositories, making repository method calls asynchronous, and calling asynchronous PageModel action methods from Ajax requests, ultimately leading to improved performance and concurrency handling.
Jul 12, 2020 5,196 words in the original blog post.
Laravel and Pusher are integrated to create a real-time Twitter stream. The application sets up a new Laravel project, adds a frontend with a custom CSS and JS file, and creates a console command to fetch tweets from Twitter using the laravel-twitter-streaming-api package. A Pusher channel is created and the client-side is updated to subscribe to the "tweets" event. The server broadcasts the tweet data to the client using the `broadcast()` function, which is implemented in the `Tweets` event class. The console command is used to fetch tweets from Twitter and broadcast them to the client in real-time.
Jul 11, 2020 2,812 words in the original blog post.
The article guides users in building a WhatsApp picture sharing app using Twilio MMS, Clarifai API, Python, and Flask. The project involves creating a Flask web application that receives message notifications from Twilio, authenticates against the Twilio and Clarifai services, and stores important credentials to safely authenticate against these services. The app also integrates with ngrok to create a temporary public domain that redirects HTTP requests to the local port 5000. Once the app is set up, users can send pictures of food to their assigned WhatsApp number, and the app will recognize the picture using Clarifai's API and store it in a dictionary data structure for faster lookup time. The app also sends confirmations to the users when they check to see the pictures sent by others.
Jul 10, 2020 2,956 words in the original blog post.
The tutorial guides the reader through building an SMS dashboard using Python, Flask, and Twilio. The project starts by setting up a Python virtual environment and installing the required packages, including Flask and Twilio's Python API client. The reader is then provided with a function to fetch SMS messages from Twilio's API using the `messages.stream()` method. The tutorial then moves on to setting up a Flask application, creating an HTML template for displaying the fetched SMS data, and rendering templates. Finally, the reader learns how to generate an HTML table from Twilio API data and extends the dashboard by adding a column to each row in the table called "Reply URL". The project demonstrates how to interact with APIs in Python using a minimal amount of code and provides the reader with a foundation for building custom dashboard projects.
Jul 10, 2020 2,460 words in the original blog post.
BizHawk is a multi-system emulator that allows developers to write Lua scripts for various purposes, including video game development. The emulator provides tools such as the hex editor and event module, which can be used to interact with games' memory and register functions to events. With these features, developers can create scripts that manipulate games' behavior, such as reading from and writing to memory, controlling controller inputs, and even creating custom level completion scripts. BizHawk's Lua API offers a range of possibilities for developers looking to explore the world of video game development with Lua scripting.
Jul 10, 2020 1,668 words in the original blog post.
The Voice Diagnostics Web App is a new tool designed to simplify checking for browser calling readiness and diagnosing network related issues in VoIP services, particularly those using Twilio Programmable Voice. The app is an open-source ReactJS application that tests browser compatibility as well as network bandwidth and connectivity, providing detailed results and warnings to help identify underlying issues. It includes features such as support for testing multiple edge locations, tabulation of results, detection of TURN requirements, and easy sharing of JSON formatted test reports. The Voice Diagnostics Web App is available in beta and can be deployed using Twilio's serverless platform. Additionally, the RTC Diagnostics SDK provides classes to test bitrate, microphone, and speakers, as well as a new function called `Device.testPreflight` that places a loopback call to analyze network connectivity and audio quality.
Jul 09, 2020 1,616 words in the original blog post.
Mobile browsers pose unique challenges for video communication web apps, including issues with camera and microphone access, audio handling, and browser support. To overcome these obstacles, developers should perform pre-call tests, notify participants when camera access is lost, ensure the microphone is working at all times, provide camera previews, and utilize best practices such as microphone and speaker checks. By following these guidelines, developers can deliver great video experiences in mobile browsers and avoid common pitfalls. The Twilio Video team has documented these best practices and provides updated code samples to help developers get started with implementing them.
Jul 09, 2020 635 words in the original blog post.
Twilio and Electric Imp have formed a partnership to solve IoT challenges by combining reliable global connectivity with a mature application platform, enabling developers to build solutions in less time and deploy them worldwide. The partnership brings together two developer-centric companies, both of which have grown their businesses by empowering developers to experiment with new applications. The combined offering provides managed security, easy fail-safe OTA updates, built-in power management, cloud agents, and a wide range of I/O, while also reducing cost and increasing design freedom. A new generation imp, the imp006, is being unveiled, featuring a secure MCU placed directly on the product's PCB, connected to any combination of pre-approved cellular or WiFi radios, significantly reducing cost and increasing design freedom. The partnership aims to enable the creation of thousands of new IoT products and services, while also continuing innovation in the field of IoT.
Jul 09, 2020 840 words in the original blog post.
A recent blog post by Andrew Milner explains how to use Twilio Assets and Twilio Studio to build a simple Interactive Voice Response (IVR) menu and podcast selector without needing any programming knowledge. The author starts with the basics, such as setting up a free Twilio account and phone number, and then guides the reader through uploading prerecorded messages and podcasts to Twilio Assets. Next, they show how to create a Studio flow using a visual interface, adding widgets for greeting, menu options, recording selection, and playback. The author emphasizes that this process is straightforward and easy to maintain, allowing users to build and adapt their IVR system as needed without writing code. After publishing the flow, the user can test it by dialing their Twilio number, making sure it works correctly with various keys and selections. The post concludes by encouraging readers to explore more possibilities with Twilio Studio, such as adding helpful information or frequently asked questions, sub-menus, or voicemail services.
Jul 08, 2020 3,582 words in the original blog post.
Creating an email-to-SMS gateway can be achieved by combining Twilio SendGrid with AWS Lambda, allowing for easy integration of messaging services into applications without the need to maintain a server. The process involves gathering necessary account information, downloading sample code, uploading it to AWS Lambda, setting up API Gateway and environment variables, and configuring Twilio SendGrid's Inbound Parse feature to trigger HTTP POST requests to the destination URL, which then triggers the Lambda function to generate an outbound SMS using the Twilio Helper Library. With this setup, developers can create a serverless solution for forwarding incoming emails to SMS, with potential enhancements including domain validation, response handling, and support for predefined recipient groups.
Jul 07, 2020 1,154 words in the original blog post.
This reference app, built in ReactJS for the Web, is a fully functional voice notification system that can be deployed to Heroku in minutes, allowing developers to create flexible solutions that scale to accommodate high-volumes or new regions. The application enables users to send voice notifications to hundreds of recipients in three steps, with features such as broadcast capabilities, recipient validation, and text-to-speech functionality. To get started, developers need to sign up for a Twilio account, deploy the app, and launch it using Heroku. The open-source reference app aims to accelerate development and foster Programmable Voice feature discovery, providing a comprehensive demonstration of its features.
Jul 07, 2020 879 words in the original blog post.
You can now build a passcode protected conference line with Twilio and Ruby on Rails. To do this, you need to install the necessary dependencies, including Ruby and Bundler, a Twilio account, a Twilio phone number that can receive incoming calls, and ngrok for testing webhooks. You then start the server and make a POST request to the existing conference call webhook endpoint to test it working. Next, you add new actions to the controller to welcome the user and ask them for the code, and another action to check the digits against a code and decide whether the caller can join the conference or not. You also need to add routes for the two new actions in the controller. Finally, you test the application by starting it with a PIN in the environment, using ngrok to open a tunnel and give you a public URL, and setting up your Twilio console to use this URL as the incoming call webhook. When you dial your phone number, you will be greeted with your welcome message, enter the incorrect code and you will be denied access, but enter the correct code and you will be dropped into a conference call.
Jul 07, 2020 1,330 words in the original blog post.
Cron is a utility used to schedule time-based jobs, enabling them to run automatically at a certain date or time. Cron expressions are strings used to define the schedule upon which a task should be executed. There are various ways to use cron to get daily tasks up and running, including running locally with crontab on Unix systems, using Windows Scheduled Tasks, cloud servers such as AWS EC2, Google's Compute Engine, DigitalOcean Droplets, Azure Virtual Machines, and other infrastructure services, cloud functions like Azure Timer Triggered Functions, AWS Lambda with CloudWatch, and cloud triggers. Each method has its pros and cons, and developers will have different preferences based on their needs.
Jul 06, 2020 1,329 words in the original blog post.
Bill Edwards, Head of Technology at Nye Health, a telemedicine startup, has an unconventional career path that took him from studying mechanical engineering and computational fluid dynamics to becoming a C++ developer and eventually finding passion in data engineering. He worked on radar algorithms for fighter jets before joining the startup world, where he discovered his love for data engineering and optimized workflows for Nye Health's telemedicine platform using Twilio. The company adapted its technology during the pandemic to help social distancing measures operate effectively, providing a seamless experience for patients and clinicians alike. Edwards' next goal is to add additional features to the voice and video product to improve the patient-clinician relationship.
Jul 06, 2020 886 words in the original blog post.
The blog post by Andrej Saweljew provides a detailed guide on extending the integration between Twilio Flex and Salesforce using Flex's programmability features. It describes the benefits of the native Flex Salesforce CTI integration, such as omnichannel communication and seamless synchronization between the two platforms, and offers a step-by-step tutorial on how to expand its capabilities with custom plugins. The process involves setting up a developer environment, creating custom plugins with the Twilio Plugin Builder, and utilizing Salesforce's OpenCTI framework to enable advanced functionalities like automatic case creation, contact fetching, and event logging. The post emphasizes the importance of careful integration to avoid conflicts with existing plugins and suggests utilizing asynchronous functions and helper scripts for loading necessary SDKs. The guide concludes with the deployment of the plugin and encourages readers to explore further customization possibilities, providing contact information for collaboration with the authors.
Jul 06, 2020 2,027 words in the original blog post.
Twilio is a service that allows developers to control and interact with phone calls programmatically. This article shows how to use Twilio, Java, and Google Sheets to take control of incoming calls, screen them, and treat them differently based on who's calling. The code uses Spring Boot as the web application framework and handles incoming calls by fetching caller information from a Google Sheet, looking up an action in the sheet, and generating TwiML (Twilio Markup Language) that determines how to handle the call. The article provides step-by-step instructions for setting up the project, creating a Google Sheet, enabling Google Sheets API access, testing the setup, and using a local app for Twilio webhooks.
Jul 03, 2020 1,633 words in the original blog post.
The Twilio Serverless Toolkit is a suite of command line tooling designed to help developers create and deploy functions and assets to Twilio Runtime. It provides a range of features, including pre-built functions, the ability to start or add to projects using templates, changing the deploy directory to accommodate different application structures, building serverless projects in TypeScript, fetching or tailing function logs, and testing projects with ngrok. These features aim to make it easier for developers to create and deploy Twilio applications, improving their workflow and productivity.
Jul 01, 2020 1,058 words in the original blog post.
The async and await keywords in JavaScript provide a convenient way to write asynchronous code that is easier to read and maintain. They allow developers to use synchronous syntax while still taking advantage of the benefits of asynchronous programming, such as non-blocking I/O operations and efficient handling of concurrent tasks. The async keyword wraps a function body in a Promise, which returns a value asynchronously. The await keyword pauses the execution of an async function until a Promise is resolved or rejected. This allows developers to write code that is easier to read and understand, while still providing the benefits of asynchronous programming. By using async and await, developers can create more efficient and scalable applications with better performance and responsiveness.
Jul 01, 2020 4,123 words in the original blog post.
A WhatsApp chatbot was built using Python, Flask, and the Twilio API to help improve English vocabulary. The bot responds to user queries with word definitions, synonyms, antonyms, and examples, utilizing data from Merriam-Webster's Thesaurus API. The chatbot is integrated with the Twilio API for WhatsApp, allowing users to send messages to the bot via the messaging app. With a virtual environment created using Python 3.6 or newer, Flask, ngrok, and a smartphone with an active phone number, users can test and deploy the chatbot service, which is accessible over the web through a temporary public URL provided by ngrok.
Jul 01, 2020 3,062 words in the original blog post.
Nonprofits attend Twilio's developer conference, SIGNAL, to learn from leading businesses and nonprofits on topics such as constituent engagement, data security, and ethical AI, with over 70 sessions including presentations from leading nonprofits. The event also provides opportunities for attendees to accelerate their product development through hands-on training and one-to-one consulting sessions with Twilio experts. Additionally, nonprofits can connect with Twilio's customer success team to discuss communications challenges and how the company can solve them together. Two passes are available: a free Explorer pass offering access to keynotes and new product updates, and an All Access pass providing full conference attendance, hands-on training, and one-to-one consulting sessions.
Jul 01, 2020 643 words in the original blog post.
The article explains how to send a vCard using Python and Twilio Programmable SMS. To create a vCard, one can use the vobject library in Python and add properties such as name, phone number, birthday, address, and email. The vCard file is then served publicly using ngrok or another hosting solution like AWS S3 or Google Cloud's Cloud Storage. Finally, the vCard file is sent as an MMS via Twilio's API, with the recipient able to import the contact information into their address book.
Jul 01, 2020 915 words in the original blog post.
Gatsby is a hybrid framework that bridges the gap between static site generators and traditional web apps, offering the best of both worlds. To add an email contact form to a Gatsby website, developers can create a new file called `contactForm.js` in the `src/components` folder, which contains a React component that manages the form data as state. The form is then added to the component tree in `pages/index.js`, and a serverless function is created using Twilio Functions to handle the email sending process. The function uses SendGrid's API to send emails, and the `contactForm` component makes a fetch request to the serverless function when the submit button is clicked. With this setup, developers can create an email contact form with Gatsby and React that sends emails using SendGrid's API.
Jul 01, 2020 1,603 words in the original blog post.
To send an SMS in Python using Twilio, you need to have a Twilio account and a phone number with SMS capabilities. You also need to install the twilio library and create a script that uses your Twilio credentials to send a message to a verified phone number. The process involves creating a TwilioRestClient object using your account SID and authentication token, and then using this client to create a new message request to the Twilio API. Note that Twilio's free account has limitations on sending SMS messages to unverified numbers. Once you have set up your script, you can run it in Python and receive an SMS with a pre-defined body.
Jul 01, 2020 407 words in the original blog post.
The Twilio Developer Webinars provide comprehensive resources for developers, including API reference documentation, SDKs, and sample apps, to help them build effective communication and digital engagement experiences. The webinars cover a range of topics, from APIs to SDKs, with the goal of improving developer skills and knowledge. Additionally, Twilio offers a Resource Center with ebooks, industry reports, and webinars on customer engagement, as well as its developer community hub, Ahoy, which features best practices, code samples, and inspiration for building communications experiences.
Jul 01, 2020 80 words in the original blog post.