From 9c9760d6ca983b0071a61a77483df2526397bbd0 Mon Sep 17 00:00:00 2001 From: Suchintan Date: Wed, 25 Jun 2025 12:59:56 -0400 Subject: [PATCH] Improve TOTP docs & README & Make CLI actually support typer + py3.11 (#2791) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 3 +- README.md | 198 +++++++++---------- fern/credentials/introduction.mdx | 104 +++++++--- fern/credentials/totp.mdx | 164 +++++++++++---- fern/images/performance/webbench_overall.png | Bin 0 -> 111246 bytes fern/images/performance/webbench_write.png | Bin 0 -> 65177 bytes skyvern/cli/browser.py | 3 +- skyvern/cli/tasks.py | 5 +- skyvern/cli/workflow.py | 9 +- 9 files changed, 307 insertions(+), 179 deletions(-) create mode 100644 fern/images/performance/webbench_overall.png create mode 100644 fern/images/performance/webbench_write.png diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5104e06f..cb6fc8e4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -57,7 +57,8 @@ repos: - id: pyupgrade exclude: | (?x)( - ^skyvern/client/.* + ^skyvern/client/.*| + ^skyvern/cli/.* ) - repo: https://github.com/pre-commit/mirrors-mypy rev: v1.16.0 diff --git a/README.md b/README.md index 93d46df8..afc32757 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@

-[Skyvern](https://www.skyvern.com) automates browser-based workflows using LLMs and computer vision. It provides a simple API endpoint to fully automate manual workflows on a large number of websites, replacing brittle or unreliable automation solutions. +[Skyvern](https://www.skyvern.com) automates browser-based workflows using LLMs and computer vision. It provides a simple API endpoint to fully automate manual workflows on a large number of websites, replacing brittle or unreliable automation solutions.

@@ -31,11 +31,10 @@ Traditional approaches to browser automations required writing custom scripts for websites, often relying on DOM parsing and XPath-based interactions which would break whenever the website layouts changed. -Instead of only relying on code-defined XPath interactions, Skyvern relies on Vision LLMs to interact with the websites. +Instead of only relying on code-defined XPath interactions, Skyvern relies on Vision LLMs to learn and interact with the websites. Want to see examples of Skyvern in action? Jump to [#real-world-examples-of-skyvern](#real-world-examples-of-skyvern) - # Quickstart ## Skyvern Cloud @@ -44,7 +43,6 @@ Want to see examples of Skyvern in action? Jump to [#real-world-examples-of-skyv If you'd like to try it out, navigate to [app.skyvern.com](https://app.skyvern.com) and create an account. ## Install & Run -> ⚠️ **Supported Python Versions**: Python 3.11, 3.12, 3.13 ⚠️ ### 1. Install Skyvern @@ -60,6 +58,18 @@ skyvern quickstart ### 3. Run task +#### UI (Recommended) + +Start the Skyvern service and UI + +```bash +skyvern run all +``` + +Go to http://localhost:8080 and use the UI to run a task + +#### Code + ```python from skyvern import Skyvern @@ -67,27 +77,66 @@ skyvern = Skyvern() task = await skyvern.run_task(prompt="Find the top post on hackernews today") print(task) ``` -Skyvern starts running the task in a browser that pops up and closes it when the task is done. You will be able to review the task from http://localhost:8080/history +Skyvern starts running the task in a browser that pops up and closes it when the task is done. You will be able to view the task from http://localhost:8080/history -You can also run a task on Skyvern Cloud: +You can also run a task on different targets: ```python from skyvern import Skyvern +# Run on Skyvern Cloud skyvern = Skyvern(api_key="SKYVERN API KEY") -task = await skyvern.run_task(prompt="Find the top post on hackernews today") -print(task) -``` -Or your local Skyvern service from step 2: -```python -# Find your API KEY in .env +# Local Skyvern service skyvern = Skyvern(base_url="http://localhost:8000", api_key="LOCAL SKYVERN API KEY") + task = await skyvern.run_task(prompt="Find the top post on hackernews today") print(task) ``` -Check out more features to use for Skyvern task in our [official doc](https://docs.skyvern.com/running-tasks/run-tasks). Here are a couple of interesting examples: -#### Control your own browser (Chrome) +# How it works +Skyvern was inspired by the Task-Driven autonomous agent design popularized by [BabyAGI](https://github.com/yoheinakajima/babyagi) and [AutoGPT](https://github.com/Significant-Gravitas/AutoGPT) -- with one major bonus: we give Skyvern the ability to interact with websites using browser automation libraries like [Playwright](https://playwright.dev/). + +Skyvern uses a swarm of agents to comprehend a website, and plan and execute its actions: + + + + + + +This approach has a few advantages: + +1. Skyvern can operate on websites it's never seen before, as it's able to map visual elements to actions necessary to complete a workflow, without any customized code +1. Skyvern is resistant to website layout changes, as there are no pre-determined XPaths or other selectors our system is looking for while trying to navigate +1. Skyvern is able to take a single workflow and apply it to a large number of websites, as it's able to reason through the interactions necessary to complete the workflow +1. Skyvern leverages LLMs to reason through interactions to ensure we can cover complex situations. Examples include: + 1. If you wanted to get an auto insurance quote from Geico, the answer to a common question "Were you eligible to drive at 18?" could be inferred from the driver receiving their license at age 16 + 1. If you were doing competitor analysis, it's understanding that an Arnold Palmer 22 oz can at 7/11 is almost definitely the same product as a 23 oz can at Gopuff (even though the sizes are slightly different, which could be a rounding error!) + +A detailed technical report can be found [here](https://blog.skyvern.com/skyvern-2-0-state-of-the-art-web-navigation-with-85-8-on-webvoyager-eval/). + +# Demo + +https://github.com/user-attachments/assets/5cab4668-e8e2-4982-8551-aab05ff73a7f + +# Performance & Evaluation + +Skyvern has SOTA performance on the [WebBench benchmark](webbench.ai) with a 64.4% accuracy. The technical report + evaluation can be found [here](https://blog.skyvern.com/web-bench-a-new-way-to-compare-ai-browser-agents/) + +

+ +

+ +## Performance on WRITE tasks (eg filling out forms, logging in, downloading files, etc) + +Skyvern is the best performing agent on WRITE tasks (eg filling out forms, logging in, downloading files, etc), which is primarily used for RPA (Robotic Process Automation) adjacent tasks. + +

+ +

+ +## Advanced Usage + +### Control your own browser (Chrome) > ⚠️ WARNING: Since [Chrome 136](https://developer.chrome.com/blog/remote-debugging-port), Chrome refuses any CDP connect to the browser using the default user_data_dir. In order to use your browser data, Skyvern copies your default user_data_dir to `./tmp/user_data_dir` the first time connecting to your local browser. ⚠️ 1. Just With Python Code @@ -115,20 +164,9 @@ CHROME_EXECUTABLE_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Ch BROWSER_TYPE=cdp-connect ``` -Restart Skyvern service `skyvern run all` and run the task through UI or code: -```python -from skyvern import Skyvern +Restart Skyvern service `skyvern run all` and run the task through UI or code -skyvern = Skyvern( - base_url="http://localhost:8000", - api_key="YOUR_API_KEY", -) -task = await skyvern.run_task( - prompt="Find the top post on hackernews today", -) -``` - -#### Run Skyvern with any remote browser +### Run Skyvern with any remote browser Grab the cdp connection url and pass it to Skyvern ```python @@ -140,7 +178,7 @@ task = await skyvern.run_task( ) ``` -#### Get consistent output schema from your run +### Get consistent output schema from your run You can do this by adding the `data_extraction_schema` parameter: ```python from skyvern import Skyvern @@ -170,37 +208,24 @@ task = await skyvern.run_task( ### Helpful commands to debug issues -**Launch the Skyvern Server Separately** ```bash +# Launch the Skyvern Server Separately* skyvern run server -``` -**Launch the Skyvern UI** - -```bash +# Launch the Skyvern UI skyvern run ui -``` -**Check status of the Skyvern service** - -```bash +# Check status of the Skyvern service skyvern status -``` -**Stop the Skyvern service** -```bash +# Stop the Skyvern service skyvern stop all -``` -**Stop the Skyvern UI** -```bash +# Stop the Skyvern UI skyvern stop ui -``` -**Stop the Skyvern Server Separately** - -```bash +# Stop the Skyvern Server Separately skyvern stop server ``` @@ -225,36 +250,13 @@ skyvern stop server If you encounter any database related errors while using Docker to run Skyvern, check which Postgres container is running with `docker ps`. -# How it works -Skyvern was inspired by the Task-Driven autonomous agent design popularized by [BabyAGI](https://github.com/yoheinakajima/babyagi) and [AutoGPT](https://github.com/Significant-Gravitas/AutoGPT) -- with one major bonus: we give Skyvern the ability to interact with websites using browser automation libraries like [Playwright](https://playwright.dev/). - -Skyvern uses a swarm of agents to comprehend a website, and plan and execute its actions: - - - - - - -This approach has a few advantages: - -1. Skyvern can operate on websites it's never seen before, as it's able to map visual elements to actions necessary to complete a workflow, without any customized code -1. Skyvern is resistant to website layout changes, as there are no pre-determined XPaths or other selectors our system is looking for while trying to navigate -1. Skyvern is able to take a single workflow and apply it to a large number of websites, as it's able to reason through the interactions necessary to complete the workflow -1. Skyvern leverages LLMs to reason through interactions to ensure we can cover complex situations. Examples include: - 1. If you wanted to get an auto insurance quote from Geico, the answer to a common question "Were you eligible to drive at 18?" could be inferred from the driver receiving their license at age 16 - 1. If you were doing competitor analysis, it's understanding that an Arnold Palmer 22 oz can at 7/11 is almost definitely the same product as a 23 oz can at Gopuff (even though the sizes are slightly different, which could be a rounding error!) - - -# Demo - -https://github.com/user-attachments/assets/5cab4668-e8e2-4982-8551-aab05ff73a7f # Skyvern Features ## Skyvern Tasks -Tasks are the fundamental building block inside Skyvern. Each task is a single request to Skyvern, instructing it to navigate through a website and accomplish a specific goal. +Tasks are the fundamental building block inside Skyvern. Each task is a single request to Skyvern, instructing it to navigate through a website and accomplish a specific goal. -Tasks require you to specify a `url`, `prompt`, and can optionally include a `data schema` (if you want the output to conform to a specific schema) and `error codes` (if you want Skyvern to stop running in specific situations). +Tasks require you to specify a `url`, `prompt`, and can optionally include a `data schema` (if you want the output to conform to a specific schema) and `error codes` (if you want Skyvern to stop running in specific situations).

@@ -262,7 +264,7 @@ Tasks require you to specify a `url`, `prompt`, and can optionally include a `da ## Skyvern Workflows -Workflows are a way to chain multiple tasks together to form a cohesive unit of work. +Workflows are a way to chain multiple tasks together to form a cohesive unit of work. For example, if you wanted to download all invoices newer than January 1st, you could create a workflow that first navigated to the invoices page, then filtered down to only show invoices newer than January 1st, extracted a list of all eligible invoices, and iterated through each invoice to download it. @@ -308,10 +310,10 @@ Skyvern supports a number of different authentication methods to make it easier ### 🔐 2FA Support (TOTP) -Skyvern supports a number of different 2FA methods to allow you to automate workflows that require 2FA. +Skyvern supports a number of different 2FA methods to allow you to automate workflows that require 2FA. Examples include: -1. QR-based 2FA (e.g. Google Authenticator, Authy) +1. QR-based 2FA (e.g. Google Authenticator, Authy) 1. Email based 2FA 1. SMS based 2FA @@ -319,7 +321,7 @@ Examples include: ### Password Manager Integrations Skyvern currently supports the following password manager integrations: -- [x] Bitwarden +- [x] Bitwarden - [ ] 1Password - [ ] LastPass @@ -336,6 +338,8 @@ Skyvern supports Zapier, Make.com, and N8N to allow you to connect your Skyvern * [Make.com](https://docs.skyvern.com/integrations/make.com) * [N8N](https://docs.skyvern.com/integrations/n8n) +🔐 Learn more about 2FA support [here](https://docs.skyvern.com/credentials/totp). + # Real-world examples of Skyvern We love to see how Skyvern is being used in the wild. Here are some examples of how Skyvern is being used to automate workflows in the real world. Please open PRs to add your own examples! @@ -359,7 +363,7 @@ We love to see how Skyvern is being used in the wild. Here are some examples of

-## Navigating to government websites to register accounts or fill out forms +## Navigating to government websites to register accounts or fill out forms [💡 See it in action](https://app.skyvern.com/tasks/create/california_edd)

@@ -410,11 +414,9 @@ More extensive documentation can be found on our [📕 docs page](https://docs.s | Anthropic | Claude 3 (Haiku, Sonnet, Opus), Claude 3.5 (Sonnet) | | Azure OpenAI | Any GPT models. Better performance with a multimodal llm (azure/gpt4-o) | | AWS Bedrock | Anthropic Claude 3 (Haiku, Sonnet, Opus), Claude 3.5 (Sonnet) | +| Gemini | Gemini 2.5 Pro and flash, Gemini 2.0 | | Ollama | Run any locally hosted model via [Ollama](https://github.com/ollama/ollama) | | OpenRouter | Access models through [OpenRouter](https://openrouter.ai) | -| Gemini | Coming soon (contributions welcome) | -| Llama 3.2 | Coming soon (contributions welcome) | -| Novita AI | Llama 3.1 (8B, 70B), Llama 3.2 (1B, 3B, 11B Vision) | | OpenAI-compatible | Any custom API endpoint that follows OpenAI's API format (via [liteLLM](https://docs.litellm.ai/docs/providers/openai_compatible)) | #### Environment Variables @@ -427,7 +429,7 @@ More extensive documentation can be found on our [📕 docs page](https://docs.s | `OPENAI_API_BASE` | OpenAI API Base, optional | String | `https://openai.api.base` | | `OPENAI_ORGANIZATION` | OpenAI Organization ID, optional | String | `your-org-id` | -Supported LLM Keys: `OPENAI_GPT4_TURBO`, `OPENAI_GPT4V`, `OPENAI_GPT4O`, `OPENAI_GPT4O_MINI` +Recommended `LLM_KEY`: `OPENAI_GPT4O`, `OPENAI_GPT4O_MINI`, `OPENAI_GPT4_1`, `OPENAI_O4_MINI`, `OPENAI_O3` ##### Anthropic | Variable | Description| Type | Sample Value| @@ -435,7 +437,7 @@ Supported LLM Keys: `OPENAI_GPT4_TURBO`, `OPENAI_GPT4V`, `OPENAI_GPT4O`, `OPENAI | `ENABLE_ANTHROPIC` | Register Anthropic models| Boolean | `true`, `false` | | `ANTHROPIC_API_KEY` | Anthropic API key| String | `sk-1234567890` | -Supported LLM Keys: `ANTHROPIC_CLAUDE3`, `ANTHROPIC_CLAUDE3_OPUS`, `ANTHROPIC_CLAUDE3_SONNET`, `ANTHROPIC_CLAUDE3_HAIKU`, `ANTHROPIC_CLAUDE3.5_SONNET` +Recommended`LLM_KEY`: `ANTHROPIC_CLAUDE3.5_SONNET`, `ANTHROPIC_CLAUDE3.7_SONNET`, `ANTHROPIC_CLAUDE4_OPUS`, `ANTHROPIC_CLAUDE4_SONNET` ##### Azure OpenAI | Variable | Description| Type | Sample Value| @@ -446,14 +448,14 @@ Supported LLM Keys: `ANTHROPIC_CLAUDE3`, `ANTHROPIC_CLAUDE3_OPUS`, `ANTHROPIC_CL | `AZURE_API_BASE` | Azure deployment api base url| String | `https://skyvern-deployment.openai.azure.com/`| | `AZURE_API_VERSION` | Azure API Version| String | `2024-02-01`| -Supported LLM Key: `AZURE_OPENAI` +Recommended `LLM_KEY`: `AZURE_OPENAI` ##### AWS Bedrock | Variable | Description| Type | Sample Value| | -------- | ------- | ------- | ------- | | `ENABLE_BEDROCK` | Register AWS Bedrock models. To use AWS Bedrock, you need to make sure your [AWS configurations](https://github.com/boto/boto3?tab=readme-ov-file#using-boto3) are set up correctly first. | Boolean | `true`, `false` | -Supported LLM Keys: `BEDROCK_ANTHROPIC_CLAUDE3_OPUS`, `BEDROCK_ANTHROPIC_CLAUDE3_SONNET`, `BEDROCK_ANTHROPIC_CLAUDE3_HAIKU`, `BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET`, `BEDROCK_AMAZON_NOVA_PRO`, `BEDROCK_AMAZON_NOVA_LITE` +Recommended `LLM_KEY`: `BEDROCK_ANTHROPIC_CLAUDE3.7_SONNET_INFERENCE_PROFILE`, `BEDROCK_ANTHROPIC_CLAUDE4_OPUS_INFERENCE_PROFILE`, `BEDROCK_ANTHROPIC_CLAUDE4_SONNET_INFERENCE_PROFILE` ##### Gemini | Variable | Description| Type | Sample Value| @@ -461,15 +463,7 @@ Supported LLM Keys: `BEDROCK_ANTHROPIC_CLAUDE3_OPUS`, `BEDROCK_ANTHROPIC_CLAUDE3 | `ENABLE_GEMINI` | Register Gemini models| Boolean | `true`, `false` | | `GEMINI_API_KEY` | Gemini API Key| String | `your_google_gemini_api_key`| -Supported LLM Keys: `GEMINI_PRO`, `GEMINI_FLASH` - -##### Novita AI -| Variable | Description| Type | Sample Value| -| -------- | ------- | ------- | ------- | -| `ENABLE_NOVITA`| Register Novita AI models | Boolean | `true`, `false` | -| `NOVITA_API_KEY` | Novita AI API Key| String | `your_novita_api_key`| - -Supported LLM Keys: `NOVITA_DEEPSEEK_R1`, `NOVITA_DEEPSEEK_V3`, `NOVITA_LLAMA_3_3_70B`, `NOVITA_LLAMA_3_2_1B`, `NOVITA_LLAMA_3_2_3B`, `NOVITA_LLAMA_3_2_11B_VISION`, `NOVITA_LLAMA_3_1_8B`, `NOVITA_LLAMA_3_1_70B`, `NOVITA_LLAMA_3_1_405B`, `NOVITA_LLAMA_3_8B`, `NOVITA_LLAMA_3_70B` +Recommended `LLM_KEY`: `GEMINI_2.5_PRO_PREVIEW`, `GEMINI_2.5_FLASH_PREVIEW` ##### Ollama | Variable | Description| Type | Sample Value| @@ -478,7 +472,9 @@ Supported LLM Keys: `NOVITA_DEEPSEEK_R1`, `NOVITA_DEEPSEEK_V3`, `NOVITA_LLAMA_3_ | `OLLAMA_SERVER_URL` | URL for your Ollama server | String | `http://host.docker.internal:11434` | | `OLLAMA_MODEL` | Ollama model name to load | String | `qwen2.5:7b-instruct` | -Supported LLM Key: `OLLAMA` +Recommended `LLM_KEY`: `OLLAMA` + +Note: Ollama does not support vision yet. ##### OpenRouter | Variable | Description| Type | Sample Value| @@ -488,7 +484,7 @@ Supported LLM Key: `OLLAMA` | `OPENROUTER_MODEL` | OpenRouter model name | String | `mistralai/mistral-small-3.1-24b-instruct` | | `OPENROUTER_API_BASE` | OpenRouter API base URL | String | `https://api.openrouter.ai/v1` | -Supported LLM Key: `OPENROUTER` +Recommended `LLM_KEY`: `OPENROUTER` ##### OpenAI-Compatible | Variable | Description| Type | Sample Value| @@ -515,7 +511,7 @@ Supported LLM Key: `OPENAI_COMPATIBLE` This is our planned roadmap for the next few months. If you have any suggestions or would like to see a feature added, please don't hesitate to reach out to us [via email](mailto:founders@skyvern.com) or [discord](https://discord.gg/fG2XXEuQX3). - [x] **Open Source** - Open Source Skyvern's core codebase -- [x] **[BETA] Workflow support** - Allow support to chain multiple Skyvern calls together +- [x] **Workflow support** - Allow support to chain multiple Skyvern calls together - [x] **Improved context** - Improve Skyvern's ability to understand content around interactable elements by introducing feeding relevant label context through the text prompt - [x] **Cost Savings** - Improve Skyvern's stability and reduce the cost of running Skyvern by optimizing the context tree passed into Skyvern - [x] **Self-serve UI** - Deprecate the Streamlit UI in favour of a React-based UI component that allows users to kick off new jobs in Skyvern @@ -523,14 +519,14 @@ This is our planned roadmap for the next few months. If you have any suggestions - [x] **Chrome Viewport streaming** - Introduce a way to live-stream the Chrome viewport to the user's browser (as a part of the self-serve UI) - [x] **Past Runs UI** - Deprecate the Streamlit UI in favour of a React-based UI that allows you to visualize past runs and their results - [X] **Auto workflow builder ("Observer") mode** - Allow Skyvern to auto-generate workflows as it's navigating the web to make it easier to build new workflows -- [ ] **Prompt Caching** - Introduce a caching layer to the LLM calls to dramatically reduce the cost of running Skyvern (memorize past actions and repeat them!) -- [ ] **Web Evaluation Dataset** - Integrate Skyvern with public benchmark tests to track the quality of our models over time +- [x] **Prompt Caching** - Introduce a caching layer to the LLM calls to dramatically reduce the cost of running Skyvern (memorize past actions and repeat them!) +- [x] **Web Evaluation Dataset** - Integrate Skyvern with public benchmark tests to track the quality of our models over time - [ ] **Improved Debug mode** - Allow Skyvern to plan its actions and get "approval" before running them, allowing you to debug what it's doing and more easily iterate on the prompt - [ ] **Chrome Extension** - Allow users to interact with Skyvern through a Chrome extension (incl voice mode, saving tasks, etc.) - [ ] **Skyvern Action Recorder** - Allow Skyvern to watch a user complete a task and then automatically generate a workflow for it - [ ] **Interactable Livestream** - Allow users to interact with the livestream in real-time to intervene when necessary (such as manually submitting sensitive forms) - [ ] **Integrate LLM Observability tools** - Integrate LLM Observability tools to allow back-testing prompt changes with specific data sets + visualize the performance of Skyvern over time -- [ ] **Langchain Integration** - Create langchain integration in langchain_community to use Skyvern as a "tool". +- [x] **Langchain Integration** - Create langchain integration in langchain_community to use Skyvern as a "tool". # Contributing @@ -545,9 +541,9 @@ If you want to chat with the skyvern repository to get a high level overview of By Default, Skyvern collects basic usage statistics to help us understand how Skyvern is being used. If you would like to opt-out of telemetry, please set the `SKYVERN_TELEMETRY` environment variable to `false`. # License -Skyvern's open source repository is supported via a managed cloud. All of the core logic powering Skyvern is available in this open source repository licensed under the [AGPL-3.0 License](LICENSE), with the exception of anti-bot measures available in our managed cloud offering. +Skyvern's open source repository is supported via a managed cloud. All of the core logic powering Skyvern is available in this open source repository licensed under the [AGPL-3.0 License](LICENSE), with the exception of anti-bot measures available in our managed cloud offering. -If you have any questions or concerns around licensing, please [contact us](mailto:founders@skyvern.com) and we would be happy to help. +If you have any questions or concerns around licensing, please [contact us](mailto:support@skyvern.com) and we would be happy to help. # Star History diff --git a/fern/credentials/introduction.mdx b/fern/credentials/introduction.mdx index af311487..e5b705df 100644 --- a/fern/credentials/introduction.mdx +++ b/fern/credentials/introduction.mdx @@ -4,10 +4,29 @@ subtitle: Never send your credentials to LLMs. slug: credentials/introduction --- -Agents need access to sensitive information to complete tasks. For example, usernames and passwords to login, credit cards for payments, etc. With Skyvern's credential management tool, you can run agents securely without exposing your credentials to LLMs. +Need to give Skyvern access to your credentials? Usernames and passwords, 2FA, credit cards for payments, etc. Skyvern's credential management provides a secure way to manage and use credentials. Agents can then without exposing those credentials to LLMs. -## Credential Support - +### 2FA Support (TOTP) + +Many websites require entering a TOTP (2FA/MFA/Verification) code during login. Skyvern has TOTP (2FA/MFA/Verification Code) support natively. + +**Supported authentication methods**: +- Phone verification code +- Email verification code +- Authenticator app +- Confirmation link sent to email. Click the link and create an account +- One time login link sent to email. Click and login + +If you have any questions about how to set these up, please contact [Skyvern Support](mailto:support@skyvern.com). + +## Credit Card Management + +Skyvern can manage your credit cards and use them to complete tasks. + +**Supported credit card types**: +- Visa +- Mastercard + Manage and use credit cards with Skyvern Agent - - -## 2FA Support (TOTP) - -Many websites require entering a TOTP (2FA/MFA/Verification) code during login. Skyvern has the TOTP (2FA/MFA/Verification Code) support natively. - -**Supported authentication methods**: -- Phone verification code -- Email verification code -- Authenticator app - -**Coming soon**: -- Confirmation link sent to email. Click the link and create an account. (Talk to Skyvern Support if you need this) -- One time login link sent to email. Click and login. (Talk to Skyvern Support if you need this) - -See [2FA Support (TOTP)](/credentials/totp) for more details. - - -## Bitwarden Integration -Skyvern can integrate with your Bitwarden account. Skyvern agent can read the credentials on the fly to complete tasks while keeping your credentials secure. Skyvern never stores your Bitwarden credentials or sends them to LLMs. +## Password Manager Integrations -See [Bitwarden Integration](/credentials/bitwarden) for more details. +If you have your own password manager, Skyvern can integrate with it. Skyvern can read the credentials on the fly to complete tasks while keeping your credentials secure. Skyvern never stores your credentials or sends them to any third parties (including LLMs). -## Coming Soon -(Contact support@skyvern.com if you need any password integration to help us prioritize) +**Supported password manager types**: +- Bitwarden +- 1Password Integration (Private beta) -- 1Password Integration +**Coming Soon**: - LastPass Integration +- Keeper Integration +- Azure Key Vault Integration + +Contact [Skyvern Support](mailto:support@skyvern.com) if you want access to the private beta for these integrations. + + + + Securely manage your passwords with Bitwarden + + + Securely manage your passwords with 1Password (Private beta) + + + (coming soon) Securely manage your passwords with LastPass + + + (coming soon) Securely manage your passwords with Keeper + + + (coming soon) Securely manage your secrets with Azure Key Vault + + + (coming soon) Securely manage your secrets with AWS Secret Manager + + diff --git a/fern/credentials/totp.mdx b/fern/credentials/totp.mdx index 48d0e044..0c97f66c 100644 --- a/fern/credentials/totp.mdx +++ b/fern/credentials/totp.mdx @@ -1,58 +1,32 @@ --- title: 2FA Support (TOTP) -subtitle: How to send 2FA codes (TOTP) to Skyvern +subtitle: How to send TOTP codes (2FA/MFA/Verification Code) to Skyvern slug: credentials/totp --- -Skyvern supports one-time password (see https://www.twilio.com/docs/glossary/totp for more information), also known as 2FA/MFA. For Skyvern to get the code, there are three options: -- [Option 1: Store your 2FA/MFA secret in Skyvern Credential tool](#option-1-store-your-2famfa-secret-in-the-skyvern-credential-tool) -- [Option 2: Skyvern gets the code from your endpoint](#option-2-get-code-from-your-endpoint) -- [Option 3: You push the code to Skyvern](#option-3-push-code-to-skyvern) +Skyvern supports logging into websites that require a 2FA/MFA/Verification code. There are 5 kinds of 2FA we support today: +- [Option 1: Google Authenticator (TOTP)](#option-1-google-authenticator-totp) +- [Option 2: Email Verification Code](#option-2-email-verification-code) +- [Option 3: Phone Verification Code](#option-3-phone-verification-code) +- [Option 4: Let Skyvern get the code from your server (webhook)](#option-4-let-skyvern-get-the-code-from-your-server-webhook) +- [Option 5: One Time Login Link](#option-5-one-time-login-link) -## Option 1: Store your 2FA/MFA secret in the Skyvern Credential tool +## Option 1: Google Authenticator (TOTP) -Save your username and password in [Skyvern Credential](https://app.skyvern.com/credentials) where you can also store your 2FA/MFA key/secret. +Step 1: Save your username and password in [Skyvern Credential](https://app.skyvern.com/credentials). See [Password Management](/credentials/passwords#manage-passwords-in-skyvern-cloud) for more details. -See [Password Management](/credentials/passwords#manage-passwords-in-skyvern-cloud) for more details. -## Option 2: Get Code From Your Endpoint -You can pass `totp_url` when running [a task](/api-reference/api-reference/agent/run-task) or a [workflow](/api-reference/api-reference/agent/run-workflow). Inside this endpoint hosted by you, you have to conform to the following schema: +Step 2: Add your account by manually entering the secret key (extracted from the QR code). Not sure how to get it? [Follow this guide](https://bitwarden.com/help/integrated-authenticator/). -### Set Up Your TOTP Endpoint -For websites that require a verification code to complete a task, you have to set up a TOTP endpoint for Skyvern to fetch the verification code. +> 💡 Don't have the key? Contact [Skyvern Support](mailto:support@skyvern.com) and we can help you get it. -Here's the TOTP endpoint contract you should use: +## Option 2: Email Verification Code +Email verification codes require you to set up a forwarding rule that forwards these emails to a Skyvern endpoint. -Request (POST): -| Parameter | Type | Required? | Sample Value | Description | -| --- | --- | --- | --- | --- | -| task_id | String | yes | tsk_123 | The task ID that needs the verification to be done | +The forwarding rule can be set up using [Gmail + Zapier](https://zapier.com/app/home) or similar tools. (instructions below) -Response: -| Parameter | Type | Required? | Sample Value | Description | -| --- | --- | --- | --- | --- | -| task_id | String | yes | tsk_123 | The task ID that needs the verification to be done | -| verification_code | String | no | 123456 | The verification code | +> 💡 *Coming Soon*: We plan to provide email forwarding addresses that make this easier to set up -### Validate The Sender of The Request -Same as the webhook API, your server needs to make sure it’s Skyvern that’s making the request. - -- a python example for how to generate and validate the signature: - -```python -def validate_skyvern_request_headers(request: Request) -> bool: - header_skyvern_signature = request.headers["x-skyvern-signature"] - payload = request.body() # this is a bytes - hash_obj = hmac.new(SKYVERN_API_KEY.encode("utf-8"), msg=payload, digestmod=hashlib.sha256) - client_generated_signature = hash_obj.hexdigest() - return header_skyvern_signature == client_generated_signature -``` - -SKYVERN_API_KEY: you can get the API KEY from [Skyvern Settings](https://app.skyvern.com/settings). - -## Option 3: Push Code To Skyvern -Find TOTP API doc [here](/api-reference/api-reference/credentials/send-totp-code). - -You can pass `totp_identifier` when running [a task](/api-reference/api-reference/agent/run-task) or a [workflow](/api-reference/api-reference/agent/run-workflow). When the TOTP code arrives at your inbox, all you need to do is to send the email/message (Gmail + Zapier integration can be a good solution to set up email forwarding) to Skyvern's TOTP endpoint. +You can pass `totp_identifier` when running [a task](/api-reference/api-reference/agent/run-task) or a [workflow](/api-reference/api-reference/agent/run-workflow). When the TOTP code arrives at your inbox, all you need to do is to send the email/message to Skyvern's [TOTP endpoint](/api-reference/api-reference/credentials/send-totp-code). ### Forwarding Your Email To Skyvern (Gmail + Zapier) This setup requires a Zapier Pro plan account. @@ -132,4 +106,108 @@ In Zapier: under the “Test” of the Webhooks action, send a request to test i

-

\ No newline at end of file +

+ + +## Option 3: Phone Verification Code + +Phone verification codes are supported the same way as email verification codes. You will need to set up a forwarding rule that forwards these messages to a Skyvern endpoint. + +A good solution to set up this forwarding rule is to use virtual phone number services such as [Twilio](https://www.twilio.com/en-us/docs/usage/tutorials/how-to-use-your-free-trial-account) or [Pilvo](https://www.pilvo.com/en/us/virtual-phone-number). + + +Make sure you pass `totp_identifier` when running [a task](/api-reference/api-reference/agent/run-task) or a [workflow](/api-reference/api-reference/agent/run-workflow). When the TOTP code arrives at your virtual phone number, all you need to do is to send the message to Skyvern's TOTP endpoint. + +You can use the following code to forward the message to Skyvern: + +```python +// Twilio Function to post 2FA data to Skyvern API + +exports.handler = async function(context, event, callback) { + const axios = require('axios'); + const apiUrl = 'https://api.skyvern.com/v1/credentials/totp'; + const apiKey = '{{your api key}}'; + const totpIdentifier = '{{your totp identifier (could be phone number)}}'; + + const requestBody = { + totp_identifier: totpIdentifier, + content: event.Body || "Default 2FA message", + source: "phone" + }; + + const response = new Twilio.Response(); + response.appendHeader('Content-Type', 'application/json'); + + try { + const apiResponse = await axios.post(apiUrl, requestBody, { + headers: { + 'Content-Type': 'application/json', + 'x-api-key': apiKey + } + }); + + response.setStatusCode(200); + response.setBody({ + status: 'success', + message: '2FA message sent', + data: apiResponse.data + }); + } catch (error) { + response.setStatusCode(500); + response.setBody({ + status: 'error', + message: error.message, + details: error.response?.data || null + }); + } + + return callback(null, response); +}; + +``` + + +## Option 4: Let Skyvern get the code from your server (webhook) +You can pass `totp_url` when running [a task](/api-reference/api-reference/agent/run-task) or a [workflow](/api-reference/api-reference/agent/run-workflow). Inside this endpoint hosted by you, you have to conform to the following schema: + +### Set Up Your TOTP Endpoint +For websites that requires a verification code to complete a task, you have to set up a TOTP endpoint for Skyvern to fetch the verification code. + +Here's the TOTP endpoint contract you should use: + +Request (POST): +| Parameter | Type | Required? | Sample Value | Description | +| --- | --- | --- | --- | --- | +| task_id | String | yes | tsk_123 | The task ID that needs the verification to be done | + +Response: +| Parameter | Type | Required? | Sample Value | Description | +| --- | --- | --- | --- | --- | +| task_id | String | yes | tsk_123 | The task ID that needs the verification to be done | +| verification_code | String | no | 123456 | The verification code | + +### Validate The Sender of The Request +Same as the webhook API, your server needs to make sure it’s Skyvern that’s making the request. + +- a python example for how to generate and validate the signature: + +```python +def validate_skyvern_request_headers(request: Request) -> bool: + header_skyvern_signature = request.headers["x-skyvern-signature"] + payload = request.body() # this is a bytes + hash_obj = hmac.new(SKYVERN_API_KEY.encode("utf-8"), msg=payload, digestmod=hashlib.sha256) + client_generated_signature = hash_obj.hexdigest() + return header_skyvern_signature == client_generated_signature +``` + +`SKYVERN_API_KEY`: you can get the API KEY from [Skyvern Settings](https://app.skyvern.com/settings). + +## Option 5: One Time Login Link + +One time login links are supported by breaking your workflow / task into two parts: +1. Login to trigger the one time login link +2. Trigger the rest of your task / workflow based on the one time login link as the starting point + +You will need to set up something (e.g. Zapier) that monitors the email inbox for incoming magic links. Once you get the link, you can use it to trigger the rest of your task / workflow. + +When triggering the rest of your task / workflow, you can pass the one time login link as the starting point (e.g. url parameter), and Skyvern will start the new session already logged in. diff --git a/fern/images/performance/webbench_overall.png b/fern/images/performance/webbench_overall.png new file mode 100644 index 0000000000000000000000000000000000000000..03c25779d205f1bb8c51a4ffb3aec3579827d059 GIT binary patch literal 111246 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%0Dr6`rOG4}_jT>Kw_+Kx`>(z|LDC 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 literal 0 HcmV?d00001 diff --git a/fern/images/performance/webbench_write.png b/fern/images/performance/webbench_write.png new file mode 100644 index 0000000000000000000000000000000000000000..281b4ff38e3e8f897d99e858b1df55d3b8791c36 GIT binary patch literal 65177 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 str: return "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" -def setup_browser_config() -> tuple[str, str | None, str | None]: +def setup_browser_config() -> tuple[str, Optional[str], Optional[str]]: """Configure browser settings for Skyvern.""" console.print(Panel("\n[bold blue]Configuring web browser for scraping...[/bold blue]", border_style="cyan")) browser_types = ["chromium-headless", "chromium-headful", "cdp-connect"] diff --git a/skyvern/cli/tasks.py b/skyvern/cli/tasks.py index 823eae86..214cb134 100644 --- a/skyvern/cli/tasks.py +++ b/skyvern/cli/tasks.py @@ -4,6 +4,7 @@ from __future__ import annotations import json import os +from typing import Optional import typer from dotenv import load_dotenv @@ -20,7 +21,7 @@ tasks_app = typer.Typer(help="Manage Skyvern tasks and operations.") @tasks_app.callback() def tasks_callback( ctx: typer.Context, - api_key: str | None = typer.Option( + api_key: Optional[str] = typer.Option( None, "--api-key", help="Skyvern API key", @@ -31,7 +32,7 @@ def tasks_callback( ctx.obj = {"api_key": api_key} -def _get_client(api_key: str | None = None) -> Skyvern: +def _get_client(api_key: Optional[str] = None) -> Skyvern: """Instantiate a Skyvern SDK client using environment variables.""" load_dotenv() load_dotenv(".env") diff --git a/skyvern/cli/workflow.py b/skyvern/cli/workflow.py index 7e307a1a..75142622 100644 --- a/skyvern/cli/workflow.py +++ b/skyvern/cli/workflow.py @@ -4,6 +4,7 @@ from __future__ import annotations import json import os +from typing import Optional import typer from dotenv import load_dotenv @@ -21,7 +22,7 @@ workflow_app = typer.Typer(help="Manage Skyvern workflows.") @workflow_app.callback() def workflow_callback( ctx: typer.Context, - api_key: str | None = typer.Option( + api_key: Optional[str] = typer.Option( None, "--api-key", help="Skyvern API key", @@ -32,7 +33,7 @@ def workflow_callback( ctx.obj = {"api_key": api_key} -def _get_client(api_key: str | None = None) -> Skyvern: +def _get_client(api_key: Optional[str] = None) -> Skyvern: """Instantiate a Skyvern SDK client using environment variables.""" load_dotenv() load_dotenv(".env") @@ -45,8 +46,8 @@ def run_workflow( ctx: typer.Context, workflow_id: str = typer.Argument(..., help="Workflow permanent ID"), parameters: str = typer.Option("{}", "--parameters", "-p", help="JSON parameters for the workflow"), - title: str | None = typer.Option(None, "--title", help="Title for the workflow run"), - max_steps: int | None = typer.Option(None, "--max-steps", help="Override the workflow max steps"), + title: Optional[str] = typer.Option(None, "--title", help="Title for the workflow run"), + max_steps: Optional[int] = typer.Option(None, "--max-steps", help="Override the workflow max steps"), ) -> None: """Run a workflow.""" try: