Commit graph

496 commits

Author SHA1 Message Date
Eric
390c6888d7
Website: link to personalized view of endpoint ops page without changing primaryBuyingSituation (#21680)
Closes: #21237

Changes:
- Updated view-endpoint-ops to set a `pagePersonalization` value using
the users primaryBuyingSituation (if it is set) or a `pageMode` query
parameter.
- Updated the endpoint ops page to be personalized based off the
pagePersonalization value set in the view action
- Updated the links to the endpoint ops page on the unpersonalized
homepage to use a pageMode query parameter (e.g., pageMode=it) instead
of a utm_content query parameter.
- Updated the links to the endpoint ops page on the personalized
homepage to not include a utm_content query parameter.
2024-08-30 13:18:47 -05:00
Rebecca Cowart
94a3068646
Added rebeccaui to receive-from-github.js (#21651) 2024-08-28 16:47:15 -04:00
Eric
24377ee08d
Website: Update SF helper to ensure numberOfEmployees is always a number. (#21642)
Closes: https://github.com/fleetdm/confidential/issues/7844

Changes:
- Updated the get-enriched helper to fix the return value for
numberOfEmployees.
- Updated the update-or-create-contact-and-account to make sure the
number of employees set on new account records is always a number.
2024-08-28 14:16:27 -05:00
Eric
01225dbba7
Website: deliver contact form submission via email (#20972)
Closes: #20904

Changes:
- Updated the `deliver-contact-form-message` action to send contact form
submissions to Fleet's support email address.
- Added an email template for contact form messages.
2024-08-27 15:43:20 -05:00
Eric
b18f60cf03
Website: Track reason behind psychological stage changes in start flow. (#21483)
Changes:
- Updated the `update-or-create-contact-and-account` helper to support a
new input: `psychologicalStageChangedBy`, and to set the provided value
on contact records.
- Updated `save-questionnaire-progress` to set a
psychologicalStageChangedBy value when updating contact records.
2024-08-24 13:40:12 -06:00
Mike McNeil
1a48c6b32a
Website: Make Drew have to do less work dealing with data (#21516)
Co-authored-by: Eric <eashaw@sailsjs.com>
2024-08-23 12:48:13 -06:00
Eric
0007351602
Website: send start flow responses to CRM (#21485)
Changes:
- Updated save-questionnaire-progress to send a formatted string of a
user's start questionnaire responses to the
update-or-create-contact-and-account helper
- Updated the update-or-create-contact-and-account helper to set
getStartedResponses on contact records.
2024-08-22 12:34:13 -06:00
Eric
2fc5602eb4
Website: Track psystage and buying situation changed changes caused by start flow in Segment. (#21482)
Related to: https://github.com/fleetdm/confidential/issues/7339

Changes:
- Updated `save-questionnaire-progress` to return the user's selected
`primaryBuyingSituation`
- Updated the /start flow to update data in Segment
- Removed the border on the /start flow images that I mistakenly added.
2024-08-21 21:58:15 -06:00
Eric
637e5e1216
Website: Update /start questionnaire steps and add images (#21452)
Closes: #21417 
Closes: #21413
Closes: #21378 


Changes:
- Updated save-questionnaire-progress to return the user's current
psychological stage when a user submits a step of the /start
questionnaire
- Updated the /start questionnaire to display an image that changes as
the user's psychological stage progresses.
- Updated the first step of the /start questionnaire and gave users the
ability to go back to the first step.
- Added an option for Linux to the "what do you manage" question that is
asked to MDM-focused users
- Added a step for MDM-focused users filling out the /start
questionnaire
- Updated the /start CTA to show different images based on psychological
stage and to be visible to users who have not purchased a self-service
license
2024-08-21 11:54:06 -06:00
Eric
05f9f5dd77
Website: update values set by SF helpers. (leadSource » contactSource) (#21408)
Changes:
- Updated the `update-or-create-contact-and-account` helper to set a
"Contact source" on new contact records created.
- Updated everywhere where a lead source was being set to instead set a
contact source
2024-08-19 15:42:49 -05:00
Mike Thomas
ebfd5c27ee
Re-order pricing categories (#21297)
Follow up to https://github.com/fleetdm/fleet/pull/20993 to re-order
categories on the pricing page.
2024-08-16 11:24:23 -05:00
Mike Thomas
9041f49d7f
Website: update features on pricing page (#20993)
- Removed duplicate and redundant features
- Reordered features by order of operation from the POV of an IT admin
- Consolidated use cases
- Renamed some features for clarity

See [this
doc](https://docs.google.com/document/d/1z7X__TmJIpRXQF-Mx9NK4EChwkX73fj0ymLnIJM2GnQ/edit?usp=sharing)
for more details, including methodology for the organization and
styling.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2024-08-14 09:32:41 +09:00
Joanne Stableford
dfafc118f6
Update receive-from-github.js (#21182) 2024-08-08 11:07:08 -05:00
Eric
b49841acc1
Website: Add unsubscribe link to marketing emails (#21055)
Closes: https://github.com/fleetdm/confidential/issues/7528

Changes:
- Added a new action: unsubscribe-from-marketing-emails, which updates a
user record that uses a specified email address to exclude it from the
deliver-nurture-emails script.
- Updated the email template to include a link that users can click to
unsubscribe.
- Added a modal to the homepage that is shown to users who unsubscribe
from marketing emails
- Updated the email template data in deliver-nurture-emails and
view-email-template-preview
2024-08-05 16:23:08 -05:00
Eric
c0cc609127
Website: Use GitHub API to get lastmodifiedAt timestamps (#20859)
Closes: #20823

Changes:
- Updated the build-static-content script to use the GitHub API to get
timestamps of when files were last changed.
- Updated the get-extended-osquery schema helper to use a GitHub token
to authenticate GitHub requests (if it is provided)
2024-08-02 17:10:56 -05:00
Eric
ba2f79e1c4
Website: personalize /better page for Secure Frame users (#20890)
Related to: https://github.com/fleetdm/confidential/issues/7227

Changes:
- Added a banner to the /better page that is visible to users who visit
it with a `?utm_content=secureframe` query param.
- Updated the `<animated-arrow-button>` component to support customizing
text and arrow color.
2024-07-31 17:40:41 -05:00
Eric
6fd628463d
Website: fix pricing table filtering (#20912)
Changes:
- Fixed the IT and Security filtering on the pricing features table.
2024-07-31 17:25:18 -05:00
Eric
fbf1f55399
Website: Remove duplicate "Fleet" from page titles (#20893)
Changes:
- Removed the duplicate "Fleet" from page titles.
2024-07-31 14:50:42 -05:00
Eric
ddc0cdbcab
Website: add automated MDM nurture emails (#20760)
Changes:
- Added three new emails for MDM-focused users who are psystage 3, 4
,and 5.
- Added a new email layout
- Added a script to send nurture emails to users with an MDM primary
buying situation who signed up after 2024-07-22 that
   - have been in psychological stage 3 for 24 hours
   - have been in psychological stage 4 for 24 hours
   - have been in psychological stage 5 for six weeks
- Updated the USer model to have. four new attributes:
   - `psychologicalStageLastChangedAt`
   - `stageThreeNurtureEmailSentAt`
   - `stageFourNurtureEmailSentAt`
   - `stageFiveNurtureEmailSentAt`
- Added a new custom config variable
`sails.config.custom.contactEmailForNutureEmails`
2024-07-26 20:25:26 -05:00
Eric
52f6ff142c
Website: Reorder pricing features YAML (#20713)
Changes:
- Reordered the pricing page YAML to match the order in [the latest
wireframes](https://www.figma.com/design/3he8e72251IEnF6dBafKq1/%F0%9F%9A%A7-fleetdm.com-(scratchpad)?node-id=15042-3959&m=dev&t=8KCdpYqJh8Pk5Aze-1)
- Added ASCII art headings to the pricing features YAML to separate
features
- Added an example feature to the top of the pricing features YAML
- Updated how features are sorted on the pricing page
2024-07-25 17:33:26 -05:00
Eric
da3ad28f4c
Website: add deal registration page (#20667)
Closes: #19531

Changes:
- Added a deal registration page at /deals
- Added a new email template: `email-deal-registration`
- Added a new action to send the deal registration form submission to
the email address set in the `sails.config.custom.
dealRegistrationContactEmailAddress` config variable
- Updated the HTML email preview page to support the new email template.
2024-07-25 13:12:08 -05:00
Eric
adf140501a
Website: update contact form CRM records (#20645)
Closes: https://github.com/fleetdm/confidential/issues/7394

Changes:
- Updated update-or-create-contact-and-account to set descriptions on
contacts
- Updated deliver-talk-to-us-form-submissions to not create leads for
users sent to the "Lets get you set up!" event
- Updated deliver-contact-form-message to only create contact records.
2024-07-22 17:25:31 -05:00
Joanne Stableford
13aafaf46a
Update receive-from-github.js (#20625) 2024-07-22 11:45:59 -04:00
Sam Pfluger
40b69afeff
Add Charles Zaffery qoute to testimonials.yml (#20453)
Co-authored-by: Eric <eashaw@sailsjs.com>
2024-07-18 14:41:54 -05:00
Eric
673368332b
Website: Update lead source on contact records (#20383)
Changes:
- Updated signup.js to add the "Website - Sign up" lead source to new
contact records.
2024-07-11 11:31:05 -05:00
Eric
e5188eaac6
Website: disable Mergefreeze related code in GH webhook (#20292)
Changes:
- Commented out code related to Mergefreeze in the receive-from-github
webhook.
2024-07-09 17:57:15 -05:00
Eric
670a8ef2a0
Website: Set leadSource on new contact records (#20285)
Closes: #20284

Changes:
- Updated the `update-or-create-contact-and-account` helper to set a
lead source on new contact records
- Updated `update-or-create-contact-and-account-and-create-lead` to to
pass in a lead source to the `update-or-create-contact-and-account`
helper
- Updated save-questionnaire-progress to set a lead source on newly
created contact records
2024-07-09 17:04:12 -05:00
Eric
caa27322fe
Website: Disable lead creation from get started questionnaire submissions (#20250)
Changes:
 - Removed SF lead creation in the `save-questionnaire-progress` action.
2024-07-08 11:29:32 -05:00
Eric
e27a3bb851
Website: Update start questionnaire CTA visibility (#20206)
Closes: #20189

Changes:
- Made the CTA for the get started questionnaire visible to users who
have completed the "Thanks for checking out Fleet" step
- Updated the background of the image in the mobile start CTA.
- Updated the get started questionnaire to take users who have completed
the "Thanks for checking out Fleet" step to either the "What did you
think?" or "How was your deployment?" steps
2024-07-03 15:57:35 -05:00
Eric
0abe6ab6f5
Website: follow-up changes from backend code review (#20174)
Closes: #20102

Changes:
- Replaced timers.setImmediate with `.exec()` when CRM records are
updated in the background
- Removed the `\s` replacement during relative link modification in
build-static-content and added a comment explaining why we replace URL
encoded spaces in links.
2024-07-02 17:00:10 -05:00
Eric
2e19e37a0a
Website: Update leads created from "Talk to us" form submissions. (#20140)
Related to: #20107


Changes:
- Updated the description of leads created from "Talk to us" form
submissions to include the name of the Calendly event.
2024-07-02 16:25:54 -05:00
Eric
74fdf7a29d
Website: update username in authorGitHubUsername meta tags & list of maintainers (#19999)
Changes:
- Updated the `authorGitHubUsername` meta tag for three articles
- Updated a GitHub username in the list of maintainers in the
receive-from-github webhook.
2024-06-25 16:42:41 -05:00
Eric
223e1f2362
Website: Update contact record creation (#19922)
Closes: https://github.com/fleetdm/confidential/issues/6929

Changes:
- Updated the update-or-create-contact-and-account helper to search for
an existing contact by email address before searching for an account
with the information provided by the get-enriched helper. This change
will allow us to change the account that a contact is associated with in
the CRM without duplicate records getting (re)created.
2024-06-21 17:12:01 -05:00
Eric
477e46a96d
Website: Update SF helper to search for existing account records by name (#19918)
Closes: #19895

Changes:
- Updated the `update-or-create-account-and-contact` helper to search
for an existing account record by name before searching by website. This
additional search adds ~1.5 seconds to the time the helper runs in the
background but greatly reduces the chances of creating duplicate
accounts.
2024-06-20 17:02:00 -05:00
Eric
b2e9e0a055
Website: Update Github helper (#19892)
Closes: #19891

Changes:
- Updated the `get-is-pr-handbook-only-changes` helper to return false
if a PR contains no changed files.
2024-06-20 11:23:50 -05:00
Eric
e2ab9a2fe8
Website: Update Vanta authorization URL when a redirect URL is specified (#19798)
Closes: https://github.com/fleetdm/confidential/issues/6069

Changes:
- Added a new route going to the create-vanta-authorization-request
action: `/api/v1/create-external-vanta-authorization-request`
- Added a new input to the create-vanta-authorization-request action:
`sharedSecret` - A secret that must match
`sails.config.custom.sharedSecretForExternalVantaRequests` when an
external request is made to the
`/api/v1/create-external-vanta-authorization-request` endpoint
- Updated the authorization URL returned by the
create-vanta-authorization-request endpoint
- Updated the redirect in the view-vanta-authorization endpoint (if a
redirect URL is provided) to not use res.redirect() (it causes 500
errors) when redirecting users.
2024-06-17 13:28:39 -05:00
Eric
30f90c8216
Website: Remove "explore data" pages (#19777)
Related to: https://github.com/fleetdm/confidential/issues/5573

Changes:
- Deleted /explore-data pages and related files
- Added redirects for removed pages.
- Removed all explore data related website configuration in the
build-static-content script.
- Removed the explore data section of the custom configuration.
2024-06-14 17:50:07 -05:00
Eric
9cd452e8d5
Website: Update Vanta integration (#19349)
Closes: https://github.com/fleetdm/confidential/issues/6069

Changes:
- Added a new action to add support for the Vanta integration to be set
up from a partners website. This action sets the required cookies
provided via queryString and redirects users to the Vanta authorization
page.
- Updated the `create-vanta-authorization-request` action to redirect
users who provide a `redirectToExternalPageAfterAuthorization` value the
new endpoint instead of returning a vanta authorization URL.
- Updated `view-vanta-authorization` to redirect users to the URL
provided to the `create-vanta-authorization-request` endpoint (if one
was provided)
2024-06-14 07:40:49 -04:00
Eric
1fac823fa9
Website: Update Salesforce helepr to set an an Owner ID on all new records. (#19609)
Changes:
- Updated the update-or-create-contact-and-account helper to always set
the integrations admin user as the owner of new accounts and contact
records created.
2024-06-09 15:00:55 -05:00
Eric
da0268eec8
Website: Update Markdown headings (#19608)
Closes: #19606

Changes:
- Updated the `to-html` helper to add optional linebreaks to all
Markdown headings that contain an underscore.
2024-06-07 17:48:44 -05:00
Eric
d25c257db3
Website: update salesforce leads created by website (#19498)
Changes:
- Removed unused/unneeded values that are set on new lead records
created by the website
2024-06-05 17:00:27 -05:00
Eric
80a9ffeb69
Website: add step to the /start questionnaire for users who don't want to use Fleet (#19514)
Closes: https://github.com/fleetdm/confidential/issues/6287

Changes:
- Added a new page to the /start questionnaire where users can let us
know they're not interested in using Fleet.
2024-06-05 10:52:25 +09:00
Eric
9ea69df576
Website: add new usage statistics (#19315)
Closes: https://github.com/fleetdm/fleet/issues/19308

Changes:
- Added six new attributes to the `HistoricalUsageSnapshot` model (
`numSoftwareVersions`, `numHostSoftwares`, `numSoftwareTitles`,
`numHostSoftwareInstalledPaths`, `numSoftwareCPEs` and
`numSoftwareCVEs`)
- Added inputs to the receive-usage-analytics webhook for the new usage
statistics.


When this PR is merged, we will need to migrate the Fleet website's
database to add the new columns, to do this:
- [x] Make an announcement in Slack to let people know the website will
be offline for ~8 minutes
- [ ] Merge this PR
- [ ] As the deploy action runs, put the website into maintenance mode
- [ ] Add the new columns for the added attributes
- [ ] Set the default value for the new attributes on existing database
records
- [ ] After the deploy workflow is complete, take the website out of
maintenance mode.
2024-06-04 18:36:25 -05:00
Eric
f546ebe102
Website: uncomment MergeFreeze requests in GitHub webhook (#19449)
Closes: #19369

Changes:
- Re-enabled the requests to MergeFreeze in the receive-from-github
webhook
2024-06-03 10:44:02 -05:00
Eric
bf239ecc78
Website: Add site-wide CTA to bring users back to the /start questionnaire (#19393)
Closes: #18530

Changes: 
- Added a collapsable sitewide CTA to bring users who have not completed
the get started questionnaire back to the /start page.
- Added a new action (`account/updateStartCtaVisibility`) to set a
timestamp of when the CTA will be visible (not collapsed) in a user's
session when they close the CTA

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2024-05-31 18:44:13 -05:00
Mike McNeil
3df7a9232a
Website: Remove utm parameter stripping for now (#19425) 2024-05-31 14:31:21 -05:00
Eric
a28f0a9422
Website: disable MergeFreeze requests in receive-from-github webhook. (#19371)
Related to: https://github.com/fleetdm/fleet/issues/19369

Changes:
- Disabled the requests to MergeFreeze that unfreeze auto-approved PRs
when the main branch of the Fleet repo is frozen.
2024-05-30 11:19:55 -05:00
Roberto Dip
d98e1ecf27
allow to customize the signed CSR return type (#19213)
for #19027, this modifies the website to accept an `deliveryMethod` parameter to
respond with the signed CSR instead of delivering an email.

The current approach also maintains backwards compatibility:

**Response without `deliveryMethod` (unchanged except for custom headers)**

```
$ curl --insecure -v -H 'content-type: application/json' http://localhost:2024/api/v1/deliver-apple-csr -d '{"unsignedCsrData": "foo"}'
*   Trying [::1]:2024...
* Connected to localhost (::1) port 2024
> POST /api/v1/deliver-apple-csr HTTP/1.1
> Host: localhost:2024
> User-Agent: curl/8.4.0
> Accept: */*
> content-type: application/json
> Content-Length: 26
>
< HTTP/1.1 200 OK
< X-Powered-By: Sails <sailsjs.com>
< Cache-Control: no-cache, no-store
< X-Exit: success
< X-Exit-Description: Delivered email to specified email address with certificate signing request attached.
< Content-Type: text/plain; charset=utf-8
< Content-Length: 2
< ETag: W/"2-nOO9QiTIwXgNtWtBJezz8kv3SLc"
< Set-Cookie: sails.sid=s%3AqOZoNKY2CCZ6PFb9fIKaAjtiTKjB7Gum.9jodWIUG6DCNnXu%2Bn%2BF8cJmI%2Fn19Tk%2FdIkDPBl%2BILbI; Path=/; HttpOnly
< Date: Wed, 22 May 2024 18:23:16 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
<
* Connection #0 to host localhost left intact
OK
```

**Response with `deliveryMethod=json`**

```
$ curl --insecure -v -H 'content-type: application/json' http://localhost:2024/api/v1/deliver-apple-csr?deliveryMethod=json -d '{"unsignedCsrData": "foo"}'
*   Trying [::1]:2024...
* Connected to localhost (::1) port 2024
> POST /api/v1/deliver-apple-csr?alt=json HTTP/1.1
> Host: localhost:2024
> User-Agent: curl/8.4.0
> Accept: */*
> content-type: application/json
> Content-Length: 26
>
< HTTP/1.1 200 OK
< X-Powered-By: Sails <sailsjs.com>
< Cache-Control: no-cache, no-store
< Content-Type: application/json; charset=utf-8
< X-Exit: success
< X-Exit-Description: Delivered email to specified email address with certificate signing request attached.
< X-Exit-Output-Friendly-Name: RSS feed XML
< Content-Length: 26
< ETag: W/"1a-NnuclRv86ZEKA9WB967iUGlz84s"
< Set-Cookie: sails.sid=s%3AbpaKOTbNe4E911qH4z1-12ABGd_z2d2I.mAimDARoZgnq8zpJHcF95y8qFJXX0iky4Suj0HUKjpI; Path=/; HttpOnly
< Date: Wed, 22 May 2024 18:22:07 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
<
* Connection #0 to host localhost left intact
{"csr":"UEQ5NGJXdy4uLg=="}
```

# Checklist for submitter

- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-05-28 10:08:03 -03:00
Eric
02437a098e
Schema: change default block scalar used in schema override files (#19296)
Closes: #19271
Closes: #19286

Changes:
- Updated the example in the schema folder readme
- Updated the block scalar used in Fleet's osquery override
documentation (`>-` » `|-`) and removed extra newlines
- Updated the block scalar used in URLs used to create new yaml override
files
- Regenerated osqeury_fleet_schema.json
2024-05-27 18:18:56 -05:00
Eric
2af2c41572
Website: Update round robin in salesforce helpers & move lead creation to save-questionnaire-progress. (#19209)
Closes: #18932

Changes:
- Updated `update-or-create-contact-and-account.js` to not round robin
new account records created.
- Updated create-lead to reassign accounts owned by the integrations
admin user when a new lead is created.
- Updated logged warnings in signup, deliver-contact-form-message and
deliver-talk-to-us-form-submission.
- Updated signup.js to not create salesforce leads (only account and
contact records)
- Updated save-questionnaire-progress to create Salesforce leads when we
know the user has a use case for Fleet.
2024-05-27 16:43:40 -05:00
Nathanael Holliday
b1a18bc4a5
Remove former employee from receive-from-github.js (#19189)
Removed departed employee

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
Co-authored-by: Sampfluger88 <sampfluger88@gmail.com>
2024-05-24 19:29:00 -05:00
Dale Ribeiro
21a6f3bfdb
Updated to include Dale (#19202)
Co-authored-by: Isabell Reedy <113355639+ireedy@users.noreply.github.com>
2024-05-22 12:41:58 -04:00
Eric
5261faaa11
Website: Update round robin in Salesforce helper (#19131)
Changes:
- Updated the update-or-create-contact-and-account helper to round-robin
existing accounts owned by an inactive Salesforce user
2024-05-17 18:14:22 -05:00
Eric
31f8c7e548
Website: Create new Salesforce helper, update contact form actions and signup action. (#19082)
Changes:
- Added a new helper:
`salesforce/update-or-create-contact-and-account-and-create-lead`, a
wrapper for the `update-or-create-contact-and-account` and `create-lead`
helpers that is intended to be run in the background.
- Updated the `signup`, `deliver-contact-form-message`, and
`deliver-talk-to-us-form-submission` actions to use the new helper
2024-05-16 15:38:09 -05:00
Savannah Friend
997d9c60b8
Added Username to receive-from-github.js (#18956)
.
2024-05-14 17:01:14 -05:00
Eric
cde4a61bd3
Website: requested changes from website review (#18923)
Changes:
- Moved the logic for redirecting users to the license dispenser after
they login/sign up into the page scripts for the login and register
pages.
- Updated error messages in the create lead helper
2024-05-10 16:33:45 -05:00
Eric
4ee1d0b736
Website: update receive-usage-analytics webhook (#18864)
Related to: https://github.com/fleetdm/fleet/issues/18863

Changes:
- Updated the receive-usage-analytics webhook to set a default value for
organization if a Fleet instance reports an empty string as its
organization.
2024-05-09 08:39:49 -05:00
Eric
6e1bb1b85b
Website: Fix assertion error in save-questionnaire-progress (#18818)
Related to: https://github.com/fleetdm/fleet/issues/18817

Changes:
- Updated a conditional statement in save-questionnaire-progress to
check the correct variable for a user's previous answer to the "Have you
ever used Fleet?" question
2024-05-07 16:46:00 -05:00
Eric
2990d09cb4
Website: update salesforce helper (#18789)
Changes:

- Updated the `update-or-create-contact-and-account` helper to actually
check the OwnerID of the returned account record (if one was found).
2024-05-06 20:51:03 -05:00
Eric
9e988cb216
Website: Fix round robin in update-or-create-contact-and-account.js. (#18788)
Changes:
- Fixed a conditional that was determining if existing account records
should be round-robined or not.
2024-05-06 19:51:21 -05:00
Eric
607ddbe8b1
Website: Update update-or-create-contact-and-account helper to round robin existing account records. (#18778)
Changes:
- Updated the `update-or-create-contact-and-account` helper to round
robin existing Account records assigned to the "Integrations admin"
user.
2024-05-06 15:17:49 -05:00
Mike McNeil
507ac65f8b
Website: Add missing pages to sitemap (#18762) 2024-05-06 07:16:36 -05:00
Eric
1cd0c6566c
Website: Create protocol and subdomain regex custom config & normalize LinkedIn urls (#18756)
Changes:
- Updated the regex used to match HTTP protocol and common subdomains in
the `get-enriched` helper to include more subdomains and changed it to a
custom config variable
(`sails.config.custom.RX_PROTOCOL_AND_COMMON_SUBDOMAINS`)
- Updated the update-or-create-contact-and-account helper to remove HTTP
protocol and subdomains from provided linkedIn URLs.
2024-05-03 18:51:31 -05:00
Mike McNeil
57b52204a9
Website: Update view-device-management.js (#18752)
Prioritize quotes that are directly about MDM on the MDM page.
2024-05-03 17:31:30 -05:00
Eric
b8793ee776
Website: Update save-questionnaire-progress (#18753)
Follow up PR to https://github.com/fleetdm/fleet/pull/18721.
2024-05-03 17:29:56 -05:00
Eric
7c3f029f78
Website: reduce time to submit steps of the /start questionnaire. (#18721)
Related to: https://github.com/fleetdm/confidential/issues/6357

Changes:
- wrapped the `updateOrCreateContactAndAccount` helper call in
`save-questionnaire-progress` in `setImmediate()` to allow users to
progress through the form without waiting for CRM updates.
2024-05-03 17:23:05 -05:00
Eric
3a15802944
Website: Update organization matching in get-enriched helper. (#18749)
Closes: https://github.com/fleetdm/confidential/issues/6381

Changes:
- Updated the get-enriched helper to improve enrichment results for
users whose provided organization is not the top experience listed on
their LinkedIn profile.
2024-05-03 16:09:05 -05:00
Rachael Shaw
5f442a8002
Tiny tweak to a comment (#18709)
Just making it a touch clearer why we're changing a key name/deleting a
key from the Open API response.
2024-05-02 17:39:39 -05:00
Mike McNeil
671ad9bf6a
Website: Update save-questionnaire-progress.js (#18697)
Eric, I did not test this (coded live w/ mike T). Relying on your eyes.
Also, remember remember the old legacy data that might need to be
migrated, especially since I added some assertions? (whuh ohhh)
2024-05-02 11:25:48 -05:00
Eric
ba229a153c
Website: Update save-billing-info-and-subscribe.js (#18708)
Closes: #18702

Changes:
- Removed the request to Zapier in save-billing-info-and-subscribe
2024-05-02 10:55:36 -05:00
Rachael Shaw
81a98ec54b
Update prompt for API endpoint to get human interpretation of osquery SQL (#18695)
When using this API many times in a row to try and populate real policy
descriptions/resolutions, I discovered a problem: the inferred
resolution (“What we’ll do”) almost never used decisive language, so
you'd get a lot of “probably”, etc., when we really want it to sound
more confident about what will happen during the maintenance window.
(The calendar events say what WILL happen to your device, not what
should probably happen.)

After several attempts to tweak the prompt, I ended up getting the best
results by just removing "probably" from
`whatWillProbablyHappenDuringMaintenance`. I made this change to the
prompt without changing the data that this API returns.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-05-01 19:18:12 -05:00
Eric
f486abdf56
Website: Update /start questionnaire to add additional steps for users who don't want to self-host Fleet. (#18580)
Closes: https://github.com/fleetdm/confidential/issues/6268


Changes:
- Updated the questionnaire on the /start page to take users who answer
"I'd like you to host Fleet for me" on the "What did you think?" step to
the host count question.
- Updated the /start page script to handle this new behavior.
- Updated how psychologicalStage is set for users who answer the host
count question in `save-questionnaire-progress`.
- Updated `save-questionnaire-progress` to only call the salesforce
helper if the user's `psychologicalStage` changes.
2024-05-01 19:01:56 -05:00
Eric
806c88f006
Website: Add steps for users who deploy Fleet to /start questionnaire (#18661)
Changes:
- Added two steps to the /start questionnaire for users who select "I
want to deploy Fleet in my environment" on the "What did you think"
question.
- Updated save-questionnaire-progress to set psychologicalStage based on
selected answers to the new questions
2024-05-02 08:22:47 +09:00
Eric
63f8850877
Website: replace zapier request in signup.js with createLead() (#18688)
Closes: https://github.com/fleetdm/confidential/issues/6355

Changes:
- Replaced the reqeust to zapier in `signup.js` with
`sails.helpers.salesforce.createLead()`.
- Updated signup.js to only call the salesforce helpers when the website
is running in a production environment.
- Updated the `createLead` to handle errors when retrieving or creating
salesforce records, and to set a provided `numberOfHosts` and
`primaryBuyingSituation` on created lead records.
2024-05-01 16:25:12 -05:00
Gabe Lopez
d2ceb980fe
Update receive-from-github.js to add Gabe Lopez (PezHub) (#18685)
New hire!
2024-05-01 14:42:29 -04:00
Mike McNeil
c3f77aa116
Website: Clear personalization on logout (#18630) 2024-05-01 12:10:27 -05:00
Eric
8be31c263c
Website: update domain parsing and logged warnings in get-enriched helper. (#18644)
Changes:
- Changed the warnings in the get-enriched helper to use
`sails.log.info`.
- Updated the email domain parsing to handle protocol-less URLs returned
from Coresignal
2024-04-30 13:47:23 -05:00
Eric
a9f79eacd4
Website: Update zapier webhook request in signup action. (#18648)
Closes: #18643

Changes:
- Updated the response from the `updateOrCreateAccountAndContact` helper
when running the website in a development environment.
- Updated the Zapier webhook request in the signup action to send the
contact and account IDs returned from the
`updateOrCreateAccountAndContact` helper.
2024-04-30 13:38:38 -05:00
Eric
47362020ed
Website: reduce number of helper calls in save-questionnaire-progress (#18647)
Changes:
- Updated the conditional that decides whether or not to create/update
Salesforce records to check if a psychological stage changes.
2024-04-30 13:27:42 -05:00
Mike McNeil
c01d0ff82a
Website: If org name + email specified but no matches, try again (#18629) 2024-04-30 01:40:06 -05:00
Mike McNeil
8252320c3b
Fix 500 errors by ensuring organization exists (#18628) 2024-04-30 01:12:53 -05:00
Mike McNeil
cdbe6055d1
Website: Improve enrichment (#18627) 2024-04-30 01:03:59 -05:00
Eric
31c67130d4
Website: Update searchBy criteria in get-enriched helper (#18626)
Changes:
- Removed the organization name search in the get-enriched helper to
improve organization enrichment.
2024-04-29 23:37:09 -05:00
Eric
7259ec6473
Website: Update save-questionnaire-progress (#18625)
Related to https://github.com/fleetdm/confidential/issues/6357

Changes:
- Updated `save-questionnaire-progress` to only call
`sails.helpers.salesforce.updateOrCreateContactAndAccount` is called
when a user's `psychologicalStage` changes.
2024-04-29 19:20:00 -05:00
Mike McNeil
b09d34fa4b
Website: Quick and dirty fix for signups (#18622)
Eric, please test fully before merging, this is just the quick and dirty
cut.
2024-04-29 19:01:47 -05:00
Eric
2ba0f01502
Website: update personalization on homepage and endpoint ops (#18616)
Closes: https://github.com/fleetdm/confidential/issues/6336

Changes:
- Updated personalization on the homepage and the endpoint ops page
2024-04-29 16:40:57 -05:00
Eric
bde910a827
Website: Update get-enriched to return undefined. (#18614)
Changes:
- Updated the `iq/get-enriched` helper to return enrichment data as
undefined.
2024-04-29 16:29:23 -05:00
Eric
d74f5cd6ea
Website: Update psychologicalStage changes in save-questionnaire-progress.js (#18498)
Closes: https://github.com/fleetdm/confidential/issues/6215

Changes:
- Updated how psychological stages are set when a user completes a step
of the get started questionnaire

> Note: I'm creating this as a draft PR until I review these changes to
make sure this is what we want to do.
2024-04-26 12:42:48 -05:00
Eric
a6c09cb5f4
Website: Update update-or-create-contact-and-account helper (#18565)
Changes:
- Updated the `salesforce/update-or-create-contact-and-account` helper
to not to try to use `enrichementData.employer.emailDomain` if an
`organization` was provided.
2024-04-26 09:13:46 -05:00
Eric
75511b3d26
Website: update values passed into helper & don't run the Salesforce helper in development environment. (#18560)
Changes:
- Updated the default value that is being sent as a
primaryBuyingSituation
- Updated the updateOrCreateContactAndAccount Salesforce helper to do
nothing in development.
2024-04-26 03:33:26 -05:00
Mike McNeil
e4f1339d6e
Website: sails.helpers.iq.getEnriched() and use code instead of nocode (#18538)
Co-authored-by: Eric <eashaw@sailsjs.com>
2024-04-26 01:50:31 -05:00
Rachael Shaw
850e429b80
Better error handling in "Get human interpretation from osquery sql" (#18529)
+ Use the same "Failed to generate human interpretation using generative
AI." message if you send it something weird like "asdf" (so you don't
get a vague 500 error).
+ Simplify the code a bit

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-04-25 10:19:16 -05:00
Eric
78fbcb8f28
Website: Update personalization on endpoint ops page. (#18502)
Closes: https://github.com/fleetdm/confidential/issues/6255

Changes:
- Updated view-endpoint-ops to sort and exclude quotes based on a user's
`primaryBuyingSituation`.
- Updated the quote by Brendan Shaklovitz in testimonials.yml
- Updated the endpoint ops page to hide/show videos based on a user's
`primaryBuyingSituation`
-
2024-04-25 07:47:35 +09:00
Rachael Shaw
3e37b1b625
Stub out basis for AI-generated employee experience tips and risk register (#18501)
Add new fleetdm.com API endpoint for #18187

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2024-04-24 14:54:50 -05:00
Eric
70745dcf24
Website: update "Get your license" link & login/register pages. (#18489)
Closes: https://github.com/fleetdm/confidential/issues/6199

Changes:
- Updated view-new-license to redirect non-logged-in users to the
/register page (it was previously doing this, but had a policy applied,
so non-logged-in users were always redirected to the signup page.)
- Updated the /register page to support a new input: `purchaseLicense`.
If this query string is provided, the register page will redirect users
who sign up to the /new-license page.
- Updated the /login page to support a new input: `purchaseLicense`. If
this query string is provided, the login page will redirect users who
log in to the /new-license page.
- Updated policies to bypass the is-logged-in policy for the
/new-license page.
- Updated the "get your license" link in the website nav menu to go to
the /new-license page.
2024-04-23 12:25:29 -05:00
Eric
d00e8eb9ac
Website: Update request to Zapier in save-questionnaire-progress.js (#18478)
Related to https://github.com/fleetdm/confidential/issues/6216

Changes:
- Updated the request to Zapier in save-questionnaire-progress to send
the name of the step the user submitted.
2024-04-22 18:52:15 -05:00
Eric
edccff6536
Website: Update error handling in create-vanta-authorization-request (#18462)
Closes: https://github.com/fleetdm/fleet/issues/18448

Changes:
- Updated `create-vanta-authorization-request` to return an
`invalidResponseFromFleetInstance ` response when a response from a
Fleet instance does not contain the expected values (A `user` object for
a request to the `/me` endpoint and a `license` object for the request
to the `/config` endpoint.)
- Updated the /connect-vanta page to show an error message to users
asking them to verify the URL of their Fleet instance if the API
response is invalid.
2024-04-22 16:58:08 -05:00
Sam Pfluger
c936e453a0
Update save-questionnaire-progress.js (#18438)
.
2024-04-20 19:02:06 -05:00
Sam Pfluger
4155734a88
Website: Fix bug where incorrect buying situation was sent to other tool (#18437)
.
2024-04-20 18:27:17 -05:00
Eric
3436c68138
Website: Send request to Zapier when a user completes a step of the /start questionnaire (#18434)
Changes:
- Updated `save-questionnaire-progress.js` to send a request to Zapier
when a user completes a step of the /start questionnaire.
2024-04-19 17:47:17 -05:00