Curtis Swartzentruber, Author at Perficient Blogs https://blogs.perficient.com/author/cswartzentruber/ Expert Digital Insights Wed, 03 Nov 2021 16:55:33 +0000 en-US hourly 1 https://blogs.perficient.com/files/favicon-194x194-1-150x150.png Curtis Swartzentruber, Author at Perficient Blogs https://blogs.perficient.com/author/cswartzentruber/ 32 32 30508587 Introducing Paste – A New Design System for Twilio https://blogs.perficient.com/2021/11/03/introducing-paste-a-new-design-system-for-twilio/ https://blogs.perficient.com/2021/11/03/introducing-paste-a-new-design-system-for-twilio/#respond Wed, 03 Nov 2021 16:47:04 +0000 https://blogs.perficient.com/?p=299840

Recently our Twilio delivery team has been looking at Paste, the new design system created by Twilio for in-house use. The Signal conference offered a great overview of Paste – How we built a unified, inclusive design system to nurture Twilio’s UX. If you have a Signal pass, I encourage you to watch it on demand.

Led by Twilions Aayush Iyer (Sr. Manager, Design Systems) and Jade Pennig (Engineering Manager, Design Systems), the discussion gave an intriguing background on how Paste came about and the problems it solves.

The Need Described

As Twilio has grown, the need for consistent UI/UX across the product space has grown along with it. Key drivers for the evolution of Paste include:

  • The Twilio Console is used to administer, configure and support all of Twilio’s services. UI design for the Console has historically been a joint effort among various product groups. Increasingly, it has been suffering from inconsistency, lack of repeatable and re-usable patterns and components and difficulty in maintenance. Twilio took a giant step to address these concerns earlier this year with an overall redesign, in part using Paste.
  • Acquisitions (SendGrid, Segment, etc.) bring their own design language, patterns and approaches.
  • The Flex UI is a huge jump forward in customization for contact center agents and supervisors. But it still has limitations and inconsistencies in how, and to what degree, components can be re-used and styled.

The Signal session provided examples of these inconsistencies – many of which I’ve personally experienced. These include inconsistent actions and patterns for “copy to clipboard”, variations in the way alerts and messages are surfaced to the UI, and different user interfaces and approaches for filtering data. These inconsistencies increase cognitive load. They also fail to provide an intuitive and clear way to learn to use the UI based on established patterns.

Filter Inconsistent

With the high velocity of product development, it is difficult to address accessibility concerns. As mentioned in the session, “Prioritizing accessibility is hard when you are moving fast.”

Examples:

  • contrast ratio issues
  • actions not accessible to keyboard-only users
  • an interesting one I didn’t realize: ALL CAPS titles are typically interpreted by screen readers as acronyms

Use Cases In Our Delivery Practice

As a Twilio partner, Perficient’s engineers often spend time building plug-ins for Flex. We may also customize customer-facing UIs like web chat. Lately we’ve also seen an increase in solutions using a broader suite of Twilio services outside Flex. Applications using Twilio Video, Programmable Voice and Programmable Messaging may require UI elements to be built, whether customer-facing or simply to allow for administration.

We do have some experienced front-end engineers on our team. But more typically, it’s the old problem of developers, not front-end designers, trying to compose UI. As I’ve said to a few people, “I’m not a front-end UI designer, but I did stay at a Holiday Inn Express last night.” Kudos to the 5 of you who will get that joke.

The point is, I’m happy for anything that helps our engineers build UIs that come together quickly and consistently.

How the Paste Design System Helps

Paste helps by providing reasonable defaults, a great box model, consistent styling approaches and an opinionated way of styling React components. Often when customizing Twilio interfaces, we want a button or other element to fit the design language used by other Twilio products. It generally requires trial and error, and never seems to be exactly right.

Due to the original design of Flex UI version 1.x, we’ve been a bit locked into older versions of things. For instance, if you want to use MUI (Material UI) you have to use the version Flex 1.x is using, which is a version 3.x. MUI is now on version 5. Much of the interesting work, improvements, new patterns and modern components have moved on.

Twilio added support for newer versions of React over the past year. Prior to this, Flex UI was pinned to an older version of React. This created some limitations in using newer options and approaches around styling libraries. We’re hoping based on some of the demos we saw during Signal that aspects of the Paste design system will begin to make their way into future versions of Flex as well.

Next Steps

Paste is available to use now in your own front-end development. It uses a theme-first approach. Initial themes are based on the recent Twilio Console redesign and SendGrid design language. A key feature of Paste is transparency. All roadmaps are public and a collaborative approach to changes is prioritized.

Coming soon:

  • Color Modes (the always popular Dark Mode for instance)
  • the ability to do extensive customization on components to fit your unique needs
  • a WYSIWYG theme designer

If this is all interesting to you and you’d like to learn more, read some additional articles from the Paste team. We think this library is going to get a lot more attention over the next year, so it’s a great time to start getting familiar with it.

 

 

 

 

 

]]>
https://blogs.perficient.com/2021/11/03/introducing-paste-a-new-design-system-for-twilio/feed/ 0 299840
Signal 2021 Day 1: Twilio Engage, Intelligence for Voice, Flex One and more https://blogs.perficient.com/2021/10/21/signal-2021-day-1-twilio-engage-intelligence-for-voice-flex-one-and-more/ https://blogs.perficient.com/2021/10/21/signal-2021-day-1-twilio-engage-intelligence-for-voice-flex-one-and-more/#respond Thu, 21 Oct 2021 14:25:11 +0000 https://blogs.perficient.com/?p=299248

As expected, there was no shortage of announcements on the first day of Signal, mostly during the keynote. We’ll be able to dig deeper into the details on some of these in breakout sessions, but there is certainly some interesting stuff to talk about.

Twilio Engage represents the first over-arching consolidation of services into a Twilio customer engagement platform. For anyone paying attention, it’s been obvious from the acquisitions of SendGrid and then Segment that Twilio was heading in this direction. It’s a natural play, and one that Twilio has been foreshadowing as far back as Signal 2019 when Jeff Lawson talked about the difference between notifications and conversations. Already a lot of chatter from Forbes, TechCrunch and others.

It’s all about delighting customers with every type of interaction and inviting them to engage in conversations, feedback and high-touch experiences every step of the way. Twilio’s communication platforms already form the basis for much of the customer communication backbone, so now it’s just a matter of fitting the pieces together. Engage represents a way of framing the “how to” of doing this as well as providing the platform – always programmable, as is the Twilio way.

For me, the biggest wow factor from a demo and new possibilities standpoint is Twilio Intelligence for Voice. Al Cook has been leading the effort to build this over the past few years. You might remember him from a little product called Twilio Flex. Lots to dig into here, but generally this is an application of machine learning to pull actionable insights out of your voice calls. Al calls it “turning voice into data and data into meaning”.

I think this is a smart play in a couple of ways. One, in a market somewhat overloaded with various AI solutions, Twilio decided to double down on their original powerhouse product, Programmable Voice. It might have been obvious to do yet another chatbot/virtual agent solution, but this product harnesses their unique strengths and plays to the existing customer base. Two, it immediately has impacts for Twilio Flex, both in terms of the intelligence piece itself and a native transcriptions engine that is pretty great. Three, with voice channel usage changing and customers preferring digital in a lot of ways, many of the highest impact interactions with customers take place over voice. This provides a way of harnessing all the data in those conversations to improve CSAT, conversions and agent efficiency.

I could see many customers looking at the transcriptions piece alone as we are getting a lot of interest in that area. It will be interesting to see how this gets priced out and sold, particularly the transcriptions API side of it.

