← Ghost.org (Admin API) + Resend integrations

Send Email with Resend API on Tag Added (Instant) from Ghost.org (Admin API) API

Pipedream makes it easy to connect APIs for Resend, Ghost.org (Admin API) and 3,000+ other apps remarkably fast.

Trigger workflow on
Tag Added (Instant) from the Ghost.org (Admin API) API
Next, do this
Send Email with the Resend API
No credit card required
Intro to Pipedream
Watch us build a workflow
Watch us build a workflow
8 min
Watch now ➜

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo

Developers Pipedream

Getting Started

This integration creates a workflow with a Ghost.org (Admin API) trigger and Resend action. When you configure and deploy the workflow, it will run on Pipedream's servers 24x7 for free.

  1. Select this integration
  2. Configure the Tag Added (Instant) trigger
    1. Connect your Ghost.org (Admin API) account
  3. Configure the Send Email action
    1. Connect your Resend account
    2. Configure From
    3. Configure To
    4. Configure Subject
    5. Optional- Configure HTML
    6. Optional- Configure Text
    7. Optional- Configure Cc
    8. Optional- Configure Bcc
    9. Optional- Configure Reply To
    10. Optional- Configure File Paths or URLs
    11. Optional- Configure Base64-encoded attachments
    12. Optional- Configure Base64-encoded attachment filenames
  4. Deploy the workflow
  5. Send a test event to validate your setup
  6. Turn on the trigger

Details

This integration uses pre-built, source-available components from Pipedream's GitHub repo. These components are developed by Pipedream and the community, and verified and maintained by Pipedream.

To contribute an update to an existing component or create a new component, create a PR on GitHub. If you're new to Pipedream component development, you can start with quickstarts for trigger span and action development, and then review the component API reference.

Trigger

Description:Emit new event for each new tag created on a site.
Version:0.0.9
Key:ghost_org_admin_api-new-tag

Ghost.org (Admin API) Overview

The Ghost.org (Admin API) provides a powerful platform for content management and distribution, allowing developers to programmatically interact with their Ghost site. With this API, you can automate content creation, manage posts, pages, and tags, and dynamically adjust site settings. This enables seamless content workflows, from drafting and scheduling posts to curating featured articles and managing user access. When used with Pipedream, these capabilities expand, enabling integrations with countless other services to create sophisticated, automated content pipelines that can save time and enhance your content strategy.

Trigger Code

import common from "../common-webhook.mjs";

export default {
  ...common,
  type: "source",
  key: "ghost_org_admin_api-new-tag",
  name: "Tag Added (Instant)",
  description: "Emit new event for each new tag created on a site.",
  version: "0.0.9",
  methods: {
    ...common.methods,
    getEvent() {
      return "tag.added";
    },
    generateMeta(body) {
      return ({
        id: body.tag.current.id,
        summary: body.tag.current.name,
        ts: Date.now(),
      });
    },
  },
};

Trigger Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI and CLI.
LabelPropTypeDescription
Ghost.org (Admin API)ghostAdminApiappThis component uses the Ghost.org (Admin API) app.
N/Adb$.service.dbThis component uses $.service.db to maintain state between executions.
N/Ahttp$.interface.httpThis component uses $.interface.http to generate a unique URL when the component is first instantiated. Each request to the URL will trigger the run() method of the component.

Trigger Authentication

Ghost.org (Admin API) uses API keys for authentication. When you connect your Ghost.org (Admin API) account, Pipedream securely stores the keys so you can easily authenticate to Ghost.org (Admin API) APIs in both code and no-code steps.

About Ghost.org (Admin API)

Open source publishing platform

Action

