quickpsy can be used to fit sigmoidal functions defined by the user

library(quickpsy)
gompertz_fun <- function(x, p) exp(-p[1] * exp(-p[2] * x))

fit <- qpdat %>% quickpsy(phase, resp, fun = gompertz_fun, parini = c(1,.01), 
                grouping = .(interval))
fit %>% plot()

or even non-sigmoidal functions

n <- 100
x <- seq(-.3,.3,.1) 
k <- c(10, 45, 90, 100, 60, 10, 5)
dat <- data.frame(x, k, n)

gaussian <- function(x, p) exp(-0.5*((x - p[2]) / p[3])^2) / (1 + exp(-p[1]))

fit <- dat %>% quickpsy(x, k, n, fun = gaussian, parini = c(0, 0, 0), 
                thresholds = F) # because the threshold is not well defined
fit %>% plot()