When Conversations API was announced , the first question for many of us was, “How does this fit into Flex?” The answers are starting to come in the form of Flex One. Coming in the first part of 2022 and in private pilots now, this is one of the most significant enhancements to the platform since its initial launch. There is significant effort to rework digital channels from the current approach, and there will be some migration details to work out for existing customers. There are several advantages to using Conversations over Programmable Chat/Messaging around how channels are managed and orchestrated. Functionality that currently can be complex to build mostly come “for free” in Conversations – things like channel-switching, ease of managing participants even across channels, conversation history and so on. I haven’t seen much yet around the new Content API, but this should allow better consistency across channels and a bit of decoupling between message and platform.

One benefit of this change is it will finally allow for a native email channel in Flex, and we got our first look at the UI for it in some demos. It’s similar to some of the work Perficient has done to try to map email to Programmable Chat. Email has been more complicated than other text-based or digital channels because of things like multiple recipients, threading, more complicated attachment management and user expectations around email composition and management. When you are used to Gmail or other mature email platforms, you forget how much functionality is now built into those systems. And now users, in this case agents, have higher expectations. It will be interesting to see how/if Twilio addresses this. Newer services and platforms like Conversations API, Content API and others make an email channel option a bit less challenging as the feature expectations map much better.

These are some key things I’m excited about, but some other great announcements as well include: Twilio Messaging X, Regional Twilio and some great initiatives around COVID vaccination efforts globally. There is still a lot to dig in to here. The Engage platform alone opens up a lot of new opportunity and will take some time to understand. As a partner, it’s exciting to see all the possibilities opened up with these new products. Many of them are direct answers to requests we’ve been hearing from customers for quite some time. Let’s build some exciting new customer journeys together!

 

]]>
https://blogs.perficient.com/2021/10/21/signal-2021-day-1-twilio-engage-intelligence-for-voice-flex-one-and-more/feed/ 0 299248
Signal 2020: Thoughts and Takeaways https://blogs.perficient.com/2020/10/12/signal-2020-thoughts-and-takeaways/ https://blogs.perficient.com/2020/10/12/signal-2020-thoughts-and-takeaways/#respond Mon, 12 Oct 2020 15:57:32 +0000 https://blogs.perficient.com/?p=282105

It’s the week after Signal 2020, Twilio’s annual developer conference. I wanted to recap some key announcements and impressions from various sessions and product news. After several attempts to schedule due to the pandemic, Signal re-invented itself this year as a completely virtual experience. I was fortunately enough to be asked to speak at a session, so it was interesting to experience things from that perspective as well as attending sessions myself. My team also assisted Twilio in some aspects of Signal Concierge, the platform built on Twilio services to support the entire experience. All in all it was very fulfilling and interesting and I was happy to participate.

As usual, there were a number of highlights and announcements during the conference and leading up to it. In some cases, features that we’ve been evaluating in pilot or beta configurations have now gone primetime and are ready for wider usage. In other cases, some exciting new possibilities were unveiled that open up new and unique use cases, many of which customers have been asking about.

Flex Platform

Plugins API

The new Plugins API is now available for use in Beta. This opens up better CI/CD tooling options as well as better administration from within a new Flex UI administrative plug-in. You can group plugins into a release, along with other assets and version them. After deployment, the new version can be released to users and can also be rolled back directly in the Flex UI Plugin Manager. This allows separation between the development and deployment of plugins and contact center administration to determine which plugins and versions are in use. From a development standpoint, the Plugins API is integrated into the Twilio CLI for common tooling, scripting and CI/CD options. The new Plugin Manager requires Flex UI 1.19 or greater. There is a migration guide to follow to move from previous options, such as create-flex-plugin, etc.

Studio Subflows

We’ve been asking for this functionality pretty much since Flex was originally released. It’s fairly common to have functionality shared across multiple IVR flows. We often see patterns such as user verification, off hours, payment/PCI compliant functionality or other repeated logic where it makes sense to re-use behavior. Subflows allow you to pass in necessary context from one Studio Flow into another Studio Flow and then pass values back to the calling Flow. Keep in mind not all context is passed automatically, so you need to choose what parameters you want to go in and what data you need returned to continue on in the calling Flow.

General Platform Improvements

Event Streams

Being able to set a webhook from TaskRouter and other services to sink events opens up a number of use cases. It’s rare we work on a customer engagement where these webhooks aren’t used to enable some aspect of requirements. Because multiple use cases can need access to these events, managing access appropriately with proper scalability can become challenging. Event Streams allows you to define your own set of events from Voice, SMS and TaskRouter and stream them to an endpoint. Due to customer demand, the initial endpoint will be AWS Kinesis, but other endpoints will be coming. If you’ve been waiting for more options around eventing, you can sign up for the private Beta here.  We’ve signed up and are anxiously waiting to give this a test run.

Contacts API

This is still a private pilot, so not a whole lot of public information or documentation yet. This API-driven data store will hold a common, GDPR-compliant single contact source for a customer. Think of this as a lightweight way to tie various customer channel interactions together, for instance in situations where agents are not using a CRM or other customer source of truth in an internal system.

Frontline

This is a brand new service just announced that enables “front-line” employees in your organization to communicate with customers in a structured way. It utilizes Twilio communications APIs such as the Conversations API and supports multiple digital channels including SMS and WhatsApp. A common use case would be a retail store employee who is helping a customer find a product. Retail employees often develop relationships with repeat customers, sometimes assisting them using personal devices. Frontline will allow these types of interactions to be pulled into central management using Twilio numbers for retention, compliance and reporting purposes. Part of the Frontline platform includes native applications for iOS and Android, which has been a common ask from customers for these types of use cases. We’ve personally had multiple customers inquire about options to support this functionality, so we’re excited to see how this product develops.

Conversations API

Conversations API was introduced last year at Signal and this year the big announcement is the platform is going GA. This platform continues to evolve in capabilities, evidenced in part by the announcement of Frontline. It will only get more interesting as the foundation of messaging for Flex starts to move over to this paradigm. The good news is many of the foundational APIs and concepts are similar to Programmable Chat. You can get a sense of that here in the docs, but keep in mind this won’t work with Flex channels yet.

Some newer features include delivery receipts and States and Timers. Most people understand delivery receipts, but the States and Timers features are something worth digging into a bit more. As companies start utilizing messaging or digital channels for more customer engagement, you will quickly learn some concepts are different from voice. Managing agent capacity and focus and how “active” a conversation is at a given time look a lot different. If you want to dig into more details around this, see my series on text-based channels that is still pretty relevant to this topic. States and Timers give you programmatic ways to move conversations between active and inactive states without closing them. You can set up configured timers to determine what periods of inactivity trigger certain states. It’s a very useful feature that maps more closely to many real-world use cases we are seeing.

Mobile SDKs are now using native networking stacks on mobile, resulting in much smaller sizes. Twilio is seeing Final Application Size reduced up to 30%.

Group Texting or Group MMS is now available in US and Canada. It supports up to 4 participants and is fully supported in the Conversations API. It’s currently in Public Beta, so you can try this out now. Keep in mind this doesn’t need to be all MMS participants, you can have a mix of MMS, chat and WhatsApp for instance.

Programmable Video

A free tier was announced for 1-to-1 interactions called Twilio Video WebRTC Go. This includes reference apps for iOS, Android and React, video troubleshooting and diagnostics and a media relay allowance that should support up to 100,000 participant minutes per month. This should help to drive even more usage of the platform, which has seen significant growth in 2020 due to COVID use cases and WFH situations. Signal 2020 had a number of video-focused sessions and the Concierge platform used it for certain use cases as well. Perficient has been working with Programmable Video quite a bit, so we would love to discuss how to add video to your customer engagement strategy.

Other

Marketing and email continued to see a large presence in sessions. We are seeing a lot of interest in figuring out best practices to turning more of these campaigns or outbound only use cases into conversations. It’s time to be creative in finding flexible ways for customers to engage back to you, whether it be conversational AI and chatbots, speaking to an agent, interacting with self-service options for scheduling and feedback or escalating to a video interaction.