Description:Send an email [See the documentation](https://resend.com/docs/api-reference/emails/send-email)
Version:0.0.3
Key:resend-send-email

Resend Overview

The Resend API opens a direct line to powerful communication automation, letting you send, receive, and track messages across various channels like SMS and email. In Pipedream, Resend's capabilities can be harnessed within serverless workflows, allowing for dynamic interactions based on triggers from a multitude of integrated services. From confirmation messages to multi-step notification sequences, you can craft tailored communication flows that react in real-time to your application or service's needs.

Action Code

import { defineAction } from "@pipedream/types";
import app from "../../app/resend.app.mjs";
import { getFileStreamAndMetadata, ConfigurationError, } from "@pipedream/platform";
export default defineAction({
    name: "Send Email",
    description: "Send an email [See the documentation](https://resend.com/docs/api-reference/emails/send-email)",
    key: "resend-send-email",
    version: "0.0.3",
    annotations: {
        destructiveHint: false,
        openWorldHint: true,
        readOnlyHint: false,
    },
    type: "action",
    props: {
        app,
        from: {
            type: "string",
            label: "From",
            description: "Sender email address. To include a friendly name, use the format `Your Name <sender@domain.com>`",
        },
        to: {
            type: "string[]",
            label: "To",
            description: "Recipient email address(es). Max 50.",
        },
        subject: {
            type: "string",
            label: "Subject",
            description: "Email subject.",
        },
        html: {
            type: "string",
            label: "HTML",
            description: "The HTML version of the message.",
            optional: true,
        },
        text: {
            type: "string",
            label: "Text",
            description: "The plain text version of the message.",
            optional: true,
        },
        cc: {
            type: "string",
            label: "Cc",
            description: "Cc recipient email address(es).",
            optional: true,
        },
        bcc: {
            type: "string",
            label: "Bcc",
            description: "Bcc recipient email address(es).",
            optional: true,
        },
        replyTo: {
            type: "string",
            label: "Reply To",
            description: "Reply-to email address(es).",
            optional: true,
        },
        attachmentFiles: {
            type: "string[]",
            label: "File Paths or URLs",
            description: "Provide either file URLs or paths to files in the /tmp directory (for example, /tmp/myFile.pdf)",
            optional: true,
        },
        attachmentsBase64: {
            type: "string[]",
            label: "Base64-encoded attachments",
            description: "Provide base64-encoded attachments",
            optional: true,
        },
        base64AttachmentFilenames: {
            type: "string[]",
            label: "Base64-encoded attachment filenames",
            description: "Provide the filenames for the base64-encoded attachments",
            optional: true,
        },
    },
    methods: {
        async streamToBuffer(stream) {
            return new Promise((resolve, reject) => {
                const chunks = [];
                stream.on("data", (chunk) => chunks.push(chunk));
                stream.on("end", () => resolve(Buffer.concat(chunks)));
                stream.on("error", reject);
            });
        },
    },
    async run({ $ }) {
        const { from, to, subject, html, text, cc, bcc, replyTo, attachmentFiles, attachmentsBase64, base64AttachmentFilenames, } = this;
        const attachments = [];
        if (attachmentFiles) {
            for (const file of attachmentFiles) {
                const { stream, metadata, } = await getFileStreamAndMetadata(file);
                const buffer = await this.streamToBuffer(stream);
                const base64 = buffer.toString("base64");
                attachments.push({
                    filename: metadata.name,
                    content: base64,
                });
            }
        }
        if (attachmentsBase64) {
            if (attachmentsBase64.length !== base64AttachmentFilenames.length) {
                throw new ConfigurationError("The number of base64-encoded attachments must match the number of base64-encoded attachment filenames");
            }
            for (let i = 0; i < attachmentsBase64.length; i++) {
                attachments.push({
                    filename: base64AttachmentFilenames[i],
                    content: attachmentsBase64[i],
                });
            }
        }
        const params = {
            $,
            data: {
                from,
                to,
                subject,
                html,
                text,
                cc,
                bcc,
                reply_to: replyTo,
                attachments,
            },
        };
        const response = await this.app.sendEmail(params);
        const { id } = response;
        $.export("$summary", `Sent email (ID: ${id})`);
        return response;
    },
});

Action Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI.

LabelPropTypeDescription
ResendappappThis component uses the Resend app.
Fromfromstring

Sender email address. To include a friendly name, use the format Your Name <sender@domain.com>

Totostring[]

Recipient email address(es). Max 50.

Subjectsubjectstring

Email subject.

HTMLhtmlstring

The HTML version of the message.

Texttextstring

The plain text version of the message.

Ccccstring

Cc recipient email address(es).

Bccbccstring

Bcc recipient email address(es).

Reply ToreplyTostring

Reply-to email address(es).

File Paths or URLsattachmentFilesstring[]

Provide either file URLs or paths to files in the /tmp directory (for example, /tmp/myFile.pdf)

Base64-encoded attachmentsattachmentsBase64string[]

Provide base64-encoded attachments

Base64-encoded attachment filenamesbase64AttachmentFilenamesstring[]

Provide the filenames for the base64-encoded attachments

Action Authentication

Resend uses API keys for authentication. When you connect your Resend account, Pipedream securely stores the keys so you can easily authenticate to Resend APIs in both code and no-code steps.

About Resend

Email API for developers

More Ways to Connect Resend + Ghost.org (Admin API)

Send Email with Resend API on New Member Created (Instant) from Ghost.org (Admin API) API
Ghost.org (Admin API) + Resend
 
Try it
Send Email with Resend API on Member Deleted (Instant) from Ghost.org (Admin API) API
Ghost.org (Admin API) + Resend
 
Try it
Send Email with Resend API on Member Updated (Instant) from Ghost.org (Admin API) API
Ghost.org (Admin API) + Resend
 
Try it
Retrieve Email with Resend API on New Member Created (Instant) from Ghost.org (Admin API) API
Ghost.org (Admin API) + Resend
 
Try it
Send Email with Resend API on Page Published (Instant) from Ghost.org (Admin API) API
Ghost.org (Admin API) + Resend
 
Try it
Member Deleted (Instant) from the Ghost.org (Admin API) API

Emit new event each time a member is deleted from a site.

 
Try it
Member Updated (Instant) from the Ghost.org (Admin API) API

Emit new event each time a member is updated.

 
Try it
New Member Created (Instant) from the Ghost.org (Admin API) API

Emit new event for each new member added to a site.

 
Try it
Page Published (Instant) from the Ghost.org (Admin API) API

Emit new event for each new page published on a site.

 
Try it
Post Published (Instant) from the Ghost.org (Admin API) API

Emit new event for each new post published on a site.

 
Try it
Create Member with the Ghost.org (Admin API) API

Create a new member in Ghost. See the documentation

 
Try it
Create post with the Ghost.org (Admin API) API

Create a post. See the documentation

 
Try it
Update Member with the Ghost.org (Admin API) API

Update a member in Ghost. See the documentation

 
Try it
Retrieve Email with the Resend API

Retrieve a single email See the documentation

 
Try it
Send Email with the Resend API

Send an email See the documentation

 
Try it

Explore Other Apps

1
-
24
of
3,000+
apps by most popular

Node
Node
Anything you can do with Node.js, you can do in a Pipedream workflow. This includes using most of npm's 400,000+ packages.
Python
Python
Anything you can do in Python can be done in a Pipedream Workflow. This includes using any of the 350,000+ PyPi packages available in your Python powered workflows.
Notion
Notion
Notion is a new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team.
OpenAI (ChatGPT)
OpenAI (ChatGPT)
OpenAI is an AI research and deployment company with the mission to ensure that artificial general intelligence benefits all of humanity. They are the makers of popular models like ChatGPT, DALL-E, and Whisper.
Anthropic (Claude)
Anthropic (Claude)
AI research and products that put safety at the frontier. Introducing Claude, a next-generation AI assistant for your tasks, no matter the scale.
Google Sheets
Google Sheets
Use Google Sheets to create and edit online spreadsheets. Get insights together with secure sharing in real-time and from any device.
Telegram
Telegram
Telegram, is a cloud-based, cross-platform, encrypted instant messaging (IM) service.
Google Drive
Google Drive
Google Drive is a file storage and synchronization service which allows you to create and share your work online, and access your documents from anywhere.
HTTP / Webhook
HTTP / Webhook
Get a unique URL where you can send HTTP or webhook requests
Google Calendar
Google Calendar
With Google Calendar, you can quickly schedule meetings and events and get reminders about upcoming activities, so you always know what’s next.
Schedule
Schedule
Trigger workflows on an interval or cron schedule.
Pipedream Utils
Pipedream Utils
Utility functions to use within your Pipedream workflows
Shopify
Shopify
Shopify is a complete commerce platform that lets anyone start, manage, and grow a business. You can use Shopify to build an online store, manage sales, market to customers, and accept payments in digital and physical locations.
Supabase
Supabase
Supabase is an open source Firebase alternative.
MySQL
MySQL
MySQL is an open-source relational database management system.
PostgreSQL
PostgreSQL
PostgreSQL is a free and open-source relational database management system emphasizing extensibility and SQL compliance.
AWS
AWS
Premium
Amazon Web Services (AWS) offers reliable, scalable, and inexpensive cloud computing services.
Twilio SendGrid
Twilio SendGrid
Premium
Send marketing and transactional email through the Twilio SendGrid platform with the Email API, proprietary mail transfer agent, and infrastructure for scalable delivery.
Amazon SES
Amazon SES
Amazon SES is a cloud-based email service provider that can integrate into any application for high volume email automation
Klaviyo
Klaviyo
Premium
Klaviyo unifies your data, channels, and AI agents in one platform—text, WhatsApp, email marketing, and more—driving growth with every interaction.
Zendesk
Zendesk
Premium
Zendesk is award-winning customer service software trusted by 200K+ customers. Make customers happy via text, mobile, phone, email, live chat, social media.
ServiceNow
ServiceNow
Premium
Beta
The smarter way to workflow
Slack
Slack
Slack is the AI-powered platform for work bringing all of your conversations, apps, and customers together in one place. Around the world, Slack is helping businesses of all sizes grow and send productivity through the roof.
Microsoft Teams
Microsoft Teams
Microsoft Teams has communities, events, chats, channels, meetings, storage, tasks, and calendars in one place.