diff --git a/pkg/bindings/util/util.go b/pkg/bindings/util/util.go
index 6296fc22fa..2d65ae9fdb 100644
--- a/pkg/bindings/util/util.go
+++ b/pkg/bindings/util/util.go
@@ -2,6 +2,7 @@ package util
 
 import (
 	"errors"
+	"fmt"
 	"net/url"
 	"reflect"
 	"strconv"
@@ -11,14 +12,25 @@ import (
 )
 
 func IsSimpleType(f reflect.Value) bool {
+	switch f.Interface().(type) {
+	case fmt.Stringer:
+		return true
+	}
+
 	switch f.Kind() {
 	case reflect.Bool, reflect.Int, reflect.Int64, reflect.Uint, reflect.Uint64, reflect.String:
 		return true
 	}
+
 	return false
 }
 
 func SimpleTypeToParam(f reflect.Value) string {
+	switch cast := f.Interface().(type) {
+	case fmt.Stringer:
+		return cast.String()
+	}
+
 	switch f.Kind() {
 	case reflect.Bool:
 		return strconv.FormatBool(f.Bool())
@@ -31,6 +43,7 @@ func SimpleTypeToParam(f reflect.Value) string {
 	case reflect.String:
 		return f.String()
 	}
+
 	panic("the input parameter is not a simple type")
 }