For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Talk to usGet started
OverviewAPI Reference
OverviewAPI Reference
    • Introduction
    • Quick Start
  • Integrations
    • Overview
    • Custom Automations
    • Using Our Actions
    • Using Our Webhooks
Logo
Talk to usGet started
On this page
  • You can use playwright or puppeteer to take actions on your users behalf
  • Get a websocket url to connect to playwright
  • Connect to a playwright instance
Integrations

Custom Automations

Was this page helpful?
Previous

Using Our Actions

Next
Built with

You can use playwright or puppeteer to take actions on your users behalf

If you want to write your own automations using playwright to act on your users behalf you can do that by connecting to the playwright instance over CDP.

Venmo is used here as an example but every integration offers the endpoint POST: /session to get a websocket url to connect via playwright or puppeteer.

Get a websocket url to connect to playwright

POST
/v1/venmo/session
1curl -X POST https://api.trykeet.com/v1/venmo/session \
2 -H "X-Account-Token: X-Account-Token" \
3 -H "Authorization: Bearer <token>"
Try it
Response
1{
2 "status": "ok",
3 "wsUrl": "wsUrl",
4 "postSignInUrl": "postSignInUrl",
5 "debuggerFullscreenUrl": "debuggerFullscreenUrl"
6}

You can then use this wsUrl to connect to the playwright instance over CDP.

Connect to a playwright instance

1const browser = await chromium.connectOverCDP(wsUrl)
2const context = browser.contexts()[0]
3const page = await context.newPage()
4await page.goto("https://accounts.venmo.com")
5// Your other automations here...
6await browser.close()