Skip to main content
January 29, 2026
Question

Query Parameter Encoding Issue: Spaces encoded as + but API encodes it as %20 - Is there a workaround?

  • January 29, 2026
  • 5 replies
  • 0 views

Hello Appian Community,

I'm experiencing a URL encoding challenge with query parameters in an integration and would like to know if there's a solution or workaround.

The Problem:

I need to pass query parameter values that contain spaces (e.g., "North America") to an external API via a GET request. When I use Appian's standard Query Parameters in my integration object, the spaces are encoded as + signs, resulting in ?searchText=North+America.

However, the external API we're integrating with does not recognize + as a space character and requires spaces to be encoded as %20 (i.e., ?searchText=North%20America).

What I've Tried:

  1. Pre-encoding the parameter with substitute() - Replacing spaces with %20 before passing to the integration causes double encoding, resulting in %2520 because Appian encodes the % character itself
  2. Using urlwithparameters() function - Still produces + encoding for spaces, which follows the application/x-www-form-urlencoded standard
  3. Standard Query Parameters section - Consistently encodes spaces as + signs
  4. Building URL manually in Relative Path - Same encoding behavior

My Questions:

  1. Is there any way in Appian to force query parameters to use %20 encoding for spaces instead of + encoding?
  2. Is it even possible to pass literal spaces (unencoded) in query parameter values, or will Appian always encode them?
  3. Are there any alternative approaches or workarounds to handle this scenario?

Additional Context:

  • Integration uses a Connected System with GET method
  • Cannot modify the external API to accept + encoding
  • API endpoint only accepts GET requests (POST with JSON body is not an option)
  • Cannot change the parameter values to avoid spaces (business requirement)

Has anyone encountered a similar issue or found a workaround for controlling the URL encoding format in Appian integrations?

Thank you in advance for any guidance!

5 replies

harshas2775
January 30, 2026

Suggest you to do the below. 

1. Select 'Build URL from Scratch' in the integration. 

2. Use urlwithparameters like() this in the URL configuration 

urlwithparameters(
   "https://openlibrary.org/search.json",
   {"q"},
   {"the lord of the rings"}
 )

3. Leave Query Parameters empty

January 30, 2026

okay i tried implementing that, but our requirement needs passing parameters and values, the urlwithparameters helped me in encoding but still cant get the data out of it.[mention:65b14048184a4eb5aff3a76c87b97431:e9ed411860ed4f2ba0265705b8793d05] . can you help me out on this , if you have a fix for this.

harshas2775
January 30, 2026

Whatever data you need to pass you can pass as rule inputs to the integration and then create urlwithparameters() to work with rule inputs in place of hard code values - the result should be same. Query parameters explicitly would not be needed.