API proxy

Any endpoint, with the user's auth attached.

When the tool you need is not in the catalogue yet, call the app's API directly through Hoook. We add the user's credentials, so your code never holds them.

proxy.ts

// No prebuilt tool for this endpoint yet? Call it anyway.

await hoook.proxy.get({ userId, app: "hubspot",

path: "/crm/v3/objects/quotes" })

user's token attached · rate limit respected · logged

{ "results": [{ "id": "q_881", "status": "sent" }] }

Before and after

The same integration, shipped.

Without Hoook

  • The one endpoint you need is missing, so you build the whole integration
  • Your code has to hold a token just to make one request
  • Every provider needs its own auth header and refresh
  • Unusual calls bypass your logging entirely

With Hoook

  • Call any endpoint of a connected app today
  • Hoook injects the credentials on the way out
  • Refresh and auth handled the same way as every tool
  • Proxy requests are logged like any other call
How it comes together

How a proxied request works

  1. 01

    Pick the account

    Name the connected account and the endpoint you want to reach.

    Which connected accounts need attention this week?
    Connected accounts8,412
    Refreshed today1,134
    Need reconnecting3
    Tokens refreshed today, by app
    612
    Google
    318
    Slack
    204
    HubSpot
    3
    Revoked

    1,134 tokens refreshed on their own today. Three users revoked access, and each was asked to reconnect.

    Reconnect emails sent
  2. 02

    Hoook adds the auth

    A fresh token is attached, and your request goes to the provider.

    proxy.ts

    // No prebuilt tool for this endpoint yet? Call it anyway.

    await hoook.proxy.get({ userId, app: "hubspot",

    path: "/crm/v3/objects/quotes" })

    user's token attached · rate limit respected · logged

    { "results": [{ "id": "q_881", "status": "sent" }] }

  3. 03

    The response comes back

    Returned to you as the provider sent it.

    proxy.ts

    // No prebuilt tool for this endpoint yet? Call it anyway.

    await hoook.proxy.get({ userId, app: "hubspot",

    path: "/crm/v3/objects/quotes" })

    user's token attached · rate limit respected · logged

    { "results": [{ "id": "q_881", "status": "sent" }] }

  4. 04

    Wrap it as a tool

    Turn a useful call into a custom tool your agent can use.

    Your agent, on ClaudeHoook connected

    Find the HubSpot deals that went quiet this month and send each owner a nudge from my Gmail.

    Hoookhubspot.search_deals
    Hoookgmail.send_email

    Five deals have had no activity for 21 days. I sent a short nudge to each owner from your Gmail.

    5 emails sent
    Message your agent
What you get

What Hoook takes off your plate.

Fill catalogue gaps

Ship the feature now instead of waiting for a new prebuilt tool.

Beta and niche endpoints

Reach the parts of an API that few tools cover.

Your own tools

Build custom tools on top of any endpoint.

The evidence

The numbers behind agent integrations

Public documentation from the providers, and our own figures, each labelled with its source.

5,000

requests an hour is GitHub's REST API limit for an authenticated user. Every API sets its own, and an agent has to respect each one.

GitHub REST API documentation
1 hour

is how long a Google OAuth access token lasts, so every account your agent acts in needs refreshing all day.

Google Identity documentation
2 to 6 weeks

to build, test and ship one production OAuth integration in-house, before it needs maintaining.

Hoook estimate
Why Hoook

Built for agents that act.

No credentials in your code

Tokens are added by Hoook and never returned.

Same account model

The proxy uses the accounts your users already connected.

Logged and scoped

Proxy calls are recorded and limited to the apps you allow.

Works with any method

GET, POST, PUT, PATCH and DELETE, with your own body and headers.

Book a demo

Thirty minutes on what you are building, with the engineers behind Hoook.

Ask Ivy nowOur assistant answers straight away, then passes you to the team.

We answer within one business day.

Powered bydayrun.ai