IOT was also a focus, with the big announcement being the new Microvisor. The platform aims to take even more of the complexity out of build iOT applications. It does this by tackling the security layer, add abstractions on the network layer, enabling remote debugging and providing secure boot, among other features. To put it another way, Microvisor abstracts away a lot of the plumbing concerns that vary from device to device, allowing you to focus more on the specific functionality you are trying to enable.

Developer Mode was a huge hit was the developers attending the conference. Developers could follow online with live sessions and immediately jump to demos, code samples and other contextual information. Available inside any common developer Terminal, this Twilio CLI plug-in was available to any ticket holder, including the free tier. For more information on how this was built, including how React was used in a very creative way, check out Dominik Kundel’s breakdown.

Conclusion

Signal 2020 saw more attendees than ever, due to the ease of attending virtually and so much of the content being available for free. Twilio has seen a lot of growth this year and the conference provided a nice recap of where that growth is occurring, the types of challenges developers are solving using the platform and focuses moving forward.

We’re still in the middle of a huge amount of innovation in customer engagement and communication. It was fantastic to see all of the excitement around all the ways the overall platform is evolving. If any of these announcements might provide an answer to your strategic goals for 2021, let’s talk about it. We look forward to partnering with you and Twilio to unlock the art of the possible as you continue to learn how to best engage and delight your customers.

 

 

 

]]>
https://blogs.perficient.com/2020/10/12/signal-2020-thoughts-and-takeaways/feed/ 0 282105
Driving Contact Center Innovation in Uncertain Times https://blogs.perficient.com/2020/08/31/driving-contact-center-innovation-in-uncertain-times/ https://blogs.perficient.com/2020/08/31/driving-contact-center-innovation-in-uncertain-times/#respond Mon, 31 Aug 2020 15:22:55 +0000 https://blogs.perficient.com/?p=277293

Times of upheaval like this bring constant challenges that often have to be dealt with in a timely fashion. It’s also a great time to think about innovation.

You probably see the pain points for both your contact center and your customers more clearly than ever. You can find plenty of blogs and articles discussing all the ways COVID has caused disruption in the customer engagement space: long waits, remote agents, overwhelmed capacity, and on-premise limitations, to name a few.

I won’t go into all the details of that again here. I would like to talk about how Twilio Flex and other services from Twilio can provide some straightforward ways not only to manage these immediate concerns but also to drive innovations in how you interact with your customers.

By now, most contact center managers have likely had enough time to think about what they might want to change. In many cases, changes and improvements may have already been identified but put off due to schedules, contracts, budgets, and other considerations. In either case, the pandemic has probably put gaps and areas for improvement in your current solutions in stark contrast.

Although it’s still unclear the depth and length of the pandemic, you’ve probably already been trying some things, changed some things, and maybe lamented not addressing certain things sooner. We hear this feedback from many existing customers and prospects we’ve been talking with.

Maybe you’ve tried changing some processes and had enough success you would like to dig in further. Perhaps your agents are starting to learn how to work effectively from their homes. Did you have to pivot from a mostly voice contact center to other channels, or you are at least considering it? We can help guide you through all this.

Experiment

I would argue there has never been a better time to experiment in ways to engage with your customers in more efficient, productive, and meaningful ways. Customers are as accepting of new ways to entertain as they have ever been. We saw a lot of evidence of this pre-COVID. The pandemic has just accelerated it. Here are some examples:

  • Call Deflection Strategies
  • Self-service options
  • Additional channels or a full omnichannel strategy
  • Chatbots or other AI and natural language processing approaches
  • Conversations, not notifications

Brainstorming

Let’s get into some specific ideas and scenarios on some of these approaches.

Self-Service

Call deflection and self-service are increasingly important, given longer wait times and more customers looking for similar information due to disruptions in everyday business operations. Twilio Flex offers a wide variety of ways to approach call deflection, and all of them are likely to result in higher customer satisfaction.

Self-service can be a sub-set of call deflection. For standard requests and questions, you can often automate the process of connecting customers with the information they need. For simple things like hours of operation, COVID protocols for in-person interactions, or the status of a request, a few questions in a Studio IVR flow can pinpoint the customer’s intent in a relatively straightforward manner. From there, think about natural language processing or chatbots for more advanced scenarios.

If you’ve wanted to give those a try, identify one or two common customer requests and think about how you can automate the answer. Speaking to a live agent still remains an option, and Twilio Flex makes continuing the interaction this way easy to accommodate. If self-service works, you’ve helped them get their answer quickly and decreased wait times and capacity needs in your call center. Contrary to popular belief, many customers are primarily interested in getting their questions or issue addressed quickly and see self-service or AI as an innovative way to accomplish that. A recent study addresses the new reality of customer expectations.

Callbacks

Callbacks are another great way to improve customer experience during periods of high usage. You can provide real-time feedback to the customer on the current status and give them options.

If you’ve been interested in adding callbacks to your voice call center, it’s a great time to try it. Most folks are home or reachable to a greater extent than average. You are likely to have a high degree of success in connecting with them. They will appreciate the flexibility. Nobody likes waiting on hold for long periods. Customers are likely trying to get their own work done while working from home. They may be juggling childcare or education tasks as well.

Channel Switching

With omnichannel, there are exciting variations on callbacks to consider as well. For digital channels on mobile, offer an opportunity to switch to a text-based interaction within your mobile app. This can show an improvement in the experience of business started on the SMS channel. If you are using Flex, you probably already have some customer context. All messaging interactions, including SMS, typically flow through a Studio Flow (Twilio’s visual IVR) first. It can be closer to a verified exchange, even if not fully authenticated. If your customers go through some sort of an identity verification process in the IVR, you still have that context if you switch channels.

Depending on what they are calling about, maybe self-service is an option. Handing off their query to a virtual agent and using some AI techniques may be more efficient than talking to a live agent. This approach allows your agents to focus more time on high-value interactions instead of FAQs. Agents frequently express frustration with spending much of their time repeating mundane tasks, once again highlighted in this study from 2019.

How Do I Get Started

Maybe this all sounds interesting, but you still aren’t sure where to get started. Possibly you have a limited budget due to current conditions and need a high ROI, value-driven option to test the waters.

We would love to talk to you and help you visualize some possibilities. One of the favorite parts of my job is dreaming about the “art of the possible” with customers and potential customers. Our team’s experience around customer engagement and contact center can help you innovate, starting in small, impactful ways.

Customers are often surprised at how quickly they can experiment with new user experiences. We’ve seen a lot of recent interest in Twilio’s Programmable Video platform. Programmable Video makes it possible to create one-on-one or group video interactions between agents and customers without a lot of custom development. Video interactions can piggyback off existing channels you already have in place.

Also, the Twilio Flex Boost program still has lots of incentives to help organizations that have been negatively impacted by COVID. If you have a public benefit use case or a non-profit, the options are even more attractive.

Strategy

Maybe you want to start with some strategy sessions. The pandemic has brought long-standing issues in contact centers into focus. Many companies realize they can no longer put off necessary improvements. But migrating your contact center can be a daunting task.

Customer engagement can often touch every part of how you do business. There may be anxiety about already being behind on concepts like omnichannel, chatbots, AI, and machine learning. Our Envision Strategy Process can help you objectively identify your most key use cases and provide insights on the best approaches and technology to solve them.

We often see customers in reactive mode, trying to quickly solve a pressing problem. While understandable, it’s helpful to take a more high-level view. We can help solve your short-term, critical issues. But it’s also a great time to think about where you want your contact center to be in a year or two years or five years. Planning for long-term needs pays dividends down the road. This is one of the reasons we are strong proponents of the Twilio Flex platform. It allows organizations to quickly solve short-term needs iteratively. At the same time, you are not locked into (or out of) adding new features or taking an alternative approach down the road.

