Revealed at Ignite 2018 and published this week and now rolling out to Office 365 tenants, Teams for Frontline Workers is a Teams-based app built by Microsoft to replace the old StaffHub app. Because it is built around the premise that frontline staff like sales associates or construction workers are often organized into scheduled periods of work activity, the app is also known as Shifts, and it’s available for the latest versions of the Teams browser, desktop, and mobile apps.
To access Shifts, click the More apps (…) button in the Teams navigation menu. For now, there’s no way to expose Shifts as a channel tab. However, you can use an apps policy to expose Shifts in the app bar (at the side of the Teams desktop and browser client and at the bottom of the mobile client). To be effective, the app policy must be assigned to the accounts that will use Shifts.
Shifts in the Teams app list
If you are a team owner, you can select a team to host the schedule and begin creating shifts (periods of work) and worker categories (called groups) to organize the shifts. Like a calendar, you can view shifts by day, week, or month and see which of the team members are already scheduled and those who are still available. Because the schedule is built around team members, a team can only support a single schedule. If you need to maintain several schedules, you must create a team for each schedule.
Building out a shift schedule
Building out a Schedule with Shifts
Once the schedule is set up, team owners and members permitted to manage schedules can assign members of the team to shifts and note absences such as scheduled vacation. To make things easier to build a schedule, you can copy the data for an existing shift from a previous period.
If you add someone to a shift who isn’t already a member of the team, the app adds them to the underlying Office 365 group. Although Shifts doesn’t stop you creating a schedule for a dynamic team, you shouldn’t do this. Two problems are apparent. First, if the query against Azure Active Directory changes the team membership, some shift assignments might be affected. Second, if you try to add a new user to the team and assign them some time slots, Shifts seems to allow this and accepts the assignments, but they’re not added to the membership and so that person can never see the schedule. In fact, they soon show up in the schedule as a deleted team member!
Publishing a Schedule with Shifts
After entering the data about the shift, you use the Share with team button to publish the information to the team. Publication can be to the complete team or just those who are affected by any changes made to the schedule since it was last shared.
Sharing notifies team members that details of a new schedule are available (as a side note, I didn’t see any notifications appear in the Activity hub, the General channel of a team, or via email – I assume that something in the app hasn’t quite finished rolling out). The idea is that those who have scheduled shifts then open the Shifts app to review their schedule and request any adjustments. For example, someone might want to ask for time off (see below), or swap one of their scheduled shifts with someone else. These requests go to the team owner, who can approve or deny the requests.
A team member creates a new request for time off
Shifts doesn’t integrate with Outlook calendar, so users won’t see their scheduled shifts show up in their calendar. They must go to the Shifts app to find when they’re expected to work. Once in Shifts, they can print off their schedule. Team owners can also export a schedule to Excel.
Settings for Shifts
Shifts is a minimalist app with few settings for a team owner to tweak. Set your time zone, decide what day a schedule starts, whether team members can see and request open shifts, and maintain a set of reasons why people might request time off. It’s as simple as that.
The simplicity of just a few settings to consider
Billions of Frontline Users
Microsoft says that they added Shifts to Teams because many organizations find that teams of frontline workers are forced to use shadow IT to organize their work. For instance, a manager might create a schedule in a worksheet and share the file via Dropbox. The idea is that by including targeted applications like Shifts in Teams, Office 365 has an answer for these users. Microsoft’s post announcing Shifts says that there are 2 billion frontline workers, so that’s a good-sized market to go after.
The announcement post also says that Microsoft will deliver a Graph API for Shifts. I haven’t seen any documentation for this API yet.
Early Days for the Shifts App
It’s early days for Shift and it’s likely that the app will receive updates as time goes on to smoothen functionality and add features. Out-of-the-box, the app is simple to use, well integrated with Teams, and available in multiple clients. There’s a lot to like about that, especially as Microsoft doesn’t charge any more for Shifts.
it’s more or less interesting, since it isn’t integrated with outlook. it’s an absolutly no-go. there is one… realy only ond calender you will contact to manage your dates. nobody likes to use 2 different systems, especialy, when it comes from same manufactor.
microsoft: job not’ done!
As of august 1, 2020, this still isn’t fixed. I’ve got flak from my teamlead for missing Shifts events because I can’t sync them to my preferred Calendar (non Outlook) because of the company’s DLP. I am stuck with a reminder to check every friday for new events. If one comes up in between, I can’t see it.
As of August 30, 2021 still not fixed. I would think that this would be one of the most requested features?? even if it’s only synced to outlook we can sync outlook to anything else 🙁
Loading...
As of march 07, 2022 still not fixed. I just got an new job that use shift AND calendar outlook . Just thinking about have 2 calendars not be able to sync in 2022!!! #minivomit.
{"id":null,"mode":"button","open_style":"in_modal","currency_code":"EUR","currency_symbol":"\u20ac","currency_type":"decimal","blank_flag_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":100,"top_media_type":"featured_image","featured_image_url":"https:\/\/office365itpros.com\/wp-content\/uploads\/2022\/11\/cover-141x200.jpg","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Virtual Tip Jar","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Office 365 for IT Pros","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Office 365 for IT Pros","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting the work of Office 365 for IT Pros!","payment_confirmation_title":"Office 365 for IT Pros","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
it’s more or less interesting, since it isn’t integrated with outlook. it’s an absolutly no-go. there is one… realy only ond calender you will contact to manage your dates. nobody likes to use 2 different systems, especialy, when it comes from same manufactor.
microsoft: job not’ done!
As of august 1, 2020, this still isn’t fixed. I’ve got flak from my teamlead for missing Shifts events because I can’t sync them to my preferred Calendar (non Outlook) because of the company’s DLP. I am stuck with a reminder to check every friday for new events. If one comes up in between, I can’t see it.
As of August 30, 2021 still not fixed. I would think that this would be one of the most requested features?? even if it’s only synced to outlook we can sync outlook to anything else 🙁
As of march 07, 2022 still not fixed. I just got an new job that use shift AND calendar outlook . Just thinking about have 2 calendars not be able to sync in 2022!!! #minivomit.