Bit Flows
AI Agent inside Bit Flows makes WordPress think, decide, and automate. Experience true AI automation in WordPress. Bit Flows works like a visual workflow automation builder inside WordPress, with native WordPress plugin integrations and external app connections. Bit Flows can automate tasks across platforms like ChatGPT for content creation, Google Sheets for data, or updates on multiple platforms. It routes form or order submissions automatically to CRMs, Slack, WhatsApp, Gmail, and more, letting its AI Agent decide the best flow. With Bit Flows, your WordPress automations can run in the background after setup. For example, after a form submission or based on any event, the data can be processed and sent to over 320+ platforms. What You Can Build with Bit Flows Run Zapier / n8n-like workflows directly inside WordPress Build powerful AI Agents without writing a single line of code Connect 320+ apps and services in just minutes Automate WordPress, WooCommerce, and SaaS apps from a single platform Build AI-driven customer support & HR workflows Add Human in the Loop approval steps for manual review Connect MCP-compatible servers inside AI Agent workflows Format, parse, and calculate dates with the Date Time tool Automate content, emails, CRM, and lead management. Add AI decision-making to your real business workflows 🔥 Features & Tools AI Agent: A built-in AI assistant that analyzes data, makes decisions, and runs multi-step workflows for you. Human in the Loop: Pause a workflow and wait for manual approval or decline before the next step runs. MCP Client: Connect MCP-compatible servers inside AI Agent workflows and let your agent call external tools from a configured MCP server. Unlimited Workflows and Tasks: Create as many multi-step automations as you want, without limits. Automate every process on your site. Drag & Drop Builder: Intuitive visual workflow editor, no coding needed. Just drag steps and link them to automate tasks with ease. Multi-step Automation: Build complex automation flows with multiple actions, conditions, and branches. Conditional Logic: Automate decision-making in your workflows with powerful if/else logic. Schedule, Delay, and Date Time tools: Start workflows at the right time, pause steps when needed, and format or calculate dates inside your automation. Repeater / Loop and Iterator: Repeat actions or iterate lists for bulk automated operations effortlessly. JSON/XML Parser: Automatically parse and extract data from API responses or webhook payloads. Incoming & Outgoing Webhooks: Use standard webhooks with any service. Trigger automation flows from external events. Custom App / API Connector: Create custom integrations by integrating any API endpoint and automating data exchange. Fail Task Notifications & Logging: Keep detailed logs of each step and get notified on failures or retries. Cloud Cron: Run scheduled workflows reliably without depending only on WP cron. Deep WordPress and WooCommerce Integration: Works with Elementor, WPForms, Contact Form 7, Fluent Forms, Fluent CRM, WooCommerce, FluentCart, Tutor LMS, LearnDash, and more for AI automation. Dark Mode & Quick Testing: Modern interface with a dark theme and instant flow testing. 🔗 Useful Links 🚀Try Full Version Demo | 🚀Docs | 🚀Video Tutorials | 🚀Support | 🚀Facebook Group | 🚀Upgrade to Pro | 🚀Bit Flows Repository WooCommerce Automation Bit Flows helps e-commerce businesses optimize operations by automating order and customer workflows. When an order is placed or a customer registers, Bit Flows can send that data to Google Sheets or your CRM. You can also automate inventory updates, coupon generation, or email notifications. For example, you can automate follow-ups, inventory checks, and coupon creation instantly. WordPress Automation Automating WordPress tasks is now smarter with Bit Flows. Connect plugins like Elementor, Fluent Forms, Tutor LMS, or Contact Form 7 to your workflows. For example, when a form is submitted, Bit Flows can create a post, send emails, and update CRM records (e.g. FluentCRM) automatically. AI Agent for Agentic Workflow Automation The AI Agent acts as a brain inside your WordPress dashboard. It understands context and goals, making workflows truly agentic. You can use it to analyze form input or support queries and automatically decide the next steps. This turns your site into a smart assistant that can think and act, not just execute fixed rules. Human in the Loop Approval Workflows Human in the Loop lets a workflow pause and wait for a real person to approve or decline a request before the flow continues. You can send a review email, then continue the workflow based on the reviewer response. MCP Client for AI Agent Workflows The MCP Client lets Bit Flows connect with MCP-compatible servers inside AI Agent workflows. Add the MCP Server URL, choose the connection method, and let the AI Agent access available tools from that server during the workflow. Content Generation with AI Bit Flows connects ChatGPT, Gemini, Claude, Deepseek, and Perplexity to generate content automatically. Generate blog posts, marketing copy, or FAQs on demand. For example, feed headlines or keywords into a Bit Flows workflow and let the AI create full articles or social media captions. Autoblogging with ChatGPT, Gemini, and Claude Set up an autoblogging workflow using ChatGPT, Gemini, or Claude. When you add a new topic or keyword, Bit Flows can call the AI model to write a draft post and publish it. Integrate images or formatting and go live without manual writing. Google Sheets Integrations Track and log data automatically with Google Sheets integrations. Any form submission, e-commerce order, or user registration can be sent to a spreadsheet for reporting. CRM Integrations Bit Flows integrates with popular CRMs like HubSpot, Salesforce, and FluentCRM. New leads from forms or stores can be added instantly. Workflow automation and AI help update contacts, track interactions, and keep your CRM in sync across platforms. Email Marketing Automation Automate your email campaigns using Bit Flows. Connect form submissions and order leads to email tools like Mailchimp or SendGrid. When someone signs up on your site, Bit Flows can add them to a campaign, send welcome emails, or schedule newsletters. Webhook Integrations Use webhooks to integrate any SaaS or custom app. Incoming webhooks trigger flows from external events, and outgoing webhooks send data to any endpoint. This flexibility means you can integrate with services like n8n or any API-driven platform. Image Generation with Nano Banana and DALL·E Enhance your content with AI-generated images. Bit Flows’ Image Helper integrates Nano Banana (a lightweight image AI) and DALL·E. You can automatically create visuals for posts or products. For example, generate a featured image based on your blog topic or a custom product graphic using AI, all within your workflow. WhatsApp, Telegram, Discord, Slack Integrations Communicate and notify through messaging apps. Bit Flows supports WhatsApp, Telegram, Discord, Slack. Send automated alerts or messages when events occur. For example, get a Slack notification of new orders or send order updates to customers on WhatsApp. SaaS Integration (Shopify, Mailchimp, JotForm) Link popular SaaS tools easily. Use Shopify triggers for new orders or sync data with Mailchimp for email marketing. You can also push form entries from JotForm. For example, automatically sync Shopify orders or trigger automation when JotForm entries arrive. LMS Integrations Automate your online learning platform with Bit Flows. When a user enrolls or completes a course, automatically update records, send certificates, or email reminders. Bit Flows works with Tutor LMS, LearnDash, and other course plugins. Form Automation Turn form submissions into automated processes. When a user submits a form (WPForms, Contact Form 7, Fluent Forms, etc.), Bit Flows can route the data anywhere: email, CRM, Google Sheets, or even trigger the AI Agent to draft a response. AI Integrations (ChatGPT, Gemini, Deepseek, Perplexity, Claude) Connect the latest AI models in your workflows. Bit Flows supports ChatGPT, Gemini, Claude, Deepseek, and Perplexity via OpenAI actions. Create workflows that call these AI services for content, analysis, translation, or image generation. Free Triggers Bit Form Bit Assist Contact Form 7 WPForms Webhook WordPress WooCommerce Elementor Form Free Actions ChatGPT (OpenAI) Perplexity Claude DeepSeek Gemini Google Sheet WhatsApp API Request HTTP SMTP Mail Webhook WordPress Telegram OpenRouter Groq Tools AI Agent Human in the loop (Pro) MCP Client (Pro) Condition Router Iterator Repeater/Loop Parsers (CSV, XML, JSON) Delay, Schedule and Date Time Image Helper Free Features Unlimited workflows Unlimited tasks Multi-step workflows Details logs Notification of Failed Tasks Tasks re-execution Custom app with API, Webhook, or WP Action Hook Available Popular Integrated Platforms ACPT ActivePieces Airtable Albato Asana Automatisch AutomatorWP Benchmark Brevo (Sendinblue) ClickUp Demio Discord Drip Dropbox Elastic Email EmailOctopus Emailit Encharge FlowMattic Flowlu GetGist GetResponse Gmail GoHighLevel Google Calendar Google Drive Google Meet Google Tasks HubSpot Integrately JetEngine KonnectzIT Lemlist Line MailBluster MailerCloud MailerPress Make Microsoft Excel n8n Newsletter Notion Rapidmail Selzy SendFox Sperseio SyncSpider System.io Thrive Automator Twilio Uncanny Automator Woodpecker WP Fusion Zapier Zoho Flow Zoho Project bbPress EasyCommerce FluentAffiliate FormGent Nex Forms Paymattic Profile Builder Quill Forms SureFeedback SureMail UserFeedback WP Travel Engine WP User Frontend Academy LMS Affiliate WP AidaForm Amelia Booking ARForms ARMember Asgaros Forum Avada Forms Beaver Builder Bit Social Booking Calendar Contact Form Breakdance Bricks Builder BricksForge brizy CartFlows CoBlocks Cognito Forms Contact Form Email Divi Form Builder Dokan Multivendor eForm Easy Digital Downloads Essential Addons for Elementor Essential Blocks Eventin The Events Calendar Everest Forms Fillout Fluent Booking FluentCart Fluent Forms FluentSMTP Fluent Support 123FormBuilder FormCraft 3 Formaloo Formester Formidable Forms Forminator forms.app Forms.io by 500apps Formstack Forms GamiPress GeoDirectory GiveWP GoZen Forms Google Forms Google Sheet Gravity Forms Groundhogg Gutena Forms Happyforms Hustle Involve.me JetForm Builder Kadence Blocks Form Kali Forms Klaviyo LearnDash LifterLMS Line Mailchimp Forms MailerLite Forms Mailster MakeForms MasterStudy LMS MemberPress MetForm MetaBox Microsoft Forms MightyForms Moosend Forms New User Approve Ninja Forms OptinMonster Forms Paperform Pie Forms Piotnet Addon Form Piotnet Forms Poptics Popup Maker RafflePress Restrict Content Shopify SiteOrigin Widgets SliceWP Solid Affiliate Spectra Squarespace Forms StoreEngine SureCart SureForms Survey Monkey SurveyNinja SurveySparrow Tally Forms Telegram Tidio Tripetto Tutor LMS Typeform Ultimate Member Unbounce Forms Voxel WPSubscription WooCommerce Bookings weForms Webflow Forms Wispform WooCommerce Memberships WooCommerce Subscriptions Woorise wpForo Forum WPFunnels WP Job Manager WS Form Wufoo Zoho Forms Some Real-World Use Cases with Bit Flows Lead Qualification and Routing with AI Agent When a WPForms or Elementor form submission comes in, Bit Flows uses an AI Agent to analyze the message and route the lead to the appropriate CRM or Google Sheets. The workflow can automatically send a personalized response via Gmail and qualify the lead without manual effort. Autoblogging Automatically generate blog posts with ChatGPT, Gemini, or Claude. Use Bit Flows to publish AI-generated content directly to WordPress on a schedule. AI-Powered Product Descriptions When a new WooCommerce product is added, use Bit Flows to call ChatGPT or Gemini and craft a product description. The AI Agent can update the product automatically. E-commerce Automation When a new WooCommerce order or Shopify sale occurs, Bit Flows can add the customer to your CRM, update Google Sheets, and send a confirmation email. You can also trigger an AI workflow to generate personalized discounts or related product suggestions automatically. Customer Support Automation When a customer submits a support question, Bit Flows can send it to Claude or ChatGPT for a draft reply. The answer can be emailed to the customer and logged in a Google Sheet. Your team is notified on Slack for a final review, automating your support workflow. Custom App Integration Use Bit Flows to integrate an external API. For example, integrate a shipping system: Bit Flows can send shipment data to an API and parse the response to update your WooCommerce order status, all automatically. ⭐ User Reviews bubdev – ⭐⭐⭐⭐⭐ The Missing Piece in WordPress Automation John N – ⭐⭐⭐⭐⭐ Powerful Automation with Bit Flows Plugin for WordPress downtownboogie – ⭐⭐⭐⭐⭐ Great solution for automations on my client sites 🎉 Overview of other products we are offering : Bit Form: A powerful WordPress form builder that lets you create multi-step and conversational forms with a smart drag-and-drop builder. Bit Integrations: A no-code WordPress automation plugin that lets you connect 300+ apps and services to automate your workflows in minutes. With its 3 easy automation methods, you can automate tasks, sync data, and maximize productivity. Bit Assist: Connect all your customer support channels with a single button. Integrate Floating Chat Widget, WhatsApp, Email, SMS, Telegram, Messenger, and more with Bit Assist. Bit Social: A social media automation tool that lets you auto-post, schedule, and share instantly across 12+ platforms like Facebook, Instagram, LinkedIn, X, Pinterest, and more with a smart calendar view. Bit SMTP: Bit SMTP makes sending emails from your WordPress site easy and secure, ensuring they reach the right inbox every time. Bit File Manager: Bit File Manager is a WordPress plugin for easy file management. Upload, organize, and control from your WordPress dashboard. Webhook.is: Test your incoming webhook response & send outgoing webhook requests for free. 📢 Join our Bit Apps community & get updates on our plugins. External Services Bit Flows only connects to third-party services when explicitly configured by the site administrator. No data is sent without deliberate user action. For full details on what data is sent, when it is sent, and each service’s Terms of Use and Privacy Policy: Complete External Services Documentation
Top keywords
- bit46×2.13%
- flows36×1.66%
- bit flows33×1.52%
- forms33×1.52%
- ai30×1.39%
- form25×1.16%
- automation21×0.97%
- wordpress21×0.97%
- workflows21×0.97%
- agent16×0.74%
- ai agent15×0.69%
- google15×0.69%
WEBO MCP
WEBO MCP is a WordPress MCP server — a complete Model Context Protocol gateway for WordPress. It lets AI agents and MCP-compatible clients (Claude Desktop, Cursor, Windsurf, n8n, and more) call well-defined tools over REST using JSON-RPC, instead of scraping the admin or sharing broad credentials. Official WEBO MCP website, documentation, and ecosystem hub: https://webomcp.com Why use WEBO MCP as your WordPress MCP server? Token-optimized unified tools: every domain exposes two abilities — *-query (all reads) and *-mutate (all writes) — with a single action discriminator. tools/list payload is up to 70% smaller than per-operation APIs, which means less of the model’s context window is consumed by tool schemas, lower cost per session, and fewer hallucinated tool names. Primary router endpoint: POST /wp-json/mcp/v1/router Standard MCP-style flow: initialize → tools/list → tools/call Session lifecycle for clients (pass session_id or Mcp-Session-Id after initialize) Built-in tool registry for common WordPress operations (posts, media, terms, menus, options, and more) Bundled Abilities API + MCP Adapter integration, with automatic bridging from registered abilities to MCP tools (configurable) WordPress 7.0/Core-aware bridge mode that uses Core Abilities/API surfaces when available and falls back only when needed Public tool policy controls (category filters and optional allowlists) plus optional internal tool exposure for private environments Bounded MCP audit log, optional per-user/role/client tool allowlists, and a read-only administrator health/status tool Security model (high level) MCP access requires a real WordPress user context: Application Password over HTTP Basic, or an existing logged-in session. Optional site-wide or per-user API key and HMAC can be enabled in Settings as an additional gate (they do not replace WordPress authentication). Generate/rotate from Settings → Security; by default they are skipped for Application Password and Bearer clients unless you enable “Require for App Password / Bearer”. Do not put the normal WEBO API key in URLs. For clients that cannot send headers, create a short-lived scoped mcp_token URL connector token in Settings -> WEBO MCP. Default access expectations for the router and GET /wp-json/webo-mcp/v1/tools: users who are super admins, can manage_options, or can edit_posts, consistent with typical site operator and editor workflows (filterable). Client guidance Always discover tools before calling them: run tools/list, pick an exact tool name from the response, validate required arguments, then call tools/call. This reduces mistakes and keeps automation predictable in production. Further documentation and optional integrations Official website, documentation, and ecosystem notes: https://webomcp.com Optional n8n community node (separate package): https://www.npmjs.com/package/n8n-nodes-webo-mcp Release notes and migration map: see docs/RELEASE_NOTES_2.1.0.md and docs/MIGRATION_GUIDE_2.1.0.md in the GitHub repository Cross-addon dispatcher map (granular legacy names removed from discovery): docs/MCP_TOOL_MIGRATION.md Compatibility note: any MCP-capable client can be used; which large language model runs inside the client is outside this plugin. Standalone core tools included: – Site info – Content (posts/pages): webo/content-query (list, get, find-by-url, search-replace, list-revisions, get-revision; with author/date/taxonomy filters) and webo/content-mutate (create, update, delete, bulk-update-status, restore-revision, change-author) – Users: webo/list-users and webo/user-mutate (add-to-blog, set-role) – Media: webo/media-query (list with search/MIME/post_id filters, get) and webo/media-mutate (upload, update, delete) – Comments: webo/comment-query (list, get) and webo/comment-mutate (create, update, delete) – Taxonomy/Terms: webo/taxonomy-query (discover, list, get) and webo/taxonomy-mutate (create, update, delete) – Nav menus: list menus, list menu items (menu_order, db_id), add menu link from post (explicit post_id + menu_order required) – Plugins: webo/plugin-query (installed, active, updates, …) and webo/plugin-mutate (install, activate, deactivate; supports child-site site_id / blog_id activation for network admins) – Health: webo/health-status (REST/router status, Application Password support, permalinks, cron, object cache, plugin update summary, WordPress/PHP versions, and redacted MCP config) – Client health: webo/client-health-report (score 0–100, grade A–D, Markdown scoreboard for agency clients; hybrid foundation for Pro collectors later) – 404 logs: webo/get-404-logs (read-only Rank Math / Redirection 404 monitor: url, hits, accessed, referrer) – Abilities bridge: webo/ability-query and webo/ability-execute in default layered mode. Only abilities with meta.mcp.public === true are visible and executable through WEBO MCP. – Themes: webo/theme-query (installed themes) and webo/theme-mutate (install from WordPress.org by slug, switch installed theme) – Theme context: webo/theme-context (active theme info, block editor settings, style presets, registered blocks) – Block patterns: webo/block-patterns (list/get patterns, list/get synced patterns) – Site stats: webo/site-stats (overview, post counts, comment counts, user counts, media stats, activity summary) – Activity log: webo/activity-log (list events, summary, clear) – User profile: webo/user-profile (get own profile, update display name / bio / preferences) – Site settings: webo/site-settings (get and update the 20 most common WordPress options via MCP) – Content search: webo/content-search (full-text cross-post-type search with grouped results) – Menus: webo/menu-query, webo/menu-mutate (navigation menu items; not post/CPT list order) – Post/CPT order (optional): webo/reorder-query, webo/reorder-mutate when Webo Reorder is active — see docs/abilities/reorder.md – Options: get/update (safe allowlist only), set site icon/favicon from media – SEO (WordPress post): seo/article-analysis — requires post_id; merges Rank Math meta when available (same data path as webo-rank-math/get-post-seo-meta); optional related-keyword suggestions via outbound request unless no_autocomplete is true Excluded by default in standalone-safe mode: – Bulk/mass execution tools – Plugin/theme write-management abilities – Multisite-specific abilities Privacy This plugin does not phone home or send telemetry. MCP traffic is initiated by clients you configure. Some tools may perform outbound HTTP requests only when a client invokes them (for example seo/article-analysis may request keyword suggestions from a third-party suggest API unless you pass no_autocomplete). The plugin stores the following options in the WordPress database when configured: – webo_mcp_api_key: API key used to authenticate MCP requests. – webo_mcp_hmac_secret: HMAC secret used to sign and validate MCP requests. – webo_mcp_require_secondary_credentials: when enabled, also require API key/HMAC for Application Password and Bearer clients (off by default so standard connectors are not blocked). – webo_mcp_url_connector_tokens: hashed, expirable, revocable URL connector tokens for clients that cannot send headers. Raw tokens are shown once and are not stored. – webo_mcp_tool_allowlist_enabled and webo_mcp_tool_allowlist_rules: optional administrator-configured MCP tool allowlist policy. – webo_mcp_audit_log_enabled, webo_mcp_audit_log_max_entries, and webo_mcp_audit_log: bounded MCP tool-call audit log settings and compact audit events. Audit entries include user/tool/action/status data, anonymized IPs, and hashed session IDs; they do not store request payloads, API keys, HMAC secrets, or Application Passwords. – webo_mcp_installed_at and webo_mcp_review_notice: local timestamps/state for an optional WordPress.org review request notice (not sent off-site; dismissible). These options are removed when the plugin is uninstalled via the WordPress Plugins screen. External services This plugin can connect to Google Suggest (Autocomplete) when a client calls the seo/article-analysis tool and does not set no_autocomplete to true. This external request is used to return related keyword suggestions for SEO analysis. Service provider: Google LLC (Google Suggest / Autocomplete API endpoint). Data sent and when: – Sent only when seo/article-analysis is called with autocomplete enabled. – Sends the analysis query text to https://suggestqueries.google.com/complete/search as the q parameter. – Sends standard HTTP request metadata such as IP address and User-Agent as part of the web request. Terms of Service: https://policies.google.com/terms Privacy Policy: https://policies.google.com/privacy Developer Hooks The plugin exposes the following actions and filters for developers: Actions webo_mcp_register_tools Fired during plugin bootstrap after standalone tools are registered. Use this to register custom MCP tools from other plugins. Filters webo_mcp_current_user_can_use_mcp (bool $allowed, int $user_id) Gate for all MCP REST access. Default: super admin OR manage_options OR edit_posts. Override to tighten (e.g. super-admin only) in hardened installs. webo_mcp_secondary_credentials_exempt (bool $exempt, WP_REST_Request $request) When true, skip optional API key / HMAC after WordPress auth. Default true for Application Password (Basic) and Bearer sessions unless Settings → Security → “Require for App Password / Bearer” is enabled. Return false to always enforce X-WEBO-* headers. webo_mcp_allow_internal_tools (bool $allow_internal, WP_REST_Request $request) Controls whether internal tools are included in tools/list responses. Defaults to false for public environments. webo_mcp_public_categories (array $categories, WP_REST_Request $request, array $tool) Filters which tool categories are exposed as public. Defaults to array( ‘wordpress’ ). webo_mcp_rate_limit_per_hour (int $limit, string $client, array|null $profile) Adjust effective hourly limit (fallback for both buckets). webo_mcp_rate_limit_read_per_hour / webo_mcp_rate_limit_mutate_per_hour (int $limit, string $client, array|null $profile) Per-bucket limits after admin/profile resolution. webo_mcp_tool_is_mutating (bool $is_mutating, string $tool_name, array|null $tool_definition, array $arguments) Override mutating classification for rate limits and read-only profiles. webo_mcp_tool_arguments_allow_extra (bool $allow, string $tool_name, array $schema, array $arguments) When true, unknown tool argument keys are passed through (default false). webo_mcp_disallow_url_token_query (bool $disallowed) Block URL connector tokens in query strings (admin setting is the default source). webo_mcp_rest_bom_guard_json_api_requests (bool $activate, string $uri_raw) Opt-in BOM sanitizer for all /wp-json/ responses (default false; MCP routes only). webo_mcp_bridge_deny_patterns (array $patterns) Controls which abilities are excluded when auto-bridging abilities into MCP tools (e.g. bulk, themes/, multisite/). webo_mcp_auto_bridge_abilities (bool $enabled) Enables or disables automatic bridging of registered abilities into MCP tools. Defaults to true; bridge mode still controls whether the bridge is off, layered, or full. webo_mcp_bridge_mode (string $mode) Controls Abilities bridge mode after the WEBO_MCP_BRIDGE_MODE constant and before the stored option. Values: off, layered, full. Default: layered. webo_mcp_enable_adapter (bool $enabled) Enables or disables the bundled WordPress MCP Adapter runtime. Defaults to true. webo_mcp_validate_media_fetch_url (true|\WP_Error $ok, string $url, array $parsed) Reject unsafe URLs for webo/media-mutate upload action (return WP_Error to block). webo_mcp_tool_allowlist_allowed (bool $allowed, string $tool_name, WP_REST_Request $request, array $params, array $allowed_tools) Filters the optional per-user/role/client allowlist decision. Credits Special thanks to the authors and open source projects that contributed to this plugin: – WordPress (https://wordpress.org) – Abilities API (https://github.com/WordPress/abilities-api) Reference: https://make.wordpress.org/ai/2025/07/17/abilities-api/ – MCP Adapter (https://github.com/WordPress/mcp-adapter) Reference: https://make.wordpress.org/ai/2025/07/17/mcp-adapter/ – Composer (https://getcomposer.org) – Other PHP and JS libraries from the community If you use this plugin, please give credit to the authors of these libraries. License This plugin is licensed under the GPLv2 or later. See https://www.gnu.org/licenses/gpl-2.0.html for details.