diff --git a/CHANGELOG.md b/CHANGELOG.md
index ae468b85d8b..918c900d43c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
 ## v2.0.0-beta.6 [unreleased]
 
 ### Features
+1. [17085](https://github.com/influxdata/influxdb/pull/17085): Clicking on bucket name takes user to Data Explorer with bucket selected
 
 ### Bug Fixes
 
diff --git a/ui/cypress/e2e/buckets.test.ts b/ui/cypress/e2e/buckets.test.ts
index 4ba40f0b08c..b41f9383b55 100644
--- a/ui/cypress/e2e/buckets.test.ts
+++ b/ui/cypress/e2e/buckets.test.ts
@@ -49,7 +49,7 @@ describe('Buckets', () => {
 
     it("can update a bucket's retention rules", () => {
       cy.get<Bucket>('@bucket').then(({name}: Bucket) => {
-        cy.getByTestID(`bucket--card--name ${name}`).click()
+        cy.getByTestID(`bucket-settings`).click()
         cy.getByTestID(`bucket--card--name ${name}`).should(
           'not.contain',
           '7 days'
diff --git a/ui/src/buckets/components/BucketCard.tsx b/ui/src/buckets/components/BucketCard.tsx
index d8b4233a354..005274991ca 100644
--- a/ui/src/buckets/components/BucketCard.tsx
+++ b/ui/src/buckets/components/BucketCard.tsx
@@ -70,19 +70,10 @@ class BucketRow extends PureComponent<Props & WithRouterProps & DispatchProps> {
 
   private get cardName(): JSX.Element {
     const {bucket} = this.props
-    if (bucket.type === 'user') {
-      return (
-        <ResourceCard.Name
-          testID={`bucket--card--name ${bucket.name}`}
-          onClick={this.handleNameClick}
-          name={bucket.name}
-        />
-      )
-    }
-
     return (
       <ResourceCard.Name
         testID={`bucket--card--name ${bucket.name}`}
+        onClick={this.handleNameClick}
         name={bucket.name}
       />
     )
@@ -126,10 +117,10 @@ class BucketRow extends PureComponent<Props & WithRouterProps & DispatchProps> {
             onAddScraper={this.handleAddScraper}
           />
           <Button
-            text="Rename"
-            testID="bucket-rename"
+            text="Settings"
+            testID="bucket-settings"
             size={ComponentSize.ExtraSmall}
-            onClick={this.handleRenameBucket}
+            onClick={this.handleClickSettings}
           />
           <FeatureFlag name="deleteWithPredicate">
             <Button
@@ -162,24 +153,24 @@ class BucketRow extends PureComponent<Props & WithRouterProps & DispatchProps> {
     onDeleteData(bucket)
   }
 
-  private handleRenameBucket = () => {
+  private handleClickSettings = () => {
     const {
       params: {orgID},
       bucket: {id},
       router,
     } = this.props
 
-    router.push(`/orgs/${orgID}/load-data/buckets/${id}/rename`)
+    router.push(`/orgs/${orgID}/load-data/buckets/${id}/edit`)
   }
 
   private handleNameClick = (): void => {
     const {
       params: {orgID},
-      bucket: {id},
+      bucket: {name},
       router,
     } = this.props
 
-    router.push(`/orgs/${orgID}/load-data/buckets/${id}/edit`)
+    router.push(`/orgs/${orgID}/data-explorer?bucket=${name}`)
   }
 
   private handleAddCollector = (): void => {
diff --git a/ui/src/buckets/components/BucketOverlayForm.tsx b/ui/src/buckets/components/BucketOverlayForm.tsx
index d3b2fa7b566..8236eca6256 100644
--- a/ui/src/buckets/components/BucketOverlayForm.tsx
+++ b/ui/src/buckets/components/BucketOverlayForm.tsx
@@ -28,6 +28,7 @@ interface Props {
   onChangeInput: (e: ChangeEvent<HTMLInputElement>) => void
   disableRenaming: boolean
   buttonText: string
+  onClickRename?: () => void
 }
 
 export default class BucketOverlayForm extends PureComponent<Props> {
@@ -43,6 +44,7 @@ export default class BucketOverlayForm extends PureComponent<Props> {
       onChangeInput,
       onChangeRuleType,
       onChangeRetentionRule,
+      onClickRename,
     } = this.props
 
     const nameInputStatus = disableRenaming && ComponentStatus.Disabled
@@ -91,6 +93,13 @@ export default class BucketOverlayForm extends PureComponent<Props> {
                   onClick={onCloseModal}
                   type={ButtonType.Button}
                 />
+                {buttonText === 'Save Changes' && (
+                  <Button
+                    text="Rename"
+                    color={ComponentColor.Danger}
+                    onClick={onClickRename}
+                  />
+                )}
                 <Button
                   text={buttonText}
                   color={this.submitButtonColor}
@@ -119,7 +128,7 @@ export default class BucketOverlayForm extends PureComponent<Props> {
 
   private get nameHelpText(): string {
     if (this.props.disableRenaming) {
-      return 'To rename the bucket use the RENAME button. Bucket renaming is not allowed here.'
+      return 'To rename bucket use the RENAME button below'
     }
 
     return ''
diff --git a/ui/src/buckets/components/UpdateBucketOverlay.tsx b/ui/src/buckets/components/UpdateBucketOverlay.tsx
index 66f2f8f07ce..95b00c3a2d5 100644
--- a/ui/src/buckets/components/UpdateBucketOverlay.tsx
+++ b/ui/src/buckets/components/UpdateBucketOverlay.tsx
@@ -114,6 +114,10 @@ const UpdateBucketOverlay: FunctionComponent<Props> = ({
     router.push(`/orgs/${orgID}/load-data/buckets`)
   }
 
+  const handleClickRename = () => {
+    router.push(`/orgs/${orgID}/load-data/buckets/${bucketID}/rename`)
+  }
+
   const rules = get(bucketDraft, 'retentionRules', [])
   const rule = rules.find(r => r.type === 'expire')
 
@@ -140,6 +144,7 @@ const UpdateBucketOverlay: FunctionComponent<Props> = ({
               retentionSeconds={retentionSeconds}
               onChangeRuleType={handleChangeRuleType}
               onChangeRetentionRule={handleChangeRetentionRule}
+              onClickRename={handleClickRename}
             />
           </Overlay.Body>
         </SpinnerContainer>
diff --git a/ui/src/dataExplorer/components/DataExplorer.tsx b/ui/src/dataExplorer/components/DataExplorer.tsx
index 833aff4224f..cdbe142c240 100644
--- a/ui/src/dataExplorer/components/DataExplorer.tsx
+++ b/ui/src/dataExplorer/components/DataExplorer.tsx
@@ -1,5 +1,5 @@
 // Libraries
-import React, {PureComponent} from 'react'
+import React, {FC, useEffect} from 'react'
 import {connect} from 'react-redux'
 
 // Components
@@ -9,40 +9,46 @@ import RateLimitAlert from 'src/cloud/components/RateLimitAlert'
 
 // Actions
 import {setActiveTimeMachine} from 'src/timeMachine/actions'
+import {setBuilderBucketIfExists} from 'src/timeMachine/actions/queryBuilder'
 
 // Utils
 import {HoverTimeProvider} from 'src/dashboards/utils/hoverTime'
 import {queryBuilderFetcher} from 'src/timeMachine/apis/QueryBuilderFetcher'
+import {readQueryParams} from 'src/shared/utils/queryParams'
 
 interface DispatchProps {
   onSetActiveTimeMachine: typeof setActiveTimeMachine
+  onSetBuilderBucketIfExists: typeof setBuilderBucketIfExists
 }
 
 type Props = DispatchProps
-class DataExplorer extends PureComponent<Props, {}> {
-  constructor(props: Props) {
-    super(props)
 
-    props.onSetActiveTimeMachine('de')
+const DataExplorer: FC<Props> = ({
+  onSetActiveTimeMachine,
+  onSetBuilderBucketIfExists,
+}) => {
+  useEffect(() => {
+    const bucketQP = readQueryParams()['bucket']
+    onSetActiveTimeMachine('de')
     queryBuilderFetcher.clearCache()
-  }
-
-  public render() {
-    return (
-      <LimitChecker>
-        <RateLimitAlert />
-        <div className="data-explorer">
-          <HoverTimeProvider>
-            <TimeMachine />
-          </HoverTimeProvider>
-        </div>
-      </LimitChecker>
-    )
-  }
+    onSetBuilderBucketIfExists(bucketQP)
+  }, [])
+
+  return (
+    <LimitChecker>
+      <RateLimitAlert />
+      <div className="data-explorer">
+        <HoverTimeProvider>
+          <TimeMachine />
+        </HoverTimeProvider>
+      </div>
+    </LimitChecker>
+  )
 }
 
 const mdtp: DispatchProps = {
   onSetActiveTimeMachine: setActiveTimeMachine,
+  onSetBuilderBucketIfExists: setBuilderBucketIfExists,
 }
 
 export default connect<{}, DispatchProps, {}>(
diff --git a/ui/src/timeMachine/actions/queryBuilder.ts b/ui/src/timeMachine/actions/queryBuilder.ts
index bb6f53d4ade..bf9c7eaab29 100644
--- a/ui/src/timeMachine/actions/queryBuilder.ts
+++ b/ui/src/timeMachine/actions/queryBuilder.ts
@@ -13,6 +13,8 @@ import {
   BuilderAggregateFunctionType,
   GetState,
   RemoteDataState,
+  ResourceType,
+  Bucket,
 } from 'src/types'
 import {Dispatch} from 'react'
 import {BuilderFunctionsType} from '@influxdata/influx'
@@ -23,6 +25,7 @@ import {
 
 // Selectors
 import {getOrg} from 'src/organizations/selectors'
+import {getAll} from 'src/resources/selectors'
 
 export type Action =
   | ReturnType<typeof setBuilderAggregateFunctionType>
@@ -404,3 +407,13 @@ export const reloadTagSelectors = () => (dispatch: Dispatch<Action>) => {
   dispatch(setBuilderTagsStatus(RemoteDataState.Loading))
   dispatch(loadTagSelector(0))
 }
+
+export const setBuilderBucketIfExists = (bucketName: string) => (
+  dispatch: Dispatch<Action>,
+  getState: GetState
+) => {
+  const buckets = getAll<Bucket>(getState(), ResourceType.Buckets)
+  if (buckets.find(b => b.name === bucketName)) {
+    dispatch(setBuilderBucket(bucketName, true))
+  }
+}