We hope you are as excited about the future of the contact center as we are. It’s a great time to build and dream. Let’s do it together.

]]>
https://blogs.perficient.com/2020/08/31/driving-contact-center-innovation-in-uncertain-times/feed/ 0 277293
Curbside Pickup and How It Impacts Your Retail Strategy https://blogs.perficient.com/2020/06/17/curbside-pickup-and-how-it-impacts-your-retail-strategy/ https://blogs.perficient.com/2020/06/17/curbside-pickup-and-how-it-impacts-your-retail-strategy/#comments Wed, 17 Jun 2020 13:30:56 +0000 https://blogs.perficient.com/?p=275880

Before the COVID-19 pandemic, retailers were already seeing enthusiasm from customers for more convenient ways to interact during the purchasing process. While some retailers have offered limited order pickup options for some time, this was often limited to certain verticals or a small sub-set of products. In the past few years, retail innovations such as order pickup, delivery services, and same-day delivery have grown in popularity. Order pickup provides an additional level of convenience to the customer. They can schedule based on their own time constraints and spend little time waiting in lines or finding products in crowded retail centers.

The COVID pandemic drastically accelerated the momentum for convenient shopping experiences. In a matter of weeks, many retailers found that curbside pickup was the ONLY option available if they wanted to remain open. Dictated by local government guidance, social distancing concerns and employee safety, many retailers were left scrambling to enable curbside pickup.

The Challenges

For retailers who did not already have a curbside pickup solution in place, there have been a number of challenges:

  • Integrating the process with existing order management systems
  • Contact-less communication options between store staff and customers
  • Voice lines tied up with customers calling to check in when they arrive
  • Re-configuring staffing to fit new tasks and responsibilities
  • Tracking progress of hand-off of order to customer

The Market

Even before the pandemic, the curbside pickup or “click and collect” market was growing significantly. Prior to lock-downs and store closures driven by COVID-19, the forecast in February indicated a growth rate of nearly 40%. Now the forecasts suggests a 60% growth rate in 2020. These predictions show this retail method was already a significant trend that COVID-19 amplified.

Customers are finding a lot to like about the model. Now it is growing to include local businesses and verticals outside the early adopter space occupied by big box stores and grocery. Disruptions in logistics and shipping have made traditional online shopping less predictable, with lost orders, cancellations, shipping delays and other issues. A curbside delivery option provides many of the benefits and “perks” of online shopping without these issues, restoring confidence to consumers and improving customer satisfaction.

Solutions from Perficient

Perficient has long had a significant presence in the retail space, with verticals, strategists and expertise in a variety of order management, customer relationship, marketing and other platforms. When this is combined with our expertise in customer engagement solutions, compelling solutions open up in the intersection of these various platforms. Our partnership with Twilio provides a variety of communication channels to meet challenges associated with curbside pickup. These channels can optimize customer engagement in additional ways, such as surveys, up-selling, or sales promotions and coupons to drive more sales.

We are now offering accelerator packages built on Twilio to help businesses

  • Quickly enable curbside delivery for retailers still struggling to adapt to the new normal
  • Quickly iterate on customized interactions appropriate to their business model
  • Move towards more sophisticated and fully-integrated solutions

Curbside Delivery Powered by Twilio

Our first approach uses Twilio Flex as the foundation, which provides a full customer engagement platform to further expand options. This solution is appropriate in cases where distribution is already driven from computer systems in the local store. Using the Flex agent console, a store worker can act as a dispatcher who hands out and tracks order fulfillment using the team of store employees.

Our second approach is more suited for a de-centralized approach where workers and supervisors facilitate curbside delivery using only their mobile devices. In this case, SMS is used to manage worker availability and assign/track order delivery tasks.

Both approaches use an SMS interaction from the customer to kick off the interaction. Upon a customer’s arrival, your business can immediately assign order fulfillment to a worker without needing a voice interaction. Alternately, additional information can be gathered from the customer to improve efficiency by quickly matching the waiting customer to their order. If any questions arise or the customer cannot be located quickly, a store employee and the customer can communicate directly over SMS.

Over time, these solutions become a core part of the overall retail platform, including full integration with existing order management systems, customer relationship management, marketing platforms and point-of-sale systems. We can help you determine priorities and the best approaches for your current state.

 

 

]]>
https://blogs.perficient.com/2020/06/17/curbside-pickup-and-how-it-impacts-your-retail-strategy/feed/ 1 275880
Internal Hackathon for COVID19 Response – Team Knights of the Roundtable https://blogs.perficient.com/2020/04/01/internal-hackathon-for-covid19-response-team-knights/ https://blogs.perficient.com/2020/04/01/internal-hackathon-for-covid19-response-team-knights/#respond Wed, 01 Apr 2020 21:08:20 +0000 https://blogs.perficient.com/?p=272480

Our Customer Engagement Solutions group at Perficient is focused on helping our customers improve communication and interactions with their customers. Through our partnerships with industry-leading communications frameworks, we enhance and implement various ways companies interact across multiple channels.

The COVID-19 pandemic has disrupted every part of our lives and the contact center space is no different. There are huge spikes in traffic to health care, financial and government customer service lines. Contact center agents are trying to figure out how to work from home. Legacy contact center systems requiring agents to be at an office desk to take voice calls have been rendered unusable for the time being. Long wait times have increased the need for self-service options, bot interactions for common questions and use of alternate channels.

In light of these issues, our team at Perficient spent the week of March 23rd on an internal hackathon. The goal was to generate various proof-of-concept projects to address some of these needs. We’ll highlight some of this work, both to provide ideas to the community and to show ways we can quickly scale up solutions to help your company in this time of crisis.

These blog posts will take the form of an interview with one of our internal hackathon teams.

Team Concept – What is the use case or problem you are attempting to address?

Team Knights of the Roundtable (Adam Hadlock, Soroush Ashrafi, Jameson Taylor): We approached this COVID challenge from a few different angles. At first we thought trying to create something to entertain quarantinees would be useful and fun. We also thought about solving small restaurant food ordering challenges and delivery using Twilio.

While both ideas were interesting and viable to build through Twilio, we ultimately settled on creating something that could address the two largest concerns of this pandemic.

  • The first concern we wanted to address (and probably the most important) is reducing the load on doctors.
  • The second concern is to help ease patients’ concerns about COVID-19.

We hoped to answer questions like “Should I leave the house to visit a doctor?” and “Do I have or am I at risk of getting COVID-19?” without a personal interaction with medical staff being involved unless deemed necessary.

Medical agent view

Who is the target company or organization for this solution?

Health care professionals such as hospital/medical clinic staff or family doctors.

Describe the services or components used in your solution at a high level?

Our solution allows a patient to contact the system via Web Chat, Voice, SMS or WhatsApp channels. Each channel presents a consistent step by step assessment to develop a level of risk “score”. We use this score to route the patient to auto responding prompts or to health care personnel skilled as Twilio Flex agents.

Medical agent view

We stayed inside the Twilio realm for all functionality, utilizing the omni-channel nature of the platform. Twilio Functions and Assets allowed us to omit usage of external cloud services such as Amazon Web Services (AWS). This provides a single configuration and deployment target, allowing target customers to spin up a solution quickly.

What challenges did you face in approaching this problem?

  • thinking through what patients might want to hear
  • determining what information doctors would need to make their decisions
  • adding multiple channels without creating additional architecture (single Studio Flow)
  • hosting a platform for doctor and patient to attend a video call together while maintaining security and compliance

Video option

Tell me about some enhancements or additional features you might add to your prototype

  • tiered support levels
  • triage Routing
  • AutoPilot Chat bot
  • video options for additional channels

Our Team

Customer engagement goes beyond customer service. Our team takes pride in our personal approach to the customer journey. We typically help enterprise clients transform and modernize their contact center with Twilio Flex, a programmable cloud contact center platform.

