Authenticate requests with a secure API key and the required scope: emails/builder.readonly. Keep tokens confidential, rotate credentials regularly, and apply least-privilege access.
Handwrytten authorizes against the Blogs API using standard API keys or OAuth tokens. Store credentials securely and limit permissions to the minimum scope needed for your workflows.
GET emails/builder, GET emails/builder.write, POST emails/builder, POST /emails/builder/data, DELETE /emails/builder/:locationId/:templateId, emails/schedule.readonly, GET emails/schedule, blogs/post.write, POST /blogs/posts, blogs/post-update.write, PUT /blogs/posts/:postId, blogs/check-slug.readonly, GET /blogs/posts/url-slug-exists, blogs/category.readonly, GET /blogs/categories, blogs/author.readonly, GET /blogs/authors
Trigger: when Handwrytten content is ready, call POST /blogs/posts to create a new blog post draft.
Actions: format content, assign title, set slug, and publish when approved.
Endpoint path: POST /blogs/posts
Key fields: title, content, author, slug, category
Trigger: update post status via PUT /blogs/posts/:postId.
Actions: update content, modify slug, and notify subscribers.
Endpoint path: PUT /blogs/posts/:postId
Fields: postId, title, content, slug, status
Trigger: publish a new email via POST /emails/builder when a new blog post goes live.
Actions: generate email template, attach post link, schedule delivery.
Endpoint path: POST emails/builder
Fields: locationId, templateId, subject, body, postUrl
Build powerful automations without writing code, using triggers and actions.
Ship content-to-email workflows quickly, improving engagement.
Easily align marketing and content teams with shared data.
This glossary defines end-user terms: API, endpoints, triggers, actions, checks like slug existence, and the process of authenticating and calling endpoints.
Application Programming Interface: a contract that lets apps talk to each other.
A specific URL in an API that performs a function.
A URL-friendly version of a title used in web addresses.
A callback URL that sends real-time data when events occur.
When Handwrytten content is finalized, automatically publish a blog draft by calling POST /blogs/posts and populate the title, slug, and category fields.
Pull summaries or full posts via GET /blogs/posts and render them in Handwrytten emails with rich content blocks.
Notify teams automatically when new posts go live by sending emails through POST /emails/builder with post URLs.
Register the Handwrytten app in GHL, obtain an API key, and configure scope to cover the needed read/write operations.
Select endpoints like GET emails/builder, POST /blogs/posts, PUT /blogs/posts/:postId and map them to your triggers and actions in Handwrytten.
Create test flows, verify authentication, and monitor results to ensure reliable automation.
The Blogs API enables Handwrytten to read, create, and update blog content and related assets. Use endpoints like POST /blogs/posts to draft posts and GET /blogs/categories to organize topics, enabling seamless content-to-email workflows in a no-code setup. This integration helps automate publishing workflows and notifications without relying on custom code.
No advanced coding is required for most standard automations. Visual automation tools and pre-built actions can handle the majority of flows. For more complex logic, minimal scripting can be added, but the core functions rely on API calls and triggers.
Typically you’ll need read and write scopes. For example, emails/builder.readonly for reading email templates and blogs/post.write or blogs/post-update.write for creating or updating posts. Always apply the principle of least privilege.
Commonly used endpoints include POST /blogs/posts to draft posts, PUT /blogs/posts/:postId to update, GET /blogs/posts/url-slug-exists to check slugs, GET /blogs/authors to fetch authors, and GET /blogs/categories to fetch topics. Emails endpoints like POST /emails/builder are used for sending notifications.
Slug checks prevent duplicates. Call GET /blogs/posts/url-slug-exists before publishing. If a slug exists, adjust the title or slug in your workflow, or generate a new slug programmatically.
Yes. You can trigger Handwrytten emails from blog events by posting to POST /emails/builder and including the blog post URL. This creates timely alerts and newsletters tied to new content.
Explore the Creative Ideas section for fresh use cases, including auto-draft posts, newsletters, and real-time alerts. We provide practical examples, step-by-step guides, and best practices to maximize automation.
Due to high volume, we will be upgrading our server soon!
Complete Operations Catalog - 126 Actions & Triggers