.. | ||
digital-experience.rituals.yml | ||
README.md |
Digital Experience
This page details processes specific to working with and within this department.
Team
Role | Contributor(s) |
---|---|
Head of Design | Mike Thomas (@mike-j-thomas) |
Software Engineer | Eric Shaw (@eashaw) |
Head of Revenue Operations | Taylor Hughes (@hughestaylor) |
Apprentice to the CEO | Sam Pfluger (@sampfluger88) |
Contact us
- To make a request of this department, create an issue and a team member will get back to you within one business day (If urgent, mention a team member in the #g-digital-experience Slack channel.
- Any Fleet team member can view the kanban board for this department, including pending tasks and the status of new requests.
- Please use issue comments and GitHub mentions to communicate follow-ups or answer questions related to your request.
Note: If a user story involves only changes to fleetdm.com, without changing the core product, then that user story is prioritized, drafted, implemented, and shipped by the Digital Experience department. Otherwise, if the story also involves changes to the core product as well as fleetdm.com, then that user story is prioritized, drafted, implemented, and shipped by the other relevant product group, and not by
#g-digital-experience
.
Responsibilities
The Digital Experience department is directly responsible for the framework, content design, and technology behind Fleet's remote work culture, including fleetdm.com, the handbook, issue templates, UI style guides, internal tooling, Zapier flows, Docusign templates, key spreadsheets, and project management processes.
Grant role-specific license to a team member (RevOps)
Certain new team members, especially in go-to-market (GTM) roles, will need paid access to paid tools like Salesforce and LinkedIn Sales Navigator immediately on their first day with the company. Gong licenses that other departments need may request them from BizOps and we will make sure there is no license redundancy in that department. The table below can be used to determine which paid licenses they will need, based on their role:
Role | Salesforce CRM | Salesforce "Inbox" | LinkedIn (paid) | Gong (paid) | Zoom (paid) |
---|---|---|---|---|---|
🐋 AE | ✅ | ✅ | ✅ | ✅ | ✅ |
🐋 CSM | ✅ | ✅ | ❌ | ✅ | ✅ |
🐋 SC | ✅ | ✅ | ❌ | ❌ | ✅ |
⚗️ PM | ❌ | ❌ | ❌ | ✅ | ✅ |
⚗️ PD | ❌ | ❌ | ❌ | ✅ | ✅ |
🔦 CEO | ✅ | ✅ | ✅ | ✅ | ✅ |
Other roles | ❌ | ❌ | ❌ | ❌ | ❌ |
Warning: Do NOT buy LinkedIn Recruiter. AEs and SDRs should use their personal Brex card to purchase the monthly Core Sales Navigator plan. Fleet does not use a company wide Sales Navigator account. The goal of Sales Navigator is to access to profile views and data, not InMail. Fleet does not send InMail.
Add a seat to Salesforce
Here are the steps we take to grant appropriate Salesforce licenses to a new hire:
- Go to "My Account".
- View contracts -> pick current contract.
- Add the desired number of licenses.
- Sign DocuSign sent to the email.
- The order will be processed in ~30m.
- Once the basic license has been added, you can create a new user using the new team member's
@fleetdm.com
email and assign a license to it. - To also assign a user an "Inbox license", go to the "Setup" page and select "User > Permission sets". Find the inbox permission set and assign it to the new team member.
Refresh event calendar
Fleet's public relations firm is directly responsible for the accuracy of event locations, attendance dates, and CFP deadlines in the event strategy workbook. At the end of every quarter, the PR firm updates every event in the "Event strategy workbook" (private Google doc) by following these steps:
- Visit the latest website for each event.
- Update the workbook with the latest location, dates, and CFP deadlines from the website.
Schedule CEO interview
From time to time, you will need to schedule an interview between a candidate and the CEO:
- Make a copy of the "¶¶ CEO interview template" (private Google doc)
- Change file name and heading of doc to
¶¶ CANDIDATE_NAME (CANDIDATE_TITLE) <> Mike McNeil, CEO final interview (YYYY-MM-DD)
- Add candidate's personal email in the "👥" (attendees) section at the top of the doc.
- Add candidate's LinkedIn url on the first bullet for Mike.
- Set the Google Calendar description of the calendar event to:
Agenda: URL_FOR_NEW_COPY_OF_FINAL_INTERVIEW_DOC
Program the CEO to do something
- If necessary or if unsure, immediately direct message the CEO on Slack to clarify priority level, timing, and level of effort. (For example, whether to schedule 30m or 60m to complete in full, or 30m planning as an iterative step.)
- If there is not room on the calendar to schedule this soon enough with both Mike and Sam as needed (erring on the side of sooner), then either immediately direct message the CEO with a backup plan, or if it can obviously wait, then discuss at the next roundup.
- Create a calendar event with a Zoom meeting for the CEO and Apprentice. Keep the title short. For the description, keep it very brief and use this template:
Agenda:
1. Apprentice: Is there enough context for you (CEO) to accomplish this?
2. Apprentice: Is this still a priority for you (CEO) to do.. right now? Or should it be "someday/maybe"?
3. Apprentice: Is there enough time for you (CEO) to do this live? (Right now during this meeting?)
4. Apprentice: What are the next steps after you (CEO) complete this?
5. Apprentice: LINK_TO_DOC_OR_ISSUE
Keep calendar event titles short so they are readable at a glance. Please include any other info via link, so that information is not duplicated or lost in the calendar.
Prepare for CEO office minutes meeting
Before the start of the meeting, the Apprentice to the CEO will prepare the "CEO office minutes" meeting agenda such that the following is true:
- All agenda items are prefixed with a date of when the item will be covered and name of the person requesting to discuss the issue.
- All team members with an agenda item have added themselves and their manager to the correct calendar event. If the team member or manager hasn't been added to the calendar event before the meeting begins, the agenda item is de-prioritized in favor of others with representatives in attendance.
- If there are more that two team members attending, the Apprentice will work with the team members to schedule additional time to cover the agenda.
If the manager is unable to attend the scheduled time of the meeting, the Apprentice will work with the team member to schedule an adhoc meeting between them, their manager, and the CEO.
Process the CEO's calendar
Time management for the CEO is essential. The Apprentice processes the CEO's calendar multiple times per day.
- Clear any unexpected new events or double-bookings. Look for any new double-bookings, invites that haven't been accepted, or other events you don't recognize.
- Double-book temporarily with a "UNCONFIRMED" calendar block so that the CEO ignores it and doesn't spend time trying to figure out what it is.
- Go to the organizer (or nearest fleetie who's not the CEO):
- Get full context on what the CEO should know as to the purpose of the meeting and why the organizer thinks it is helpful or necessary for the CEO to attend.
- Remind the organizer with this link to the handbook that all CEO events have times chosen by Sam before booking.
- Bring prepped discussion item about this proposed event to the next CEO roundup, including the purpose of the event and why it is helpful or necessary for the CEO to attend (according to the person requesting the CEO's attendance). The CEO will decide whether to attend.
- Delete the "UNCONFIRMED" block if the meeting is confirmed, or otherwise work with the organizer to pick a new time or let them know the decision.
- Prepare the agenda for any newly-added meetings: Meeting agenda prep is especially important to help the CEO focus and transition quickly in and between meetings.
- In the notes document include:
- LinkedIn profile link of all outside participants
- Screen-shot of LinkedIn profile pic
- Company name (in doc title and file name)
- Correct date (20XX-XX-XX in doc title and file name)
- Context that helps the CEO to understand the purpose of the meeting at a glance from:
- CEO's email
- LinkedIn messages (careful not to mark things as read!)
- Google Drive
- Be sure to do this from the CEO's browser so as to not lock him out of any meeting docs.
- In the notes document include:
Process the CEO's inbox
- The Apprentice to the CEO is responsible for processing all email traffic prior to CEO review. The Apprentice will reduce the scope of Mike's inbox to only include necessary and actionable communication.
- Marking spam emails as read (same for emails Mike doesn't actually need to read).
- Escalate actionable sales communication and update Mike directly.
- Ensure all calendar invites have the necessary documents included.
Document performance feedback
Every Friday at 5PM a Business Operations team member will look for missing data in the KPIs spreadsheet.
- If KPIs are not reported on time, the BizOps Engineer will notify the Apprentice to the CEO and the DRI.
- The Apprentice will update the "performance management" section of the appropriate individual's 1:1 doc so that the CEO can address during the next 1:1 meeting with the DRI.
Send the weekly update
We like to be open about milestones and announcements.
-
Every Friday, e-group members report their KPIs for the week by 5:00pm U.S. Central Time Zone.
-
Every Friday at 6PM, the Apprentice will post a short update in #general including:
- A link to view KPIs
- Who was on-call that week
- Fleeties who are currently onboarding
- Planned hires who haven't started yet
- Fleeties that departed that week
-
Change the "⚡️" to "🔭" in the beginning of the formula
-
Select this week's cell (first week with the 🔮) in the KPI spreadsheet and copy the entire formula
-
Paste without formating (CMD+⇧+V) back into the same cell
-
The formula will now look like this:
-
Paste the newly formatted message in the #general Slack channel and delete any links that unfurl from links in the weekly update message.
-
📬 Send it!
Troubleshoot signature automation
We use Zapier to automate how completed DocuSign envelopes are formatted and stored. This process ensures we store signed documents in the correct folder and that filenames are formatted consistently. When the final signature is added to an envelope in DocuSign, it is marked as completed and sent to Zapier, where it goes through these steps:
- Zapier sends the following information about the DocuSign envelope to our Hydroplane webhook:
emailSubject
- The subject of the envelope sent by DocuSign. Our DocuSign templates are configured to format the email subject as[type of document] for [signer's name]
.emailCsv
- A comma-separated list of signers' email addresses.
- The Hydroplane webhook matches the document type to the correct Google Drive folder, orders the list of signers, creates a timestamp, and sends that data back to Zapier as
destinationFolderID
- The slug for the Google Drive folder where we store this type of document.emailCsv
- A sorted list of signers' email addresses.date
- The date the document was completed in DocuSign, formatted YYYY-MM-DD.
- Zapier uses this information to upload the file to the matched Google Drive folder, with the filename formatted as
[date] - [emailSubject] - [emailCvs].PDF
. - Once the file is uploaded, Zapier uses the Slack integration to post in the #help-classified channel with the message:
Now complete with all signatures: [email subject] link: drive.google.com/[destinationFolderID]
Schedule travel for the CEO
The Apprentice schedules all travel arrangements for the CEO including flights, hotel, and reservations if needed. CEO traveling preferences in descending order of importance are:
- Direct flight whenever possible (as long as the cost of the direct flight is ≤2x the cost of a reasonable non-direct flight)
- Select a non-middle seat, whenever possible
- Don't upgrade seats (unless there's a cheap upgrade that gets a non-middle seat, or if a flight is longer than 5 hours. Even then, never buy a seat upgrade that costs >$100.)
- The CEO does not like to be called "Michael". Unfortunately, this is necessary when booking flights. (He has missed flights before by not doing this.)
- Default to carry-on only, no checked bags. (For trips longer than 5 nights, add 1 checked bag.)
- Use the Brex card.
- Frequent flyer details of all (previously flown) airlines are in 1Password as well as important travel documents.
Process incoming equipment
Upon receiving any device, the Apprentice will process the incoming equipment by:
- Search for the SN of the physical device in the "Company equipment" spreadsheet to confirm the correct equipment was received.
- If the serial numbers do not match create an issue to get help from the Business Operations department.
- Visibly inspect equipment and all related components (e.g. laptop charger) for damage.
- Remove any stickers and clean devices and components.
- Using the device's charger plug in the device.
- Turn on the device and enter recovery mode using the appropriate method.
- Connect the device to WIFI.
- Using the "Recovery assistant" tab (In the top left corner), select "Delete this Mac".
- Follow the prompts to activate the device and reinstall the appropriate version of macOS.
Ship approved equipment
Once the Business Operations department approves inventory to be shipped from Fleet IT, the Apprentice will ship the equipment by:
- Compare the equipment request issue with the "Company equipment" spreadsheet and verify physical inventory.
- Plug in the device and ensure inventory has been correctly processed and all components are present (e.g. charger cord, power converter).
- package equipment for shipment and include Yubikeys (if requested).
- Change the "Company equipment" spreadsheet to reflect the new user
- Ship via FedEx to the address listed in the equipment request.
- Add a comment to the equipment request issue, at-mentioning the requestor with the FedEx tracking info and close the issue.
Prepare for the All hands
-
Every month the Apprentice will do the prep work for the monthly "✌️ All hands 🖐👋🤲👏🙌🤘" call.
- In the "👋 All hands" folder, create a new folder using "yyyy-mm - All hands - yyyy month name".
- Update "End of the quarter" slides to reflect the current countdown.
- Download a copy of the previous month's keynote file and rename the copy pattern matching existing files.
- Update the slides to reflect the current "All hands" date (e.g. cover slides month and the "You are here" slide)'
- Update slides that contain metrics to reflect current information using the 📈 KPIs doc.
- Update the "Spotlight slide" for guest speakers.
- Add new customer logos from Mike's bookmarks "Customers list" and Google "Company name" to find the current logo.
-
First "All hands" of the quarter
- Audit the "Strategy" slide.
- Audit the "Goals" slide
The day before the All hands, Mike will prepare slides that reflect the CEO vision and focus.
Share recording of all hands meeting
The Apprentice will post a link to the All hands Gong recording and slide deck in Slack.
Template to use:
Thanks to everyone who contributed to today's "All hands" call.
:tv: If you weren't able to attend, please *[watch the recording](Current-link-to-Gong-recording)* _(1.5x playback supported)_.
You can also grab a copy of the [original slides](https://fleetdm.com/handbook/company/communications#all-hands) for use in your own confidential presentations.
-
Copy and paste the template to the "# general" Slack channel.
-
To create the recording link:
-
Open Gong recording and
Share call
-
Share with customers
-
Copy link
and paste the url*[Watch the recording](
here-in-your-template-message)*
. -
The PDF can be found in the current months 👋All hands folder in Google Drive.
-
Download the PDF and upload (double click the
+
) into your updated Slack message, which will look like this:👇
📬 Send it!
Process and backup Sid agenda
Every two weeks, our CEO Mike has a meeting with Sid Sijbrandij. The CEO uses dedicated (blocked, recurring) time to prepare for this meeting earlier in the week.
30 minutes After each meeting (to allow all parties to collect action items), the Apprentice makes a copy of the "💻 Sid : Mike(Fleet)" doc and renames it "YYYY-MM-DD Backup of 💻 Sid : Mike(Fleet)". Then moves the backup version into the (¶¶) Sid archive
Then process the backup Sid agenda by:
- Leaving google doc comments assigning all Fleet TODOs to correct Fleeties.
- In the ¶¶¶¶🦿🌪️CEO Roundup doc, update the URL in
Sam: FYI: Agenda from last time:
LINK.
Being sure to preserve agenda format, process the 💻 Sid : Mike(Fleet) master doc by:
- (Unless otherwise prefixed) Delete all agenda items, being sure to leave 3 empty bullets in every section.
Process and backup E-group agenda
Immediately after every e-group the Apprentice makes a copy of the E-group agenda doc and renames it "YYYY-MM-DD backup of E-group agenda". Then saves it to the (¶¶) E-group archive.
Then process the backup E-group agenda by:
- Leaving google doc comments assigning all TODOs to correct individuals.
- In the E-group master doc, update the URL in
Sam: FYI: Agenda from last time:
LINK.
Being sure to preserve agenda format, process the E-group master doc by:
- Clearing all bullets from the "Mike: Hear from each department" section.
- Delete the "Blockers" and "Last week" bullets from each department's section.
- Move contents from "This week" to "Last week".
- (Unless otherwise prefixed) Delete all agenda items from the "Mike: This weeks focus" section.
- (Unless otherwise prefixed) Delete all agenda items from the "Today's other topics" section.
If it's the day of an All hands:
- Remove any spotlights that aren't a permanent staple (e.g. Mike: Every time: Pick a value, present on it.).
Check LinkedIn for unread messages
Once a day the Apprentice will confirm check LinkedIn for unread messages.
- Log into the CEO's LinkedIn.
- Bring up the messaging window and filter out all read messages.
- Click the "filter" icon in the messaging search bar.
- Click "Unread". Bring all unreads to the CEO.
- Bring up the messaging window and filter out all read messages.
Unroll a Slack thread
From time to time the CEO will ask the Apprentice to the CEO to unroll a Slack thread into a well-named whiteboard google doc for safekeeping and future searching.
- Start with a new doc.
- Name the file with "yyyy-mm-dd - topic" (something empathetic and easy to find).
- Use CMD+SHFT+V to paste the Slack convo into the doc.
- Reapply formatting manually (be mindful of quotes, links, and images).
- To copy images right-click+copy and then paste in the doc (some resizing may be necessary to fit the page).
Delete an accidental meeting recording
It's not enough to just "delete" a recording of a meeting in Gong. Instead, use these steps:
- Wait for at least 30 minutes after the meeting has ended to ensure the recording and transcript exist and can be deleted.
- Sign in to Gong through the CEO's browser.
- Click
Conversations
- Select the call recording no longer needed
- Click the "hotdog" menu in the right-hand corner
Delete recording
- Search for the title of the meeting Google Drive and delete the auto-generated Google Doc containing the transcript.
- Always check back to ensure the recording and transcript were both deleted.
Rituals
- Note: Some rituals (⏰) are especially time-sensitive and require attention multiple times (3+) per day. Set reminders for the following times (CT):
- 9:30 AM (/before first meeting)
- 12:30 PM CT (/beginning of "reserved block")
- 6:30 PM CT (/after last meeting, before roundup / Japan calls)
Stubs
The following stubs are included only to make links backward compatible.
Why not mention the CEO in Slack threads?
Please see handbook/company/why-this-way/why-not-mention-the-ceo-in-slack-threads