We have over 10 years of experience in delivering customer care solutions, including building, supporting, and deploying contact center solutions, and we consider it our personal responsibility to apply our expertise to helping our global community through the pandemic in any way we can.

]]>
https://blogs.perficient.com/2020/04/01/internal-hackathon-for-covid19-response-team-knights/feed/ 0 272480
Internal Hackathon for COVID19 Response – Team Quarantitans https://blogs.perficient.com/2020/03/30/internal-hackathon-for-covid19-response-team-quarantitans/ https://blogs.perficient.com/2020/03/30/internal-hackathon-for-covid19-response-team-quarantitans/#respond Mon, 30 Mar 2020 20:18:11 +0000 https://blogs.perficient.com/?p=272337

Our Customer Engagement Solutions group at Perficient is focused on helping our customers improve communication and interactions with their customers. Through our partnerships with industry-leading communications frameworks, we enhance and implement various ways companies interact across multiple channels.

In light of these issues, our team at Perficient spent the week of March 23rd on an internal hackathon. The goal was to generate various proof-of-concept projects to address some of these needs. We’ll highlight some of this work, both to provide ideas to the community and to show ways we can quickly scale up solutions to help your company in this time of crisis.

These blog posts will take the form of an interview with one of our internal hackathon teams.

Team Concept – What is the use case or problem you are attempting to address?

Team Quarantitans (Rob Zaffino, Orson Bradford, Aidan Nerman) focused on ways to alleviate sudden spikes in contact center traffic for small to medium sized businesses and enable agents to work from home more readily.

As soon as COVID-19 became serious in North America, customer communication spiked suddenly for key businesses and organizations – from health care to schools, unemployment offices, travel industries, and beyond. Many of these systems were overloaded and ground to a near halt. Our approach is to provide a scalable solution which

  • takes the pressure off the failing systems
  • allows the existing agents to manage the influx of communication
  • utilizes agents working remotely

This is intended to be a temporary triage situation to get through the current crisis. It could benefit the organization to invest in this further to have a robust cloud contact center for a normal business environment.

Goals for the project: keep it easy to administer and require minimal technical knowledge. For simplicity, the proof-of-concept targets voice channel support only. The solution must be easy and relatively quick to deploy, as well as be economical. We hope it would be possible that the cloud infrastructure could be offered at a reduced cost or even as a donation by generous larger companies and institutions in this time of need. Twilio is stepping out to help out in this regard with discounts, grants and free user hours for public benefit use cases. You can find out more at Twilio.org.

Who is the target company or organization for this solution?

Our solution is intended to support small to medium sized businesses who are facing this onslaught and do not have an enterprise level call center. For the purposes of our demo, we imagined a hypothetical community health center. This organization is overwhelmed by calls with medical inquiries and requests. In-house resources or technical expertise to set up their own solution are lacking. This is the perfect use case for our “Call Center Relief” application.

Describe the services or components used in your solution at a high level?

Call Center Relief architectural diagram

This solution requires a hosted Twilio account/project, which includes:

  • As many dedicated phone numbers as needed for each incoming primary business number.
  • One IVR Flow, which is based on a reusable template built with the Twilio Studio editor. It is intended to have some customization as part of the setup, such as how many service department options to provide for routing calls, and the ability to customize options and messages accordingly.
  • Two Twilio SyncMaps: one to manage the agents’ identities and one for the customer queue.

The Contact Center Relief application starts with an existing business phone number. This number is forwarded to a Twilio hosted phone line created as part of setup. The incoming call routes to a dedicated IVR created in Twilio Studio, which does double duty as it handles both incoming customer calls as well as agent calls.

Studio Flow IVR detail

A customer is routed according to the service area options decided at setup: “Press 1 to speak to a healthcare professional; press 2 for general COVID-19 information, …”, and so on. The customer starts in a holding state which means that Twilio initiates a conference call with them as the sole participant. We used TwiML in combination with the Twilio Conference API to make conferences and register the ids into a Twilio SyncMap to represent this queue of callers. These conferences persist until the customer is joined by an agent.

From the agent perspective, they call in and are verified via a whitelist of phone numbers. Once verified against the whitelist, they enter a short PIN. This is verified against a list of authorized agent data held in a Twilio SyncMap. Ultimately, we plan for more secure verification, but a SyncMap is a quick and flexible option to stand up a quick proof of concept.

After the Agent is verified, they are matched with waiting customers. This logic is done via NodeJS in a Twilio Serverless Function, which bridges the two calls in the conference. The system is flexible and scalable to multiple agents and customers.

We went one step further to allow the system to initiate outbound calls to agents designated as on call. This way, customers can get connected as quickly as possible while allowing either an active or passive agent participation to handle fluctuating conditions.

Conference Logs

What challenges did you face in approaching this problem?

Since we focused on simplicity, we have omitted some of the power features provided by Twilio Flex. A specific example is TaskRouter, which would allow the smart routing of tasks based on worker skills and provide the metrics essential to a long term solution. We had to balance our solution for a quick, easy, and inexpensive implementation, which means giving up some of the full functionality. Instead, custom code bridges together customers and agents, handling the logic of availability in very basic ways.

Tell me about some enhancements or additional features you might add to your prototype

We would like to enhance our prototype with a better customer experience by reporting the queue size and allowing them to sign up for an agent callback, rather than wait on hold.

To allow for self service administration, we foresee some ways we can allow the agents to set their on call state and allow super admins to change overall settings like recording and replacing audio files for various messages.

Our Team

Customer engagement goes beyond customer service. Our team takes pride in our personal approach to the customer journey. We typically help enterprise clients transform and modernize their contact center with Twilio Flex, a programmable cloud contact center platform.

We have over 10 years of experience in delivering customer care solutions, including building, supporting, and deploying contact center solutions, and we consider it our personal responsibility to apply our expertise to helping our global community through the pandemic in any way we can.

]]>
https://blogs.perficient.com/2020/03/30/internal-hackathon-for-covid19-response-team-quarantitans/feed/ 0 272337
Internal Hackathon for COVID19 Response – Team VoxCare https://blogs.perficient.com/2020/03/27/internal-hackathon-for-covid19-response-team-voxcare/ https://blogs.perficient.com/2020/03/27/internal-hackathon-for-covid19-response-team-voxcare/#respond Fri, 27 Mar 2020 17:31:47 +0000 https://blogs.perficient.com/?p=272154

Our Customer Engagement Solutions group at Perficient is focused on helping our customers improve communication and interactions with their customers. Through our partnerships with industry-leading communications frameworks, we enhance and implement various ways companies interact across multiple channels.

The COVID-19 pandemic has disrupted every part of our lives and the contact center space is no different. There are huge spikes in traffic to health care, financial and government customer service lines. Contact center agents are trying to figure out how to work from home. Legacy contact center systems requiring agents to be at an office desk to take voice calls have been rendered unusable for the time being. Long wait times have increased the need for self-service options, bot interactions for common questions and use of alternate channels.

In light of these issues, our team at Perficient spent the week of March 23rd on an internal hackathon. The goal was to generate various proof-of-concept projects to address some of these needs. We’ll highlight some of this work, both to provide ideas to the community and to show ways we can quickly scale up solutions to help your company in this time of crisis.

These blog posts will take the form of an interview with one of our internal hackathon teams.

Team Concept – What is the use case or problem you are attempting to address?

Team CareVox (Andy Gilbert, Chitra Shah, Alberto Lopez) focused on a low friction solution for community or local government organizations to reach out to individuals they service. We targeted the Voice channel, but also considered SMS and feel it would be a good addition. A good example use case: a local organization that is delivering food to high risk individuals or those without transportation needs to deliver automated voice notifications. These notifications might provide updates or information on pending activities or schedules.

