Skip to main content

How to use the ManyRequests API with n8n

Send portal events to n8n with webhooks, and update your portal from n8n with the ManyRequests API.

Written by Gabriel Lecointere

Plans: webhooks work on every plan. Calling the API from n8n needs an API token, which is available on the Pro and Core plans. You need to be a portal admin or admin.

Use case: when a client submits a request, you want n8n to add it to your KPI spreadsheet, then set the request's status in ManyRequests so your team knows it's been logged.

How it works

  • ManyRequests to n8n: a webhook sends event data, such as a new request, to an n8n workflow.

  • n8n to ManyRequests: an HTTP Request node calls the ManyRequests API to change data, such as a request's status.

You can use either part on its own.

Send events from ManyRequests to n8n

  1. In n8n, create a workflow and add a Webhook trigger node. Set its HTTP method to POST and copy its production URL.

  2. In ManyRequests, go to Settings > Integrations, open the Webhooks tab and click Add webhook.

  3. Enter a Name, paste the n8n URL into Webhook URL and choose the Webhook event, for example REQUEST CREATED. Click Save changes.

    Add webhook window with an n8n URL and the REQUEST CREATED event
  4. Activate the workflow in n8n, then submit a test request in your portal. The request's data arrives in the Webhook node, under body: for example body.id, body.title, body.url and body.client_email.

Each webhook sends one event. Add one webhook per event you need. For every event and its fields, see the Webhook events and payload reference.

Send changes from n8n to ManyRequests

1. Create an API token

  1. Go to Settings > Integrations and open the API tokens tab.

  2. Click Create token, enter a Token name such as "n8n" and click Create. Copy the token right away: you won't be able to see it again.

    API tokens tab with the Create token button highlighted

2. Add an HTTP Request node in n8n

  • URL: https://youragency.manyrequests.com/api/v1/..., with your own portal domain.

  • Headers: Authorization: Bearer YOUR_API_TOKEN and Accept: application/json.

  • Body: JSON.

Example: set the status of the new request

First, find your status IDs once with GET https://youragency.manyrequests.com/api/v1/request-statuses. Then, in the node after the Webhook trigger:

PATCH https://youragency.manyrequests.com/api/v1/requests/{{ $json.body.id }}

{"status_id": 3}

Example: add an internal comment

POST https://youragency.manyrequests.com/api/v1/requests/{{ $json.body.id }}/comments

{"body": "Logged in the KPI sheet.", "user_id": 4, "is_internal": true}

user_id is the team member the comment is posted as. Replace 3 and 4 with IDs from your portal.

What else you can do

The same HTTP Request node works for any API endpoint: create requests, update clients and organizations, add tags, create invoices and more. See How to get started with the ManyRequests API for the full list and the API documentation.

Good to know: older guides used /api/integrations/zapier/... addresses with an X-DOMAIN header. Those are built for the Zapier app. Use the /api/v1 API for n8n.

Troubleshooting

n8n doesn't receive anything.

Check that the workflow is active and that you pasted the production URL, not the test URL. Webhooks are not signed, so n8n doesn't need any credentials to receive them.

The API returns 401.

The token is missing, mistyped or revoked. Check the Authorization header.

The API returns 403 "Your subscription has ended."

API tokens stop working while your ManyRequests subscription is inactive. A 403 can also mean you used a token from the MCP server tab: those only work for the MCP server, so create one on the API tokens tab.

The API returns 422.

A field is missing or invalid, for example a status_id that doesn't exist. The response says which field.

Did this answer your question?