private <T extends SlackResponse> CompletableFuture<Result<T, SlackError>> postSlackCommandUrlEncoded( SlackMethod method, Multimap<String, String> params, Class<T> responseType ) { HttpRequest.Builder requestBuilder = buildBaseSlackPost(method) .setContentType(ContentType.FORM); params.entries() .forEach(param -> requestBuilder.setFormParam(param.getKey()).to(param.getValue())); requestBuilder.setQueryParam("token").to(config.getTokenSupplier().get()); return executeLoggedAs(method, requestBuilder.build(), responseType); }