Driving goals for this POC

  • low friction
  • low cost
  • personal touch
  • simplicity

We really wanted to make it easy for non-technical volunteers to create, deliver and manage notifications. So we put some time into the IVR experience used by Organizers to create, review and send a notification.

Who is the target company or organization for this solution?

Local non-profit, government or NGO type organizations that service at-need populations. Services could include food, elderly check-in, home health care, transportation, social services.

Describe the services or components used in your solution at a high level?

Twilio Programmable Voice and Twilio Studio Flows

These services were used to develop the inbound interface for creating and sending a notification. Organizers can dial into the IVR, confirm access with a PIN, and record a notification message to be sent to a preset list of recipients. They have the option of reviewing the recording, re-recording, immediately sending, or choosing to start the notification through a separate SMS trigger.

Start Notifications via SMS

 

Recordings

The Record Voicemail widget in Twilio Studio captures the notification audio. The recordings are stored in the Twilio Programmable Voice recordings library. When a notification is created we associate the appropriate recording resource (URL) with the Organizer and the intended recipient list. We also explored using a lower level TwiML solution for recording capture. In the end, the Record Voicemail widget supported our needs. Its features simplified some of the work we would need to do, specifically callbacks and TwiML redirection.

Recording Logs in Twilio

 

Notification

A notification is started in a separate step. This allows support for immediate SMS triggers. Future versions could include scheduled / calendar based notification runs. This would require some additional Voice UI work as well as a background scheduler to implement. Outbound calls are triggered through calls to the REST Api endpoint of an appropriate Outbound Studio Flow.

Message Delivery

For delivery we also used Twilio Studio and version 2 of the Outgoing Call widget. Once again, we could have implemented much of this functionality with functions and TwiML. However the widget support for the basic functionality we needed was great. And it saved us from more callback and TwiML plumbing! The base Outbound flow also captures call state, including human, answering machine, busy, failed and logs to our data store. A basic opt-out option was included on the outbound script. An additional consideration here might be simple outbound ivr flow templates that an Organizer could choose from to automate simple responses / acknowledgements from recipients.

We used some simple tables in Amazon DynamoDB to manage lists, organizers, notifications and call logs.

What challenges did you face in approaching this problem?

The Twilio platform is awesome, and just the productivity gains from the Studio widgets was amazing. However we did have to use AWS for a data store, and we miss having a Twilio native scheduling / background task solution. We felt while Sync might be suitable for simple state management, it is not really intended for a service implementation with requirements for things like call logging, reporting, transactional like activities. And the lack of a scheduler, simple background support, is really a bummer!

There were challenges around the use of Twilio Functions to do batch style updates, particularly to trigger the Outbound flow through the REST Api. A solution for background / scheduling would likely address this. In the meantime we are considering use of Amazon SQS and Lambda as an approach.

Finally, answering machine detection is known to be a bit of an art. We did not spend any time tuning this. The base setup works pretty well, but isn’t perfect. In particular we found that messages to voice mail boxes were often mistaken as human and the messages left were clipped.

Tell me about some enhancements or additional features you might add to your prototype

  • Support for self-registration / setup
  • Scheduling notifications (beyond immediate or SMS trigger)
  • Support for SMS notifications
  • Support for multiple contact lists, allowing Organizer to choose targets for a notification
  • Support for a notification library, allowing Organizer to choose from previous messages
  • Support for outbound ivr flow templates that might include simple response captures
  • Ability for recipient to easily “reply” to a message, have this go to a drop box / voice box for the Organizer

Our Team

Customer engagement goes beyond customer service. Our team takes pride in our personal approach to the customer journey. We typically help enterprise clients transform and modernize their contact center with Twilio Flex, a programmable cloud contact center platform.

We have over 10 years of experience in delivering customer care solutions, including building, supporting, and deploying contact center solutions, and we consider it our personal responsibility to apply our expertise to helping our global community through the pandemic in any way we can.

]]>
https://blogs.perficient.com/2020/03/27/internal-hackathon-for-covid19-response-team-voxcare/feed/ 0 272154
Signal 2019 Hopes and Expectations https://blogs.perficient.com/2019/08/05/signal-2019-hopes-and-expectations/ https://blogs.perficient.com/2019/08/05/signal-2019-hopes-and-expectations/#respond Mon, 05 Aug 2019 20:44:52 +0000 https://blogs.perficient.com/?p=243113

I just arrived in San Francisco for the 2019 Twilio Signal conference, where Perficient is a Visionary Sponsor this year. It’s not quite been a year since the last Signal conference. But it’s really been an eventful ride for my team as we’ve been building out our partner practice.

Just over a year ago in late June, my colleague Shelby Hagman and I, along with our practice director Michael Greenlee, traveled out to Twilio HQ for our initial Flex partner training and hackathon. Flex was still very much in Beta and we were looking to get our first looks at the platform. By the time Flex went GA at Signal 2018 in October, we had already learned a lot and had worked on a sales demo used by the Twilio sales teams for training.

Just over a year later, we now have almost 30 developers working full-time on Twilio in some fashion, plus dedicated sales, sales engineering and managed services personnel. We’ve helped our first customers go live on Flex with several more slated to hit production in the next quarter. We’ve created MVPs of possible products or solution add-ons. And we’ve learned a lot in close partnership with Twilio by pushing the capabilities of the Flex platform, bringing our years of customer care and contact center experience into play.

There are a bunch of things I’m hoping to see at Signal (as well as Twilions who have become good friends and who i’m occasionally exasperated with my incessant questions). Here are a few things I’m looking for:

  • New options and ideas for deploying and maintaining Flex at scale. This has been one of our biggest pieces of feedback, both from Perficient directly and from customers. Curious to see how Patrick Kolencherry’s DevOps talk plays into this.

  • New capabilities in Messaging and how that service interplays with Flex Channels. Twilio has made a lot of strides in this area in the past six months. We’ve been using the Channels API a lot to unlock new channel experiences for customers.

  • Lots of SendGrid on the schedule this year. Definitely curious to see where things are headed post-acquisition.

  • Always encouraging and inspiring to hear what twilio.org is up to, with their Twilio For Good campaigns

  • Auto-Pilot and AI/machine learning/natural language processing topics generally. We’ve been working closely with the AutoPilot team over the past few months. It’s come a long way since last fall from a somewhat theoretical Beta product to something we are actively using with customers. We’re getting lots of interest in bots, AI and self-service from customers, but there is still a lot of uncertainty over what’s possible and what will resonate most with consumers.

  • New developer capabilities, including the direction of the Twilio CLI that was recently launched publicly. Also any new options around standardized debugging or alerting across the Flex platform services as a whole.

Of course it’s always fun to hear what other companies are doing with Flex, as well as other Twilio services like iOT, Sync, Identity and so on. The Narrowband stuff that was introduced last year is still something I find fascinating. Living in rural Vermont, I haven’t had much opportunity to play with it yet (I’m looking at you, T-Mobile coverage in Vermont). Although our practice is very much focused on Flex, we are interested in all the Twilio services more broadly and are definitely hearing from companies who are interested in deep Twilio platform more generally. So I’m keeping my eye out for anything interesting being announced, even if it isn’t strictly Flex.

Come by and see us in the Expo hall, we’d love to talk about these topics or anything else you might be interested in doing on the Twilio platform.

]]>
https://blogs.perficient.com/2019/08/05/signal-2019-hopes-and-expectations/feed/ 0 243113
Text-Based Channels In Twilio Flex – Velocity of Conversation https://blogs.perficient.com/2019/08/05/text-based-channels-in-flex-velocity-of-conversation/ https://blogs.perficient.com/2019/08/05/text-based-channels-in-flex-velocity-of-conversation/#respond Mon, 05 Aug 2019 11:49:24 +0000 https://blogs.perficient.com/?p=242782

