連携
Pipedream
Thunderbit を Pipedream の Code step から実行 —— Node.js でも Python でも
Pipedream は Zapier の開発者向けいとこ —— すべてのワークフローが編集可能な実スクリプトです。フルコントロールには Code step、ノーコードには HTTP / Webhook アクション。
Code step(Node.js)
import { defineComponent } from '@pipedream/core';
export default defineComponent({
props: {
thunderbit: { type: 'app', app: 'thunderbit' }, // or use an env var
url: { type: 'string' },
},
async run({ steps, $ }) {
const res = await fetch(
'https://openapi.thunderbit.com/openapi/v1/distill',
{
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.THUNDERBIT_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ url: this.url, renderMode: 'basic' }),
},
);
const json = await res.json();
return json.data.markdown;
},
});Code step(Python)
import os, httpx
def handler(pd: "pipedream"):
res = httpx.post(
"https://openapi.thunderbit.com/openapi/v1/distill",
headers={"Authorization": f"Bearer {os.environ['THUNDERBIT_API_KEY']}"},
json={"url": pd.steps["trigger"]["event"]["url"], "renderMode": "basic"},
timeout=60.0,
)
return res.json()["data"]["markdown"]HTTP source でバッチ
/batch/distill には、2 つ目のワークフローの トリガー として HTTP / Webhook source を追加し、Thunderbit の callback.url を Pipedream が返す source URL に向けます。バッチ完了時にトリガーが発火 —— 下流ステップは結果配列をまるごと受け取ります。
ヒント
- API Key は Pipedream の Env Var(ワークスペース単位またはワークフロー単位)に保存。コード内には書かない
- Pipedream の無料枠はステップごとの計算量に上限あり —— 下流の LLM 呼び出し前に Markdown を絞っておく