diff --git a/pkgs/development/python-modules/slackclient/default.nix b/pkgs/development/python-modules/slackclient/default.nix
new file mode 100644
index 000000000000..71163a2f11f6
--- /dev/null
+++ b/pkgs/development/python-modules/slackclient/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, websocket_client, requests, six, pytest, codecov, coverage, mock, pytestcov, pytest-mock, responses, flake8 }:
+
+buildPythonPackage rec {
+  pname = "python-slackclient";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    owner  = "slackapi";
+    repo   = pname;
+    rev    = "${version}";
+    sha256 = "073fwf6fm2sqdp5ms3vm1v3ljh0pldi69k048404rp6iy3cfwkp0";
+  };
+
+  propagatedBuildInputs = [ websocket_client requests six ];
+
+  checkInputs = [ pytest codecov coverage mock pytestcov pytest-mock responses flake8 ];
+  # test_server.py fails because it needs connection (I think);
+  checkPhase = ''
+    py.test --cov-report= --cov=slackclient tests --ignore=tests/test_server.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A client for Slack, which supports the Slack Web API and Real Time Messaging (RTM) API";
+    homepage = https://github.com/slackapi/python-slackclient;
+    license = licenses.mit;
+    maintainers = with maintainers; [ psyanticy ];
+  };
+}
+
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index c85af34cb12a..547e4c475dba 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -483,6 +483,8 @@ in {
 
   sklearn-deap = callPackage ../development/python-modules/sklearn-deap { };
 
+  slackclient = callPackage ../development/python-modules/slackclient { };
+
   spglib = callPackage ../development/python-modules/spglib { };
 
   supervise_api = callPackage ../development/python-modules/supervise_api { };
@@ -17653,18 +17655,6 @@ EOF
     propagatedBuildInputs = with self; [ six ];
   };
 
-  slackclient = buildPythonPackage rec {
-    name = "slackclient-${version}";
-    version = "1.0.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/slackclient/${name}.tar.gz";
-      sha256 = "063cbzp1fbdipv53gb0hnban1pg80pls0lbld98lhnykzkcb6vf0";
-    };
-
-    propagatedBuildInputs = with self; [ websocket_client requests ];
-  };
-
   tempora= callPackage ../development/python-modules/tempora { };
 
   hypchat = callPackage ../development/python-modules/hypchat { };