The third consideration for Flex text-based communication channels from my introductory post is “What type of interaction is it?”. This topic can end up being a bit more philosophical. That being said, it does drive real-world decisions in how you architect your overall Flex approach. But it will likely take a combination of historic understanding of your customer interactions and some trial and error to get right.

In this post, we’ll look at the third focus area…

  • What type of interaction is it? Near real-time (web chat as an example) or more asynchronous (such as SMS).

Some Definitions

The terms synchronous and asynchronous have a lot of different connotations to developers, but may not immediately make sense in this context. It’s probably easiest to think about the oldest type of customer interaction in the contact center: voice. With voice communication, each agent can really only be engaged with a single customer at at time. You can put the customer on hold or consult with your supervisor or another agent, but generally you are focused on a single conversation at a time. From a Flex standpoint, you can only handle a single Task when the channel type is voice. Voice conversations typically require your full attention. So this is the far end of the synchronous or “real-time” spectrum. In Flex terms, the voice channel should only ever have a capacity of one.

Omni-channel changes that whole paradigm, particularly with text-based channels. If you think about one of the earliest contact center evolutions after voice, it’s probably some variation of chat. Web chat or “instant messenger” types of applications have been around for quite awhile now. These interactions could often be much like voice in that responses from both (or the group) can fly back and forth quickly. Both sides might be typing at the same time. But then sometimes one party would step away or get interrupted. You might send several responses and eventually ask “are you still there?”. Sometimes you might stop chatting at the end of a day and pick it up the next day. This is what I mean by the other end of the spectrum or asynchronous.

So already we can start to see how web chat or similar channels (now Slack, Teams, Facebook Messenger come to mind) can be very synchronous or very asynchronous. Or the communication can go back and forth over the spectrum multiple times over the course of the conversation. The same interaction can move back and forth along that line, even with the same agent involved.

How Async Changes Everything

When communication with a customer starts to move closer to async, things get interesting. A lot of the standard rules you may be used to in voice interactions (or even web chat) go out the window. It’s not so much that is changes the mechanics of how the channel works. But it really changes the number of use cases you need to think about and support.

You will really start to see this with some of the newer native channels in Flex. SMS. WhatsApp. Facebook Messenger. Line.

It starts to become challenging to determine customer expectations. If the customer sends you an SMS, do they expect a response in 10 minutes? An hour? A day? Might depend on the customer. Might depend on what they need help with or their intent. How do you determine an appropriate SLA for your SMS channel? And how do you make sure your agents have the right amount of work at any given time? Or to step up one more level, how do you staff effectively?

Over time with voice, customer expectations have generally become much more concrete. Don’t make me go through 20 layers of IVR. I don’t want to sit in a queue for more than X minutes. I don’t want to finally get an agent and then get transferred to a different queue to wait some more time because you put me in the wrong queue to start. Don’t put me on hold for too long. Give me some additional options during long waits, like callbacks.

These types of questions are still being worked out for text-based channels. They will vary based on your industry, your customers and the types of interactions you have with customers. Metrics become very important to help you hone in on exactly what your customer expects and needs. One nice thing about text-based channels is you already have the transcripts. You can think about deep machine learning or AI to use customer intent, sentiment and other indicators. This can drive your SLA determinations down to the queue, customer or even Flex Task level if necessary.

Is The Conversation Over?

A big question: when is the interaction “done” or “over”? Not as clear as before. The answer usually ends up being something you need to answer based on your own business rules and customer interactions. This question will really challenge the conventional approach to standard contact center KPIs. It also makes WFM more challenging since customer communications may often span shifts or agent availability.

With voice, you have a clear determination when the conversation is over; the call ends. It’s not always that simple with text-based channels. Sometimes there is a natural end to the conversation and sometimes there is not. You may need to rely more heavily on your agents to figure this out, based on real-time feedback and comments from the customer. You will often see this with web chat, where the agent asks the customer if there is anything else the customer needs help with. This can work, particularly when web chat is towards the synchronous end of the spectrum.

With phone-based channels like SMS, it may not be so straight-forward. Sometime the customer just stops responding. They get distracted or mostly got the answer they needed. Or maybe they lost service or left their phone at home or can’t use their phone during a work shift. You might not know for sure. Ultimately you will have to use a combination of customer feedback, agent intuition, historical data and possibly time-based rules to decide when a conversation is over. And you have to be prepared if the conversation starts up again. If the original agent isn’t available, accurate context is important. Customers don’t like starting over with the same questions.

Agent Capacity

You will also need to think about how these channels impact agent capacity. While voice interactions are usually effectively limited to “one at a time”, many agents can quite successfully manage multiple text-based interactions simultaneously. The pace of communication (how quickly a customer is responding) can also vary a lot between channels and between customers. Metrics become important in helping you to best determine how to approach WFM (Workforce Management) to support an optimal capacity for your various agent teams. Cross-training will give you more flexibility. Flex allows you to treat text-based channels in a similar fashion in how the agent interacts, which makes this easier from a training perspective.

Metrics

While some of the standard KPIs for contact center still make sense for text-based channels, others don’t provide a lot of help anymore. Concepts like how long the customer waits in queue or to get the initial response still matter. You probably still want to know how many active conversations each agent or team is managing at a given time.

But concepts like handle time don’t make as much sense when text-based channels are mostly going in an asynchronous direction. You still need some concept of handle time, but it’s really more important to think of focus. Which conversation is the agent spending time on right now? What activities are they doing? Are they typing responses or looking at customer history or finding a product? Are they consulting with a supervisor and how does that work?

If it takes twice as much time on your support team to handle a question over web chat vs. SMS, that matters for staffing and agent capacity. Do some customers speak with agents more frequently or require more time generally before they are satisfied with the interaction? As concepts like “conversational commerce” and establishing and maintaining relationships with customers become more of the norm, having the right metrics to track and manage agent staffing and load levels becomes even more crucial.

We’re just looking at the tip of the iceberg here. We could probably take 20 or 30 of the most common KPIs and look at how those metrics might vary across channels. Not only voice vs. text-based, but also within individual types of text-based channels or channels that tend to be more synchronous or more asynchronous. Hopefully this gets you thinking about all the new opportunities omni-channel first contact center platforms like Flex can open up.

Next Steps

We still need to talk about the various capabilities unlocked by text-based channels in Flex. As I’ve already mentioned, Flex collapses a lot of the base functionality onto Twilio’s Programmable Chat platform. So there is a lot of overlap in the way text-based channels work. Some key differences as well. And you can develop your own text-based channels if one of the native ones doesn’t completely meet your needs. We’ll talk about this in the next post.

]]>
https://blogs.perficient.com/2019/08/05/text-based-channels-in-flex-velocity-of-conversation/feed/ 0 242782
Text-Based Channels In Twilio Flex – Routing the Interaction https://blogs.perficient.com/2019/07/18/text-based-channels-in-flex-routing-the-interaction/ https://blogs.perficient.com/2019/07/18/text-based-channels-in-flex-routing-the-interaction/#comments Thu, 18 Jul 2019 21:04:59 +0000 https://blogs.perficient.com/?p=242338

Let’s explore another consideration for Flex text-based communication channels from my introductory post: Routing the Interaction with Flex.

In this post, we’ll look at the second focus area…

  • How does that interaction get routed on the Flex platform so I can get it to the right agent or expert? 

Routing the Interaction to Flex

Let’s go through a high-level overview of how interactions get routed to Flex from the customer, without getting super technical. In most cases, text-based interactions out of the box are enabled by something called a Flex Flow. A Flex Flow is a configuration entry and is part of initial Task Channel setup. Twilio sets up some of these for you when you install Flex in a project, including SMS and web chat.

Originally these were a bit hidden, but they are now being surfaced on the Flex Messaging screen in the console. You can change which Studio Flow each handler points to and this updates the Flex Flow for that channel. There is a good overview in the Flex messaging docs if you want to dig deeper.

