> For the complete documentation index, see [llms.txt](https://developers.make.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.make.com/custom-apps-documentation/debug-your-app/debugging-rpc.md).

# Remote Procedure Calls

To find the RPC debug tool:

{% stepper %}
{% step %}
Navigate to the Custom apps area.
{% endstep %}

{% step %}
Select your custom app from the list.
{% endstep %}

{% step %}
Click the **Remote Procedures** tab.
{% endstep %}

{% step %}
Select the RPC you want to debug.
{% endstep %}

{% step %}
Click **Test RPC**.

<div align="left"><figure><img src="/files/WnJes3YCfiWBRWuffTBP" alt="" width="563"><figcaption><p><br></p></figcaption></figure></div>
{% endstep %}
{% endstepper %}

## RPC page

Compare the tabs below to learn how to access information about your RPCs in Make.

### Communication tab

After creating a new RPC, you can modify the default template in the Communications tab for your needs.

{% tabs %}
{% tab title="Default Communication" %}

<div align="left"><figure><img src="/files/cXNGC4g5jXRnFzIDv8VW" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Inside RPC, you can use the relative path and the full form of the URL.

However, we advise using the relative path across all your RPCs and modules.

A relative path is added to the `"baseUrl"` that you need to specify inside the app Base.
{% endhint %}
{% endtab %}

{% tab title="Customized Communication" %}

<div align="left"><figure><img src="/files/6RkhJHKfMbgEGzO6FR1F" alt="" width="563"><figcaption></figcaption></figure></div>
{% endtab %}
{% endtabs %}

### Parameters tab

By default, the Parameters tab is empty. Here you can add any parameter you need. You can also add mappable parameters from a module. [Learn more about using RPC parameters](/custom-apps-documentation/app-components/rpcs/dynamic-options-rpc.md#select-parameter-with-rpc-options).

{% tabs %}
{% tab title="Default parameters" %}

<div align="left"><figure><img src="/files/nga2VlB4OxxPWbRBbSP3" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Any parameter created inside an RPC will be available only for RPC debugging. It will not be visible inside your modules or inside scenarios.

To preview and test parameters, click on the **Test RPC** button.
{% endhint %}
{% endtab %}

{% tab title="Customized parameters" %}

<div align="left"><figure><img src="/files/x2jnxAKOj2jDOVKDtZcH" alt="" width="563"><figcaption></figcaption></figure></div>
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Default preview" %}

<div align="left"><figure><img src="/files/fwPeqH8g9JIo4yuGchMR" alt="" width="563"><figcaption></figcaption></figure></div>
{% endtab %}

{% tab title="Customized preview with parameters" %}

<div align="left"><figure><img src="/files/4qZwbeJVGg2Rkltnx0WQ" alt="" width="563"><figcaption></figcaption></figure></div>
{% endtab %}
{% endtabs %}

## RPC debug tool

The RPC debug tool works the same way modules do.

1. Specify the connection and other fields (parameters) if needed.
2. Click the **Test** button.
3. The call, which you specified before in the RPC communication, will be executed.

You will see the `output` that you specified in the RPC communication.

If you specified output as "`label"` and `"value"` (with the purpose of using it inside a Select parameter), do not expect to see the full server response there.

{% hint style="info" %}
Sometimes you might get an empty array as a response. If that's not the response that you expected, check that you correctly specified the path to the object, which you use inside `iterate`.
{% endhint %}

{% tabs %}
{% tab title="Input" %}

<div align="left"><figure><img src="/files/j8fCPKa05tEFyfjIZiyV" alt="" width="563"><figcaption></figcaption></figure></div>
{% endtab %}

{% tab title="Output" %}

<div align="left"><figure><img src="/files/jLT7orGSvYB3g8vGFFYF" alt="" width="563"><figcaption></figcaption></figure></div>
{% endtab %}

{% tab title="Communication code" %}

<div align="left"><figure><img src="/files/6RkhJHKfMbgEGzO6FR1F" alt="" width="563"><figcaption></figcaption></figure></div>
{% endtab %}
{% endtabs %}

## Debug RPCs in the dev console

Sometimes you may need to look into the request you're sending and the response from the API.

You can see more details about the RPC you're testing by opening your browser's dev console: Network tab.

The `debug` values show the request being sent and the response received by the API.

<div align="left"><figure><img src="/files/KSmygQia6VwL2tbWkaMi" alt="" width="563"><figcaption></figcaption></figure></div>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developers.make.com/custom-apps-documentation/debug-your-app/debugging-rpc.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
