Repository: intuit/auto (ts)

Issue:
Allow slack url to be in a token
**Is your feature request related to a problem? Please describe.**

In our prior workflow, we put the slack URL in an environment variable so folks are less likely to abuse it (see https://github.com/intuit/semantic-release-slack#usage). It would be nice to have a similar flow in auto so we don't have to check in our URLs for the public to see.

**Describe the solution you'd like**

Allowing the slack step to look for `SLACK_WEBHOOK_URL` or some paradigm such that I don't have to set the URL in the repo

**Describe alternatives you've considered**

N/A

Pull request description:
add ability to store slack hook url in environment variable
# What Changed

Store slack token in `process.env` for security.

# Why

closes #830

Todo:

- [x] Add tests
- [x] Add docs

<!-- GITHUB_RELEASE PR BODY: canary-version -->
<details>
  <summary>📦 Published PR as canary version: <code>under canary scope @auto-canary@9.6.0-canary.912.11937.0</code></summary>
  <br />
  
  :sparkles: Test out this PR locally via:
  
  ```sh
  npm install @auto-canary/auto@9.6.0-canary.912.11937.0
  npm install @auto-canary/core@9.6.0-canary.912.11937.0
  npm install @auto-canary/all-contributors@9.6.0-canary.912.11937.0
  npm install @auto-canary/chrome@9.6.0-canary.912.11937.0
  npm install @auto-canary/conventional-commits@9.6.0-canary.912.11937.0
  npm install @auto-canary/crates@9.6.0-canary.912.11937.0
  npm install @auto-canary/first-time-contributor@9.6.0-canary.912.11937.0
  npm install @auto-canary/git-tag@9.6.0-canary.912.11937.0
  npm install @auto-canary/jira@9.6.0-canary.912.11937.0
  npm install @auto-canary/maven@9.6.0-canary.912.11937.0
  npm install @auto-canary/npm@9.6.0-canary.912.11937.0
  npm install @auto-canary/omit-commits@9.6.0-canary.912.11937.0
  npm install @auto-canary/omit-release-notes@9.6.0-canary.912.11937.0
  npm install @auto-canary/released@9.6.0-canary.912.11937.0
  npm install @auto-canary/s3@9.6.0-canary.912.11937.0
  npm install @auto-canary/slack@9.6.0-canary.912.11937.0
  npm install @auto-canary/twitter@9.6.0-canary.912.11937.0
  npm install @auto-canary/upload-assets@9.6.0-canary.912.11937.0
  # or 
  yarn add @auto-canary/auto@9.6.0-canary.912.11937.0
  yarn add @auto-canary/core@9.6.0-canary.912.11937.0
  yarn add @auto-canary/all-contributors@9.6.0-canary.912.11937.0
  yarn add @auto-canary/chrome@9.6.0-canary.912.11937.0
  yarn add @auto-canary/conventional-commits@9.6.0-canary.912.11937.0
  yarn add @auto-canary/crates@9.6.0-canary.912.11937.0
  yarn add @auto-canary/first-time-contributor@9.6.0-canary.912.11937.0
  yarn add @auto-canary/git-tag@9.6.0-canary.912.11937.0
  yarn add @auto-canary/jira@9.6.0-canary.912.11937.0
  yarn add @auto-canary/maven@9.6.0-canary.912.11937.0
  yarn add @auto-canary/npm@9.6.0-canary.912.11937.0
  yarn add @auto-canary/omit-commits@9.6.0-canary.912.11937.0
  yarn add @auto-canary/omit-release-notes@9.6.0-canary.912.11937.0
  yarn add @auto-canary/released@9.6.0-canary.912.11937.0
  yarn add @auto-canary/s3@9.6.0-canary.912.11937.0
  yarn add @auto-canary/slack@9.6.0-canary.912.11937.0
  yarn add @auto-canary/twitter@9.6.0-canary.912.11937.0
  yarn add @auto-canary/upload-assets@9.6.0-canary.912.11937.0
  ```
</details>
<!-- GITHUB_RELEASE PR BODY: canary-version -->


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 71d23c4a..4ef4cfca 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,37 +1,3 @@
-# v9.5.0 (Mon Jan 27 2020)
-
-:tada: This release contains work from a new contributor! :tada:
-
-Thank you, null[@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]), for all your work!
-
-#### 🚀  Enhancement
-
-- `auto`, `@auto-it/core`, `@auto-it/jira`, `@auto-it/npm`, `@auto-it/slack`
-  - Overhaul "auto init" experience + make it pluggable [#901](https://github.com/intuit/auto/pull/901) ([@hipstersmoothie](https://github.com/hipstersmoothie))
-
-#### 🔩 Dependency Updates
-
-- Bump @typescript-eslint/eslint-plugin from 2.12.0 to 2.17.0 [#905](https://github.com/intuit/auto/pull/905) ([@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
-- Bump jest and ts-jest [#911](https://github.com/intuit/auto/pull/911) ([@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
-- Bump husky from 4.0.10 to 4.2.1 [#909](https://github.com/intuit/auto/pull/909) ([@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
-- Bump graphql from 14.5.8 to 14.6.0 [#907](https://github.com/intuit/auto/pull/907) ([@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
-- Bump command-line-application from 0.9.5 to 0.9.6 [#906](https://github.com/intuit/auto/pull/906) ([@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
-- Bump @typescript-eslint/parser from 2.16.0 to 2.17.0 [#904](https://github.com/intuit/auto/pull/904) ([@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
-- Bump endent from 1.3.0 to 1.4.0 [#903](https://github.com/intuit/auto/pull/903) ([@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
-- `@auto-it/core`
-  - Bump @octokit/plugin-throttling from 2.7.1 to 3.2.0 [#902](https://github.com/intuit/auto/pull/902) ([@hipstersmoothie](https://github.com/hipstersmoothie) [@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
-- `@auto-it/core`
-  - Bump @octokit/plugin-retry from 2.2.0 to 3.0.1 [#910](https://github.com/intuit/auto/pull/910) ([@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]) [@hipstersmoothie](https://github.com/hipstersmoothie))
-- `@auto-it/core`
-  - Bump @octokit/rest from 16.37.0 to 16.38.3 [#908](https://github.com/intuit/auto/pull/908) ([@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
-
-#### Authors: 2
-
-- [@dependabot-preview[bot]](https://github.com/dependabot-preview[bot])
-- Andrew Lisowski ([@hipstersmoothie](https://github.com/hipstersmoothie))
-
----
-
 # v9.4.1 (Sat Jan 25 2020)
 
 #### 🐛  Bug Fix
diff --git a/Formula/auto.rb b/Formula/auto.rb
index da15d0bf..ce2eda75 100644
--- a/Formula/auto.rb
+++ b/Formula/auto.rb
@@ -1,8 +1,8 @@
 class Auto < Formula
   desc "Generate releases based on semantic version labels on pull requests."
   homepage "https://intuit.github.io/auto/home.html"
-  url "https://github.com/intuit/auto/releases/download/v9.5.0/auto-macos.gz"
-  sha256 "f3bf212c61dd6705dc7cfe0a786939afb0eefe5275932ec5edfc1b67ca087c97"
+  url "https://github.com/intuit/auto/releases/download/v9.4.1/auto-macos.gz"
+  sha256 "c6a35a3f52d6da6ef76dd8096ad6200a36059a870546d06b20774803cf093fd4"
 
   def install
     libexec.install Dir["*"]
diff --git a/lerna.json b/lerna.json
index 71296ee5..9dd4ce68 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "9.5.0",
+  "version": "9.4.1",
   "npmClient": "yarn",
   "useWorkspaces": true,
   "packages": [
diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md
index bd929ea1..647b1299 100644
--- a/packages/cli/CHANGELOG.md
+++ b/packages/cli/CHANGELOG.md
@@ -1,15 +1,3 @@
-# v9.5.0 (Mon Jan 27 2020)
-
-#### 🐛  Bug Fix
-
-- Overhaul "auto init" experience + make it pluggable  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-
-#### Authors: 1
-
-- Andrew Lisowski ([@hipstersmoothie](https://github.com/hipstersmoothie))
-
----
-
 # v9.2.1 (Fri Jan 24 2020)
 
 #### 🐛  Bug Fix
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 67434973..d17e260f 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -2,7 +2,7 @@
   "name": "auto",
   "bin": "dist/bin/auto.js",
   "description": "CLI tools to help facilitate semantic versioning based on GitHub PR labels",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "author": {
     "name": "Andrew Lisowski",
     "email": "lisowski54@gmail.com"
diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md
index aacbe390..8e90ca77 100644
--- a/packages/core/CHANGELOG.md
+++ b/packages/core/CHANGELOG.md
@@ -1,45 +1,3 @@
-# v9.5.0 (Mon Jan 27 2020)
-
-:tada: This release contains work from a new contributor! :tada:
-
-Thank you, null[@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]), for all your work!
-
-#### 🐛  Bug Fix
-
-- fix lint  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-- add next steps  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-- Overhaul "auto init" experience + make it pluggable  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-- fix build  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-- fix test  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-- Bump @octokit/plugin-throttling from 2.7.1 to 3.2.0
-
-Bumps [@octokit/plugin-throttling](https://github.com/octokit/plugin-throttling.js) from 2.7.1 to 3.2.0.
-- [Release notes](https://github.com/octokit/plugin-throttling.js/releases)
-- [Commits](https://github.com/octokit/plugin-throttling.js/compare/v2.7.1...v3.2.0)
-
-Signed-off-by: dependabot-preview[bot] <support@dependabot.com>  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-- Bump @octokit/plugin-retry from 2.2.0 to 3.0.1
-
-Bumps [@octokit/plugin-retry](https://github.com/octokit/plugin-retry.js) from 2.2.0 to 3.0.1.
-- [Release notes](https://github.com/octokit/plugin-retry.js/releases)
-- [Commits](https://github.com/octokit/plugin-retry.js/compare/v2.2.0...v3.0.1)
-
-Signed-off-by: dependabot-preview[bot] <support@dependabot.com>  ([@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
-- Bump @octokit/rest from 16.37.0 to 16.38.3
-
-Bumps [@octokit/rest](https://github.com/octokit/rest.js) from 16.37.0 to 16.38.3.
-- [Release notes](https://github.com/octokit/rest.js/releases)
-- [Commits](https://github.com/octokit/rest.js/compare/v16.37.0...v16.38.3)
-
-Signed-off-by: dependabot-preview[bot] <support@dependabot.com>  ([@dependabot-preview[bot]](https://github.com/dependabot-preview[bot]))
-
-#### Authors: 2
-
-- [@dependabot-preview[bot]](https://github.com/dependabot-preview[bot])
-- Andrew Lisowski ([@hipstersmoothie](https://github.com/hipstersmoothie))
-
----
-
 # v9.4.0 (Sat Jan 25 2020)
 
 #### 🐛  Bug Fix
diff --git a/packages/core/package.json b/packages/core/package.json
index e3eef5cd..92719492 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/core",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "description": "Node API for using auto.",
   "main": "dist/auto.js",
   "author": {
diff --git a/plugins/all-contributors/package.json b/plugins/all-contributors/package.json
index 7a45843a..c29df3e4 100644
--- a/plugins/all-contributors/package.json
+++ b/plugins/all-contributors/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/all-contributors",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Automatically add contributors as changelogs are produced.",
   "author": {
diff --git a/plugins/chrome/package.json b/plugins/chrome/package.json
index 1796880e..fe053388 100644
--- a/plugins/chrome/package.json
+++ b/plugins/chrome/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/chrome",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Chrome publishing plugin for auto",
   "author": {
diff --git a/plugins/conventional-commits/package.json b/plugins/conventional-commits/package.json
index bad6ce40..09dc9c1f 100644
--- a/plugins/conventional-commits/package.json
+++ b/plugins/conventional-commits/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/conventional-commits",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Conventional commit plugin for auto",
   "author": {
diff --git a/plugins/crates/package.json b/plugins/crates/package.json
index f161dc6e..8e78cf46 100644
--- a/plugins/crates/package.json
+++ b/plugins/crates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/crates",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Deploy Rust crates to crates.io",
   "author": {
diff --git a/plugins/first-time-contributor/package.json b/plugins/first-time-contributor/package.json
index cc5f5567..85b1f22a 100644
--- a/plugins/first-time-contributor/package.json
+++ b/plugins/first-time-contributor/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/first-time-contributor",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Thank first time contributors for their work right in your release notes.",
   "author": {
diff --git a/plugins/git-tag/package.json b/plugins/git-tag/package.json
index 2641b834..1bbb4bd2 100644
--- a/plugins/git-tag/package.json
+++ b/plugins/git-tag/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/git-tag",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Manage your projects version through just a git tag",
   "author": {
diff --git a/plugins/jira/CHANGELOG.md b/plugins/jira/CHANGELOG.md
index 018e26a0..2fa2e987 100644
--- a/plugins/jira/CHANGELOG.md
+++ b/plugins/jira/CHANGELOG.md
@@ -1,16 +1,3 @@
-# v9.5.0 (Mon Jan 27 2020)
-
-#### 🐛  Bug Fix
-
-- fix lint  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-- Overhaul "auto init" experience + make it pluggable  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-
-#### Authors: 1
-
-- Andrew Lisowski ([@hipstersmoothie](https://github.com/hipstersmoothie))
-
----
-
 # v8.6.0 (Tue Dec 17 2019)
 
 #### 🐛  Bug Fix
diff --git a/plugins/jira/package.json b/plugins/jira/package.json
index 7e665079..5fcf16f7 100644
--- a/plugins/jira/package.json
+++ b/plugins/jira/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/jira",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Jira plugin for auto",
   "author": {
diff --git a/plugins/maven/package.json b/plugins/maven/package.json
index cc885bf8..fcf288dc 100644
--- a/plugins/maven/package.json
+++ b/plugins/maven/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/maven",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Maven publishing plugin for auto",
   "author": {
diff --git a/plugins/npm/CHANGELOG.md b/plugins/npm/CHANGELOG.md
index ea6fe09d..93ceb42b 100644
--- a/plugins/npm/CHANGELOG.md
+++ b/plugins/npm/CHANGELOG.md
@@ -1,17 +1,3 @@
-# v9.5.0 (Mon Jan 27 2020)
-
-#### 🐛  Bug Fix
-
-- fix lint  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-- add next steps  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-- Overhaul "auto init" experience + make it pluggable  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-
-#### Authors: 1
-
-- Andrew Lisowski ([@hipstersmoothie](https://github.com/hipstersmoothie))
-
----
-
 # v9.4.0 (Sat Jan 25 2020)
 
 #### 🐛  Bug Fix
diff --git a/plugins/npm/package.json b/plugins/npm/package.json
index 77001e6f..4030c96a 100644
--- a/plugins/npm/package.json
+++ b/plugins/npm/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/npm",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "NPM publishing plugin for auto",
   "author": {
diff --git a/plugins/omit-commits/package.json b/plugins/omit-commits/package.json
index 0a9f9f6c..c16c3479 100644
--- a/plugins/omit-commits/package.json
+++ b/plugins/omit-commits/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/omit-commits",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Omit commits plugin for auto",
   "author": {
diff --git a/plugins/omit-release-notes/package.json b/plugins/omit-release-notes/package.json
index e7be329a..27d122da 100644
--- a/plugins/omit-release-notes/package.json
+++ b/plugins/omit-release-notes/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/omit-release-notes",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Omit release notes plugin for auto",
   "author": {
diff --git a/plugins/released/package.json b/plugins/released/package.json
index ba65bb67..0d3055f9 100644
--- a/plugins/released/package.json
+++ b/plugins/released/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/released",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Released plugin for auto. Comments with version + extra",
   "author": {
diff --git a/plugins/s3/package.json b/plugins/s3/package.json
index 53cf0528..dc95c363 100644
--- a/plugins/s3/package.json
+++ b/plugins/s3/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/s3",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Post your built artifacts to s3",
   "author": {
diff --git a/plugins/slack/CHANGELOG.md b/plugins/slack/CHANGELOG.md
index 3af1fc0e..1546a167 100644
--- a/plugins/slack/CHANGELOG.md
+++ b/plugins/slack/CHANGELOG.md
@@ -1,16 +1,3 @@
-# v9.5.0 (Mon Jan 27 2020)
-
-#### 🐛  Bug Fix
-
-- fix lint  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-- Overhaul "auto init" experience + make it pluggable  ([@hipstersmoothie](https://github.com/hipstersmoothie))
-
-#### Authors: 1
-
-- Andrew Lisowski ([@hipstersmoothie](https://github.com/hipstersmoothie))
-
----
-
 # v8.8.0 (Thu Jan 02 2020)
 
 #### 🐛  Bug Fix
diff --git a/plugins/slack/README.md b/plugins/slack/README.md
index 6c42d94f..e0411500 100644
--- a/plugins/slack/README.md
+++ b/plugins/slack/README.md
@@ -19,6 +19,7 @@ To use the plugin include it in your `.autorc`.
 ```json
 {
   "plugins": [
+    // or
     ["slack", { "url": "https://url-to-your-slack-hook.com" }],
     // or
     ["slack", "https://url-to-your-slack-hook.com"],
@@ -26,12 +27,14 @@ To use the plugin include it in your `.autorc`.
     [
       "slack",
       { "url": "https://url-to-your-slack-hook.com", "atTarget": "here" }
-    ]
+    ],
+    // Below: Uses slack hook set in process.env.SLACK_WEBHOOK_URL
+    "slack"
   ]
 }
 ```
 
-This URL should be to you webhook. If you require a token to post to a slack hook, make sure you have a `SLACK_TOKEN` variable available on your environment. This token will be added to eh URL as a query string parameter.
+This URL should be to you webhook. Store it in `SLACK_WEBHOOK_URL` for more security. If you require a token to post to a slack hook, make sure you have a `SLACK_TOKEN` variable available on your environment. This token will be added to eh URL as a query string parameter.
 
 ### Next
 
diff --git a/plugins/slack/package.json b/plugins/slack/package.json
index 99bef950..77423efb 100644
--- a/plugins/slack/package.json
+++ b/plugins/slack/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/slack",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Slack plugin for auto",
   "author": {
diff --git a/plugins/slack/src/index.ts b/plugins/slack/src/index.ts
index 7a364c7c..5c05a7a7 100644
--- a/plugins/slack/src/index.ts
+++ b/plugins/slack/src/index.ts
@@ -1,13 +1,12 @@
 import { githubToSlack } from '@atomist/slack-messages';
-import { Auto, IPlugin, getCurrentBranch, InteractiveInit } from '@auto-it/core';
+import {
+  Auto,
+  IPlugin,
+  getCurrentBranch,
+  InteractiveInit
+} from '@auto-it/core';
 import fetch from 'node-fetch';
 import join from 'url-join';
-import {prompt} from 'enquirer'
-
-interface InputResponse<T = 'string'> {
-  /** he value of the input prompt */
-  value: T;
-}
 
 /** Transform markdown into slack friendly text */
 const sanitizeMarkdown = (markdown: string) =>
@@ -25,7 +24,7 @@ const sanitizeMarkdown = (markdown: string) =>
 
 interface ISlackPluginOptions {
   /** URL of the slack to post to */
-  url: string;
+  url?: string;
   /** Who to bother when posting to the channel */
   atTarget?: string;
   /** Allow users to opt into having prereleases posted to slack */
@@ -41,12 +40,12 @@ export default class SlackPlugin implements IPlugin {
   readonly options: ISlackPluginOptions;
 
   /** Initialize the plugin with it's options */
-  constructor(options: ISlackPluginOptions | string) {
+  constructor(options: ISlackPluginOptions | string = {}) {
     if (typeof options === 'string') {
       this.options = { url: options, atTarget: 'channel' };
     } else {
       this.options = {
-        url: options.url ? options.url : '',
+        url: process.env.SLACK_WEBHOOK_URL || options.url || '',
         atTarget: options.atTarget ? options.atTarget : 'channel',
         publishPreRelease: options.publishPreRelease
           ? options.publishPreRelease
@@ -57,18 +56,13 @@ export default class SlackPlugin implements IPlugin {
 
   /** Custom initialization for this plugin */
   init(initializer: InteractiveInit) {
-    initializer.hooks.configurePlugin.tapPromise(this.name, async (name) => {
-      if (name === 'slack') {
-        const url = await prompt<InputResponse>({
-          type: 'input',
-          name: 'value',
-          message: 'What is the root url of your slack hook?',
-          required: true
-        });
-
-        return ['slack', url.value]
+    initializer.hooks.createEnv.tapPromise(this.name, async vars => [
+      ...vars,
+      {
+        variable: 'SLACK_WEBHOOK_URL',
+        message: 'What is the root url of your slack hook? ()'
       }
-    })
+    ]);
   }
 
   /** Tap into auto plugin points. */
diff --git a/plugins/twitter/package.json b/plugins/twitter/package.json
index 35c071f7..7e365a9f 100644
--- a/plugins/twitter/package.json
+++ b/plugins/twitter/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/twitter",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Twitter plugin for auto",
   "author": {
diff --git a/plugins/upload-assets/package.json b/plugins/upload-assets/package.json
index 77260d06..3c90009c 100644
--- a/plugins/upload-assets/package.json
+++ b/plugins/upload-assets/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@auto-it/upload-assets",
-  "version": "9.5.0",
+  "version": "9.4.1",
   "main": "dist/index.js",
   "description": "Upload assets plugin for auto",
   "author": {


Test patch:
diff --git a/plugins/slack/__tests__/__snapshots__/slack.test.ts.snap b/plugins/slack/__tests__/__snapshots__/slack.test.ts.snap
index 3f632605..db792147 100644
--- a/plugins/slack/__tests__/__snapshots__/slack.test.ts.snap
+++ b/plugins/slack/__tests__/__snapshots__/slack.test.ts.snap
@@ -2,6 +2,8 @@
 
 exports[`postToSlack should call slack api 1`] = `"{\\"text\\":\\"@channel: New release *<https://github.custom.com/adierkens/test/releases/tag/1.0.0|1.0.0>*\\\\n* My Notes*\\\\n• PR <google.com|some link>\\",\\"link_names\\":1}"`;
 
+exports[`postToSlack should call slack api in env var 1`] = `"{\\"text\\":\\"@channel: New release *<https://github.custom.com/adierkens/test/releases/tag/1.0.0|1.0.0>*\\\\n* My Notes*\\\\n• PR <google.com|some link>\\",\\"link_names\\":1}"`;
+
 exports[`postToSlack should call slack api with custom atTarget 1`] = `"{\\"text\\":\\"@here: New release *<https://github.custom.com/adierkens/test/releases/tag/1.0.0|1.0.0>*\\\\n* My Notes*\\\\n• PR <google.com|some link>\\",\\"link_names\\":1}"`;
 
 exports[`postToSlack should call slack api with minimal config 1`] = `"{\\"text\\":\\"@channel: New release *<https://github.custom.com/adierkens/test/releases/tag/1.0.0|1.0.0>*\\\\n* My Notes*\\\\n• PR <google.com|some link>\\",\\"link_names\\":1}"`;
diff --git a/plugins/slack/__tests__/slack.test.ts b/plugins/slack/__tests__/slack.test.ts
index 58a0e779..bb57b383 100644
--- a/plugins/slack/__tests__/slack.test.ts
+++ b/plugins/slack/__tests__/slack.test.ts
@@ -116,7 +116,7 @@ describe('postToSlack', () => {
   test("doesn't post when prelease branch and using default prereleasePublish setting", async () => {
     // @ts-ignore
     const plugin = new SlackPlugin({
-      url: 'https://custom-slack-url',
+      url: 'https://custom-slack-url'
     });
     const hooks = makeHooks();
 
@@ -140,6 +140,7 @@ describe('postToSlack', () => {
     });
     expect(fetchSpy).not.toHaveBeenCalled();
   });
+
   test("doesn't post when prelease branch setting is false", async () => {
     // @ts-ignore
     const plugin = new SlackPlugin({
@@ -270,4 +271,23 @@ describe('postToSlack', () => {
     expect(fetchSpy.mock.calls[0][1].body.includes('@here')).toBe(true);
     expect(fetchSpy.mock.calls[0][1].body).toMatchSnapshot();
   });
+
+  test('should call slack api in env var', async () => {
+    process.env.SLACK_WEBHOOK_URL = 'https://foo.bar';
+    const plugin = new SlackPlugin();
+    const hooks = makeHooks();
+    process.env.SLACK_TOKEN = 'MY_TOKEN';
+    plugin.apply({ hooks, options: {}, ...mockAuto } as Auto);
+
+    await hooks.afterRelease.promise({
+      newVersion: '1.0.0',
+      lastRelease: '0.1.0',
+      commits: [makeCommitFromMsg('a patch')],
+      releaseNotes: '# My Notes\n- PR [some link](google.com)'
+    });
+
+    expect(fetchSpy).toHaveBeenCalled();
+    expect(fetchSpy.mock.calls[0][0]).toBe('https://foo.bar?token=MY_TOKEN');
+    expect(fetchSpy.mock.calls[0][1].body).toMatchSnapshot();
+  });
 });