Like most things Flex, you can also interact with Flex Flows using an API and this is probably how most developers will work with them. You can just take a look (https://flex-api.twilio.com/v1/FlexFlows, use your Account SID and Token for security) if nothing else. It’s interesting to see all the different Twilio services that come into play.

More About Flex Flows

A Flex Flow configuration is effectively the glue connecting the Flex Chat Service, a Studio Flow, a channel type and optionally a contact uri. The contact uri is used for channels like SMS, where there is a configured phone number you message. Text-based channels that don’t use a number can have a null contact uri.

In the initial versions of Flex, there was really just one type of Flex Flow that mapped into a Studio Flow (integrationType = studio). As the Channels orchestration layer has matured, Twilio has recently started adding more integration types. If you haven’t reviewed the docs in awhile, there is brand new documentation describing new functionality. The two newest integration types are Task and web hook, each of which put their own twist on how you begin to interact with a customer.

Channels Tied To A Phone Number Identity

For channels that work over standard mobile numbers (SMS, WhatsApp, etc.), Flex passes the inbound messaging into a Proxy session. This allows the Flex platform to perform some orchestration to enable the communication to start. It also sets up the connection between the telephony boundary and the agent side. Both can then continue to send messages via the Chat Channel inside Flex.

Using the Flex Flow configuration, Flex can set up various services needed for the integration type. Actions for the “studio” type include Chat Channel setup, routing the first message to a Studio Flow and creating some security context for the user in the Chat Channel.

Certain channels may require additional coordination with the platform vendor, such as WhatsApp, Apple Business Chat and Facebook Messenger.

Web Chat Interaction

For web chat, the  customer side of the communication is effectively anonymous. I’m assuming you are using the web chat sample code or hosted version that Twilio provides, although you can create your own versions of this interaction. When a customer starts messaging, the Flex web chat code first requests an auth token. This creates an identity in the Flex Chat Service with very limited rights. Other than that, it works much the same way as the process above.

With web chat, you can’t easily tie the user’s identity back to something concrete like a phone number. You can ask for other identifying information in the web chat pre-engagement form, such as a phone number, email address or customer id. This must be verified through other means before providing any personal information back to the user, but does allow you to perform data dips in Studio for context or verification purposes.

Verifying User Identity

Speaking of user identity and anonymous communications, treat chat communications as anonymous by default. You should certainly take care before providing sensitive information back to the customer. Even mobile numbers change frequently and it is no longer sufficient to just look up the phone number in your CRM or customer profile system and assume that the person on the other end is verified. It’s helpful to think through how you would verify the customer for each type of text-based channel you want to enable. Audit the types of information being provided and make sure agents are trained in compliance with GDPR, HIPAA or other standards. Bring in your privacy and security teams early when designing your Flex text-based channel workflows and usage.

Authenticated communication can be a good option here. This is where you know who the customer is based on a separate authentication/authorization flow already used in your application. It is possible to have authenticated web chat with some custom work. I believe Twilio is working on some ways to make this more of a native experience. In a similar fashion, custom Task Channels can be used in your mobile applications or other applications used by customers. With these interactions, you can also force these channels to be authenticated from the start.

Custom Task Channels

if you wish to create your own text-based channel, the Channels API combined with a custom Flex Flow can cover most use cases. Twilio has made significant progress in this area since Flex went GA last fall. There are some good details in the docs. You can also use existing APIs, web hooks and other services to orchestrate this behavior yourself for complete customization.

AutoPilot is another option you can use with text-based channels to facilitate more of a self-service or bot type of interaction. AutoPilot uses its own version of these platform tools, but many of the same principles apply.

Typically you start by creating your own Task Channel. You then create a separate FlexFlow for your custom channel. This will show up on the Messaging screen for “studio” integration types. There may be some UI work needed to support your custom Task Channel in the agent desktop. However, if you are happy with using the default chat experience for your channel you can support this with just a few lines of code.

Next Steps

Is your company interested in investigating a text-based channel not natively supported by Flex? Or would you just like a better understanding of the native text-based channel offerings in Flex? Perficient would love to discuss solutions with you and help you come up with an implementation plan.

]]>
https://blogs.perficient.com/2019/07/18/text-based-channels-in-flex-routing-the-interaction/feed/ 2 242338
Text-Based Channels In Twilio Flex – Customer Engages https://blogs.perficient.com/2019/07/17/text-based-channels-in-flex-customer-engages/ https://blogs.perficient.com/2019/07/17/text-based-channels-in-flex-customer-engages/#respond Wed, 17 Jul 2019 17:37:06 +0000 https://blogs.perficient.com/?p=241973

As I mentioned in my introductory post, Flex offers a lot of new areas to explore as we think specifically about text-based communication channels.

In this post, we’ll look at the first focus area…

  • How does the customer engage in the communication or how does the customer start talking to me?

“I Want To Talk To You….”

There are many ways a communication between your company and a customer can begin, such as an agent reaching out, a marketing campaign or follow-up messaging. For the purposes of this discussion, we’re going to assume the customer is starting the communication with your company. This may be the very first time the customer has reached out or it may just be one in an ongoing series of interactions.

There are a number of native text-based channels in Flex and more are coming. You can also create your own using standard API-driven patterns.

Types of Channels

Typically channels fall into a couple of main categories:

  1. Phone number based – SMS, WhatsApp, Line, etc. Email would be a type of this, except using email address as the contact point instead of a phone number.

  2. Application based – web chat, Facebook Messenger, a custom mobile implementation, etc.

In the first type, your ability to customize or shape how a customer starts communication with you is somewhat limited. For instance, in the case of SMS or WhatsApp, you really can’t do much more than publish the enabled number(s). That being said, you might be able to have different numbers for different intents or campaigns and the Twilio platform makes this fairly straight-forward.

For the second type such as a channel like web chat, you can control the user experience (UX) a bit more since you are probably hosting that experience on your web site. If you are enabling messaging in your own mobile app, the possibilities are really only limited by your imagination.

For instance, you could think about pushing behavior normally reserved for the IVR out to the app. Examples include determining the customer intent with a high degree of accuracy, gathering context (this customer was looking at this account or browsing these products) or simply asking the customer what type of help they need (support, product information, order tracking, sales) right in the app before sending to Flex.

Engagement Begins

In both cases, once you have established an interaction with the customer your options start to become more consistent. All of these interactions can be routed to a Studio Flow and you can use the same Flow or similar logic across channels in a consistent fashion.

In particular, the outbound messaging itself can be treated in a very standard fashion. Here are just a few examples:

  • Greet the custom in a consistent fashion. Modify that greeting based on business hours, wait times and other considerations as needed.
  • Begin the interaction using a bot or digital assistant. Help the customer resolve their question or issue more quickly through the use of self-service options.
  • Look up the customer in your CRM, issue tracking, profile and/or order system. Provide more personalized responses from the beginning or context if routed to an agent.

Multiplier Effects

This is where the consistent use of Twilio Programmable Chat to drive all of these different text-based chat channel interactions really starts to shine. Once the customer contacts you, you can implement, manage and report on those interactions in the same way regardless of actual channel type. Or customize based on channel type if you wish. It’s up to you.

In addition, the rich event system and web hook options for Chat Channels provide a maintainable modern platform for interacting with customers at scale, using whatever cloud platform or patterns you prefer.

Report on text-based channels as a whole and then break them down by channel, using the historic reporting built into Flex or your own custom metrics.

What’s Next

Next we’ll take a peek under the covers and get slightly more technical as we look at routing and orchestration. How do all these different types of channels converge on a similar flow in the Flex framework? How does Flex treat these different channel types the same and how do they differ?

]]>
https://blogs.perficient.com/2019/07/17/text-based-channels-in-flex-customer-engages/feed/ 0 241973