Skip to content

Commit

Permalink
Merge branch 'main' into 22361-mdm-min-os-ade-sso
Browse files Browse the repository at this point in the history
  • Loading branch information
gillespi314 committed Nov 19, 2024
2 parents 9ffe86e + 8a8b840 commit 7a595d5
Show file tree
Hide file tree
Showing 18 changed files with 335 additions and 120 deletions.
2 changes: 2 additions & 0 deletions changes/23787-script-name
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Fixes a bug where the name of the setup experience script was not showing up in the activity for
that script execution.
7 changes: 4 additions & 3 deletions ee/server/service/setup_experience.go
Original file line number Diff line number Diff line change
Expand Up @@ -220,9 +220,10 @@ func (svc *Service) SetupExperienceNextStep(ctx context.Context, hostUUID string
return false, ctxerr.Errorf(ctx, "setup experience script missing content id: %d", *script.SetupExperienceScriptID)
}
req := &fleet.HostScriptRequestPayload{
HostID: host.ID,
ScriptName: script.Name,
ScriptContentID: *script.ScriptContentID,
HostID: host.ID,
ScriptName: script.Name,
ScriptContentID: *script.ScriptContentID,
SetupExperienceScriptID: script.SetupExperienceScriptID,
}
res, err := svc.ds.NewHostScriptExecutionRequest(ctx, req)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion handbook/company/why-this-way.md
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ For example, here is the [philosophy behind Fleet's bug report template](https:/
## Why don't we sell like everyone else?

Many companies encourage salespeople to ["spray and pray"](https://www.linkedin.com/posts/amstech_the-rampant-abuse-of-linkedin-connections-activity-7178412289413246978-Ci0I?utm_source=share&utm_medium=member_ios) email blasts, and to do whatever it takes to close deals. This can sometimes be temporarily effective. But Fleet takes a [🟠longer-term](https://fleetdm.com/handbook/company#ownership) approach:
- **No spam.** Fleet is deliberate and thoughtful in the way we do outreach, whether that's for community-building, education, or [🧊 conversation-starting](https://github.com/fleetdm/confidential/blob/main/cold-outbound-strategy.md).
- **No spam.** Fleet is deliberate and thoughtful in the way we do outreach, whether that's for community-building, education, or [🧊 conversation-starting](https://docs.google.com/document/d/1IbucpsZZ0qbJQRPRtm9e2kMcSBDTXjixAMVOWyTu_pA/edit?tab=t.0).
- **Be a helper.** We focus on [🔴being helpers](https://fleetdm.com/handbook/company#empathy). Always be depositing value. This is how we create a virtuous cycle. (That doesn't mean sharing a random article; it means genuinely hearing, doing whatever it takes to fully understand, and offering only advice or links that we would actually want.) We are genuinely curious and desperate to help, because creating real value for people is the way we win.
- **Engineers first.** We always talk to engineers first, and learn how it's going. Security and IT engineers are the people closest to the work, and the people best positioned to know what their organizations need.
- **Fewer words. Fewer pings.** People are busy. We don't waste their time. Avoid dumping work on prospect's plates at all costs. Light touches, no asks. Every notification from Fleet is a ping they have to deal with. We don't overload people with words and links. We [🟢keep things simple](https://fleetdm.com/handbook/company#results) and [write briefly](http://www.paulgraham.com/writing44.html).
Expand Down
13 changes: 13 additions & 0 deletions handbook/customer-success/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,19 @@ Before a routine customer call, the CSM prepares an agenda including the followi
6. Provide updates to open bug reports


### Invite new customer DRI

Sometimes there is a change in the champion within the customer's organization.
1. Get an introduction to the new DRIs including names, roles, contact information.
2. Make sure they're in the Slack channel.
3. Invite them to the *Success* meetings.
4. In the first meeting understand their proficiency level of osquery.
1. Make sure the meeting time is still convenient for their team.
2. Understand their needs and goals for visibility.
3. Offer training to get them up to speed.
4. Provide a white glove experience.


### Generate an expansion opportunity in Salesforce

[Customer Success Managers (CSMs)](https://fleetdm.com/handbook/customer-success#team) are responsible for developing customer expansion opportunities that are not being worked on in conjunction with an Account Executive (AE). An AE may be assigned by the [Chief Revenue Officer (CRO)](https://fleetdm.com/handbook/sales#team) for large-scale expansion opportunities such as bringing on a new Fleet use case or bringing on a new group of hosts to an existing Fleet use case. CSMs manage expansion opportunities for things like host count increases for customer growth and price increases on renewals. Discuss examples of these scenarios with your manager to learn more. Moving forward, CSM's are responsible for keeping the stage, next steps, and date of next steps fields updated as the opportunity progresses through the sales cycle. Take the steps below when creating an expansion opportunity in Salesforce:
Expand Down
5 changes: 5 additions & 0 deletions handbook/digital-experience/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,11 @@ To update the host count on a user's subscription:
7. Let the person who created the request know what actions were taken so they can communicate them to the customer.


### Change customer credit card number

You can help a Premium license dispenser customers change their credit card by directing them to their [account dashboard](https://fleetdm.com/customers/dashboard). On that page, the customer can update their billing card by clicking the pencil icon next to their billing information.


### Cancel a Fleet Premium subscription

Use the following steps to cancel a Fleet Premium subscription:
Expand Down
35 changes: 35 additions & 0 deletions handbook/finance/README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
# Finance

This handbook page details processes specific to working [with](#contact-us) and [within](#responsibilities) this department.

## Team

| Role | Contributor(s) |
|:------------------------------|:-----------------------------------------------------------------------------------------------------------|
| Finance Engineer | [Isabell Reedy](https://www.linkedin.com/in/isabell-reedy-202aa3123/) _([@ireedy](https://github.com/ireedy))_


## Contact us

- To **make a request** of this department, [create an issue](https://github.com/fleetdm/confidential/issues/new?assignees=&labels=%23g-finance&projects=&template=custom-request.md) and a team member will get back to you within one business day (If urgent, mention a [team member](#team) in [#g-finance](https://fleetdm.slack.com/archives/C047N5L6EGH).
- Please **use issue comments and GitHub mentions** to communicate follow-ups or answer questions related to your request.
- Any Fleet team member can [view the kanban board](https://app.zenhub.com/workspaces/-g-finance-63f3dc3cc931f6247fcf55a9/board?sprints=none) for this department, including pending tasks and the status of new requests.


## Responsibilities

The Finance department is directly responsible for accounts receivable including invoicing, accounts payable including commision calculations, exspense reporting including Brex memos and maintaining accurate spend projections in "🧮The numbers", sales taxes, payroll taxes, corporate income/franchise taxes, and financial operations including bank accounts and cash flow management.


### Run payroll

Many of these processes are automated, but it's vital to check Gusto and Plane manually for accuracy.

- Salaried fleeties are automated in Gusto and Plane.
Expand Down Expand Up @@ -76,12 +81,14 @@ To complete payroll for an international contractor, use the following steps:


### Reconcile monthly recurring expenses

Recurring monthly or annual expenses, such as the tools we use throughout Fleet, are tracked as recurring, non-personnel expenses in ["🧮 The Numbers"](https://docs.google.com/spreadsheets/d/1X-brkmUK7_Rgp7aq42drNcUg8ZipzEiS153uKZSabWc/edit#gid=2112277278) _(¶confidential Google Sheet)_, along with their payment source. Reconciliation of recurring expenses happens monthly. <!-- TODO: Merge "🧮 The Numbers" and ["Tools we use" (private Google doc)](https://docs.google.com/spreadsheets/d/170qjzvyGjmbFhwS4Mucotxnw_JvyAjYv4qpwBrS6Gl8/edit?usp=sharing) -->

> Use this spreadsheet as the source of truth. Always make changes to it first before adding or removing a recurring expense. Only track significant expenses. (Other things besides amount can make a payment significant; like it being an individualized expense, for example.)

### Register Fleet as an employer with a new state

Fleet must register as an employer in any state where we hire new teammates. To do this, complete the following steps in Gusto:
1. After a new teammate completes their Gusto profile, the Finance department will be prompted to approve it for payroll. Sign in to your Gusto admin account and begin the approval process.
2. Select "yes" when prompted to file a new hire report and complete the approval process.
Expand All @@ -93,6 +100,7 @@ Fleet must register as an employer in any state where we hire new teammates. To


### Process an email from a state agency

From time to time, you may get notices via email (or in the mail) from state agencies regarding Fleet's withholding and/or unemployment tax accounts. You can resolve some of these notices on your own by verifying and/or updating the settings in your Gusto account.

If the notice is regarding an upcoming change to your deposit schedule or unemployment tax rate, make the required change in Gusto, such as:
Expand Down Expand Up @@ -193,6 +201,7 @@ Use the following steps to update the [💸Finance department KPIs](https://docs


### Create an invoice

To create a new invoice for a Fleet customer, follow these steps:
1. Go to the [invoice folder in Google Drive](https://drive.google.com/drive/folders/11limC_KQYNYQPApPoXN0CplHo_5Qgi2b?usp=drive_link).
2. Create a copy of the invoice template, and title the copy `[invoice number] Fleet invoice - [customer name]`.
Expand Down Expand Up @@ -226,7 +235,17 @@ Thanks,
> Certain vendors require invoices submitted via a payment portal (such as Coupa). Once you've generated the invoice using the steps above, upload it to the relevant payment portal and email the billing contact to let them know you've submitted the invoice.

### Provide payment information to a customer

For customers with large deployments, Fleet accepts payment via wire transfer or electronic debit (ACH/SWIFT).

Payment information for customers within the United States is on Fleet's invoices. Typically, payment information does not need to be sent separately.

For Fleet customers outside of the United States or instances where a customer is requesting payment information prior to invoicing, provide remittance information to customers by exporting ["💸 Paying Fleet"](https://docs.google.com/document/d/1KP_-x9c1x3sS1X9Q8Wlib2H7tq69xRONn1KMA3nVFQc/edit) into a PDF, then sending that to the prospect.


### Communicate the status of customer financial actions

This reporting is performed to update the status of open or upcoming customer actions regarding the financial health of the opportunity. To complete the report:
1. Check [SVB](https://connect.svb.com/#/) and [Brex](https://accounts.brex.com/login) for any recently received payments from customers and record them in SFDC.
2. Go to this [report folder](https://fleetdm.lightning.force.com/lightning/r/Folder/00lUG000000DstpYAC/view?queryScope=userFolders) in SFDC. The three reports will provide the data used in the report.
Expand Down Expand Up @@ -255,7 +274,13 @@ Thanks,
6. Review the [billing cycles](https://fleetdm.lightning.force.com/lightning/r/Report/00OUG000000yGjR2AU/view) report in SFDC for customers on multiyear deals. For any customers due for invoicing within the next week, create an issue on the Finance board.


### Obtain a copy of Fleet's W-9

A recent signed copy of Fleet's W-9 form can be found in [this confidential PDF in Google Drive](https://drive.google.com/file/d/1ugXazEBk1oVm_LqGbYNsIFECcv5jXLA9/view?usp=drivesdk).


### Run US commission payroll

1. Update individual teammates commission calculators (linked from [main commission calculator](https://docs.google.com/spreadsheets/d/1PuqUbfPGos87TfcHWgUd05TRJgQLlBmhyz1euj79m2A/edit?usp=sharing)) with new revenue from any deals that are closed-won (have a subscription agreement signed by both parties) and have a **close date** within the previous month.
- Verify closed-won deal numbers with CRO to ensure any agreed upon exceptions are captured (eg: CRO approves an AE to receive commission on a renewal deal due to cross-sell).
2. In the "Monthly commission payroll party" meeting, present the commission calculations for Fleeties receiving commission for approval.
Expand All @@ -265,6 +290,7 @@ Thanks,
4. Once commission payroll has been run, update the [main commission calculator](https://docs.google.com/spreadsheets/d/1PuqUbfPGos87TfcHWgUd05TRJgQLlBmhyz1euj79m2A/edit?usp=sharing) to mark the commission as paid.

### Run international commission payroll

1. Follow the steps in [run US commission payroll](https://fleetdm.com/handbook/finance#run-us-commission-payroll) to have the commission amounts approved by the CRO.
2. After the amounts are approved in the "Monthly commission payroll party", navigate to Help > Ask a question in Plane to request a commission payment for the teammate.
3. Send a message using the following template
Expand All @@ -283,6 +309,7 @@ Thanks,


### Run quarterly or annual employee bonus payroll

1. Update individual teammate bonus calculator (linked from [main commission calculator](https://docs.google.com/spreadsheets/d/1PuqUbfPGos87TfcHWgUd05TRJgQLlBmhyz1euj79m2A/edit?usp=sharing)) with relevant metrics.
- Bonus plans will have details specified on how to measure success, with most drawing from the [KPI spreadsheet](https://docs.google.com/spreadsheets/d/1Hso0LxqwrRVINCyW_n436bNHmoqhoLhC8bcbvLPOs9A/edit?usp=sharing) or from linked SFDC reports. If unsure where to pull achievement metrics from, contact teammate's manager to clarify.
2. In the "Monthly commission payroll party" meeting, present the bonus calculations for Fleeties receiving bonus for approval.
Expand All @@ -293,6 +320,7 @@ Thanks,


### Process monthly accounting

Create a [new montly accounting issue](https://github.com/fleetdm/confidential/issues/new/choose) for the current month and year named "Closing out YYYY-MM" in GitHub and complete all of the tasks in the issue. (This uses the [monthly accounting issue template](https://github.com/fleetdm/confidential/blob/main/.github/ISSUE_TEMPLATE/5-monthly-accounting.md).

- **SLA:** The monthly accounting issue should be completed and closed before the 7th of the month.
Expand All @@ -301,6 +329,7 @@ Create a [new montly accounting issue](https://github.com/fleetdm/confidential/i


### Respond to low credit alert

Fleet admins will receive an email alert when the usage of company cards for the month is aproaching the company credit limit. To avoid the limit being exceeded, a Brex admin will follow these steps:
1. Sign in to Fleet's Brex account.
2. On the landing page, use the "Move money" button to "Add funds to your Brex business accounts".
Expand All @@ -310,13 +339,15 @@ Fleet admins will receive an email alert when the usage of company cards for the
No further action needs to be taken, the amount available for use will increase without disruption to regular processes.

### Check franchise tax status

No later than the second month of every quarter, we check [Delaware divison of corporations](https://icis.corp.delaware.gov) to ensure that Fleet has paid the quarterly franchise tax amounts to remain in good standing with the state of Delaware.
- Go to the [DCIS - eCorp website](https://icis.corp.delaware.gov/ecorp/logintax.aspx?FilingType=FranchiseTax) and use the details in 1Password to look up Fleet's status.
- If no outstanding amounts: the tax has been paid.
- If outstanding amounts shown: ensure payment before due date to avoid penalties, interest, and entering bad standing.


### Check finances for quirks

Every quarter, we check Quickbooks Online (QBO) for discrepancies and follow up on quirks.
1. Check to make sure [bookkeeping quirks](https://docs.google.com/spreadsheets/d/1nuUPMZb1z_lrbaQEcgjnxppnYv_GWOTTo4FMqLOlsWg/edit?usp=sharing) are all accounted for and resolved or in progress toward resolution.
2. Check balance sheet and profit and loss statements (P&Ls) in QBO against the latest [monthly workbooks](https://drive.google.com/drive/folders/1ben-xJgL5MlMJhIl2OeQpDjbk-pF6eJM) in Google Drive. Ensure reports are in the "accural" accounting method.
Expand All @@ -325,6 +356,7 @@ Every quarter, we check Quickbooks Online (QBO) for discrepancies and follow up


### Report quarterly numbers in Chronograph

Follow these steps to perform quarterly reporting for Fleet's investors:
1. Login to Chronograph and upload our profit and loss statement (P&L), balance sheet and cash flow statements for CRV (all in one book saved in [Google Drive](https://drive.google.com/drive/folders/1ben-xJgL5MlMJhIl2OeQpDjbk-pF6eJM).
2. Provide updated metrics for the following items using Fleet's [KPI spreadsheet](https://docs.google.com/spreadsheets/d/1Hso0LxqwrRVINCyW_n436bNHmoqhoLhC8bcbvLPOs9A/edit#gid=0).
Expand All @@ -345,13 +377,15 @@ Follow these steps to perform quarterly reporting for Fleet's investors:


### Deliver annual report for venture line

Within 60 days of the end of the year, follow these steps:
1. Provide Silicon Valley Bank (SVB) with our balance sheet and profit and loss statement (P&L, sometimes called a cashflow statement) for the past twelve months.
2. Provide SVB with our board-approved annual operating budgets and projections (on a quarterly granularity) for the new year.
3. Deliver this as early as possible in case they have questions.


### Process a new vendor invoice

Fleet pays its vendors in less than 15 business days in most cases. All invoices and tax documents should be submitted to the Finance department using the [appropriate Fleet email address (confidential Google Doc)](https://docs.google.com/document/d/1tE-NpNfw1icmU2MjYuBRib0VWBPVAdmq4NiCrpuI0F0/edit#heading=h.wqalwz1je6rq).
- After making sure the invoice received from a new vendor is valid, add the new vendor to the recurring expenses section of ["The numbers"](https://docs.google.com/spreadsheets/d/1X-brkmUK7_Rgp7aq42drNcUg8ZipzEiS153uKZSabWc/edit#gid=2112277278) before paying the invoice.
- If we have not paid this vendor before, make sure we have received the required W-9 or W-8 form from the vendor. **Accounting cannot process a payment without these tax forms for compliance reasons.**
Expand All @@ -360,6 +394,7 @@ Fleet pays its vendors in less than 15 business days in most cases. All invoices


### Process a request to cancel a vendor

- Make the cancellation notification in accordance with the contract terms between Fleet and the vendor, typically these notifications are made via email and may have a specific address that notice must be sent to. If the vendor has an autorenew contract with Fleet there will often be a window of time in which Fleet can cancel, if notification is made after this time period Fleet may be obligated to pay for the subsequent year even if we don't use the vendor during the next contract term.
- Once cancelled, update the recurring expenses section of [The Numbers](https://docs.google.com/spreadsheets/d/1X-brkmUK7_Rgp7aq42drNcUg8ZipzEiS153uKZSabWc/edit#gid=2112277278) to reflect the cancellation by changing the projected monthly burn in column G to $0 and adding "CANCELLED" in front of the vendor's name in column C.

Expand Down
Loading

0 comments on commit 7a595d5

Please sign in to comment.