ZapierでPythonを使う方法を徹底解説!自動化ワークフローをもっと賢くする全知識
「ZapierってノーコードツールなのにPythonって使えるの?」そう疑問に思った方、正解です。実はZapierには「Code by Zapier」という機能があり、PythonやJavaScriptのコードをZapの中に直接組み込めるんです。ノーコードとコードのいいとこ取りで、複雑なデータ処理や条件分岐、外部API連携まで幅広く対応できます。本記事では、Zapier公式ドキュメントやコミュニティの情報をもとに、ZapierでPythonを使うための基礎から実践コード例まで、どこよりもわかりやすく整理してお届けします。
実際にZapierのPythonコードステップを使いこなすには、「inputDataの渡し方」「outputの返し方」「使えるライブラリの範囲」という3つのポイントを押さえるのが近道です。また、外部ライブラリ(pandas・numpyなど)は標準では使えないという制限も重要な知識。この記事では、その制限を回避する方法から、APIコール・メール抽出・データ保存といった実用コード例まで、一気に解説していきます。
| この記事のポイント |
|---|
| ✅ ZapierでPythonを使う「Code by Zapier」の基本的な仕組みと設定手順がわかる |
| ✅ inputDataとoutputデータの正しい使い方と注意点が理解できる |
| ✅ requests・BeautifulSoup・StoreClientなど使えるライブラリの全容がわかる |
| ✅ 外部ライブラリが必要な場合のAWS Lambda連携という現実的な回避策がわかる |
ZapierでPythonを動かす「Code by Zapier」の基本と仕組み

- ZapierでPythonを使うとは何か、まずここから理解する
- Code by Zapierのセットアップ手順はたった3ステップで完了する
- inputDataの使い方は「辞書からキーで取り出す」だけでOK
- outputデータの返し方は辞書かリストのどちらかを選ぶ
- Python実行環境の仕様と使えるライブラリの一覧を把握する
- デバッグとテストの正しいやり方はZap履歴を見ること
ZapierでPythonを使うとは何か、まずここから理解する

Zapierはもともとノーコードのワークフロー自動化ツールですが、「Code by Zapier」という特殊なアクション(またはトリガー)を追加することで、PythonやJavaScriptのコードをZapの処理フローに組み込めます。これは単なるおまけ機能ではなく、ノーコードのUIだけでは対応しきれない複雑な処理・カスタムロジックを実現するための強力な仕掛けです。
たとえば「前のステップから受け取ったテキストから正規表現でメールアドレスだけ抽出したい」「複数のAPIレスポンスを計算・加工してから次のステップへ渡したい」といったケースは、Zapierの標準アクションだけでは難しいことがあります。そんなとき、Pythonのコードステップを挟むことで柔軟に対応できます。
公式ドキュメントより
「Code steps allow Zaps to run small snippets of Python or JavaScript.」
(引用元:https://help.zapier.com/hc/en-us/articles/8496326417549-Use-Python-code-in-Zaps)
つまりCode by Zapierは、Zapの中にミニプログラムを差し込む機能と理解するとシンプルです。注意点として、Zapierの公式ドキュメントでは「Pythonは上級プログラミング言語なので、不慣れな方は開発者に相談してください」と明記されています。Pythonの基礎知識がある方にとっては非常に便利な機能です。
🔍 Code by Zapierが役立つ代表的なシーン
| シーン | 標準機能での限界 | Pythonで解決できること |
|---|---|---|
| テキストから情報を抽出 | 正規表現が使えない | reモジュールで自由に抽出 |
| 複数APIへのリクエスト | 1アクション1リクエストが基本 | requestsライブラリで複数対応 |
| データの計算・加工 | 数式は限定的 | 任意のPythonロジックを実装 |
| 状態の保持 | Zap間でデータを持ち越せない | StoreClientで保存・取得 |
| XML・HTMLの解析 | 標準では難しい | BeautifulSoupやElementTreeで対応 |
Code by Zapierのセットアップ手順はたった3ステップで完了する

Code by ZapierをZapに追加する手順は、トリガーとして使う場合とアクションとして使う場合で若干異なりますが、どちらも基本的な流れは同じです。ここではよく使われるアクションとして追加する方法を中心に解説します。
▼ アクションとして追加する手順
Zapエディタで「+」アイコンをクリックして新しいステップを追加します。検索欄に「Code by Zapier」と入力して選択し、イベントのドロップダウンから「Run Python」を選びます。「Continue」をクリックすると設定画面が表示されます。
設定画面では主に2つの入力欄が用意されています。1つは「Input Data」フィールドで、前のステップのデータをPythonコードに渡すためのキーと値のペアを定義します。もう1つは「Code」フィールドで、実際に実行したいPythonコードを記述する場所です。
🛠️ Code by Zapier セットアップ手順まとめ
| ステップ | 操作内容 |
|---|---|
| Step 1 | Zapエディタで「+」をクリックして新ステップ追加 |
| Step 2 | 「Code by Zapier」を検索・選択し、「Run Python」を選ぶ |
| Step 3 | Input Dataにキー・バリューを設定し、Codeフィールドにコードを記述 |
| Step 4 | 「Continue」をクリックして「Test step」で動作確認 |
テストが成功すると、コードの実行結果と出力データが画面上に表示されます。問題なければZapをオンにして本番稼働させましょう。なお、テスト時にはリスト(配列)を返す場合でも最初の1件しか表示されませんが、実際にZapが動作するときは全件処理されます(後述)。
コードに不備がある場合はエラーメッセージが表示されます。エラーが発生したときは「Zap履歴(Zap History)」を確認すると、詳細なログが記録されているので原因を特定しやすくなります。
inputDataの使い方は「辞書からキーで取り出す」だけでOK

ZapierのPythonコードステップで前のステップのデータを受け取るには、inputDataという辞書(dictionary)を使います。このinputDataは、設定画面の「Input Data」フィールドで定義したキーと値のペアを格納しています。
コード内でのアクセス方法は input_data['キー名'] という形式です。キー名は大文字・小文字を区別する(ケースセンシティブ)ので、設定したキー名と完全一致している必要があります。
公式ドキュメントより
「Key names are case-sensitive and must be an exact match for successful data retrieval.」
(引用元:https://help.zapier.com/hc/en-us/articles/8496326417549-Use-Python-code-in-Zaps)
📋 inputDataの設定例と参照方法
| Input Dataで設定するキー | Input Dataで設定する値(前のステップからマッピング) | コード内でのアクセス方法 |
|---|---|---|
name |
前ステップの「Name」フィールド | input_data['name'] |
email |
前ステップの「Email」フィールド | input_data['email'] |
rawText |
前ステップの本文テキスト | input_data['rawText'] |
zipCode |
前ステップの郵便番号 | input_data['zipCode'] |
重要な注意点として、前のステップのデータを直接コードフィールド内にマッピングすることはできません。必ず「Input Data」フィールドでキーと値を定義してから、input_data['キー名']でアクセスするという手順が必須です。
また、値が存在しない可能性がある場合はinput_data.get('キー名')を使うと安全です。キーが存在しない場合にNoneを返してくれるので、KeyErrorを防げます。ログ出力の例では if input_data.get('name'): のように条件分岐と組み合わせる使い方もよく見られます。
outputデータの返し方は辞書かリストのどちらかを選ぶ

Pythonコードステップの出力(output)は、辞書(dict)またはリスト(list)の形式で返す必要があります。返し方には2つの書き方があり、どちらでも同じ動作をします。
# 書き方①:returnを使う
return {'result': 'hello', 'count': 42}
# 書き方②:output変数に代入する
output = {'result': 'hello', 'count': 42}
どちらの書き方でも動作は同じです。Zapierはコード実行後に自動的にoutput変数の内容を返り値として扱います。
🔄 outputの返し方パターン別まとめ
| パターン | コード例 | 後続ステップへの影響 |
|---|---|---|
| 辞書を返す | return {'key': 'value'} |
後続ステップが1回実行される |
| 辞書のリストを返す | return [{'id': 1}, {'id': 2}] |
リストの件数分だけ後続ステップが繰り返し実行される |
| 空のリストを返す(トリガーのみ) | return [] |
何も起きない(ポーリングトリガーと同じ動作) |
特筆すべき動作として、リスト(配列)を返した場合、後続の全ステップがリストの各要素に対して1回ずつ実行されます。これは一度の処理で複数のレコードを扱いたい場合に非常に便利な機能です。たとえばテキストから複数のメールアドレスを抽出して、それぞれに対して個別のアクションを実行するといった使い方が可能です。
ただし、テスト時にはリストの最初の1件しか表示されません。これはZapierのUIの仕様であり、実際にZapが稼働する際は全件処理されます。Stack Overflowでも同様の質問が多く寄せられており、ZapierプラットフォームチームのエンジニアによるとTestでは1件のみ表示されるが「本番稼働時は全件処理される」と明言されています。
また、outputのデータはJSONシリアライズ可能な形式でなければなりません。Pythonの通常のオブジェクト型(datetime等)をそのまま返すとエラーになる場合があるので注意が必要です。
Python実行環境の仕様と使えるライブラリの一覧を把握する

ZapierのPython実行環境は「バニラPython 3.7.2」(2019年1月24日以降に作成されたZap)です。一般的なPython開発環境とは異なり、sandboxed(サンドボックス化)された環境で動作するため、いくつかの制限があります。
公式ドキュメントより
「The environment is vanilla Python 3.7.2. Your script is sandboxed and can only run for a limited amount of time and within a limited amount of memory.」
(引用元:https://help.zapier.com/hc/en-us/articles/8496326417549-Use-Python-code-in-Zaps)
📦 Code by Zapierで使えるライブラリ一覧
| ライブラリ名 | 用途 | 使用例 |
|---|---|---|
requests |
HTTPリクエスト(API呼び出し・Webスクレイピング) | requests.get('https://...') |
StoreClient |
Zapの実行間でデータを保存・取得する | store = StoreClient('秘密のキー') |
BeautifulSoup |
HTMLおよびXMLのパース・スクレイピング | BeautifulSoup(html, 'html.parser') |
print |
デバッグ用ログ出力 | print('デバッグ:', 変数) |
| 標準ライブラリ全般 | re・os・json・csv・datetime等 | import re / import json |
使えないものとして、pip installによる追加パッケージのインストールはできません。これがZapier Pythonの最大の制約です。pandas・numpy・scipy・PyPDF2・Pillowといった人気ライブラリは使用不可です。
また、タイムゾーンについてはUTC(協定世界時)が強制適用されます。Zapierアカウントや各Zapで別のタイムゾーンを設定していても、Codeアクションの日時処理はUTCになります。日本時間への変換が必要な場合は、コード内で+9:00のオフセットを加算する処理が必要です。
さらに、実行時間とメモリにも制限があり、具体的な上限値はZapierのプランによって異なります。長時間かかる処理や大量データを扱う場合は注意が必要です。
デバッグとテストの正しいやり方はZap履歴を見ること

ZapierのPythonコードをデバッグするには主に2つの方法があります。1つはエディタ内の「Test step」ボタンを使う方法、もう1つは実際にZapを動かして「Zap履歴(Zap History)」を確認する方法です。
print()関数を使うと、デバッグ用の出力をログに残すことができます。この出力はZapのテスト結果のruntime_metaという項目に自動的に追加されます。たとえば print('受け取った名前:', input_data['name']) のように書いておくと、テスト実行時に値を確認できます。
🐞 デバッグの流れ
| 確認方法 | 確認できる内容 | 向いているケース |
|---|---|---|
| エディタ内「Test step」 | 入力データ・出力データ・print出力 | 素早いフィードバックが欲しい時 |
| Zap履歴(Zap History) | input_data・output・ログ全件 | 本番稼働時の挙動確認 |
エラーが出た場合の主な原因と対策を整理すると、まず「KeyError」はキー名のタイプミスや大文字小文字の違いが原因です。input_data.get('key')を使うことで回避できます。「TypeError」はoutputの形式が辞書やリストでない場合に発生します。「HTTPError」はAPIリクエストの失敗で、response.raise_for_status()を入れておくとエラーの内容が明確になります。
公式ドキュメントでも「Running your Zap via the dashboard is the canonical way to confirm the behavior you expect(ダッシュボードからZapを実際に動かすことが、期待する動作を確認する正式な方法)」と記載されており、テストステップはあくまでも素早いフィードバック用、最終確認はZap履歴で行うというスタンスが推奨されています。
Zapier × Pythonの実践コード例と応用テクニック

- requestsライブラリでAPIからリアルタイムデータを取得する方法
- 正規表現を使ったメールアドレス抽出の実践コード
- XMLやHTMLの解析はBeautifulSoupとElementTreeで対応できる
- StoreClientでZap実行間のデータを保存・管理する方法
- 外部ライブラリが必要な場合はAWS Lambdaを経由することで解決できる
- Zapierのコードを活用したワークフロー応用パターン集
- 総括:zapier pythonのまとめ
requestsライブラリでAPIからリアルタイムデータを取得する方法

ZapierのPythonコードステップで最もよく使われる機能の1つが、requestsライブラリを使ったAPI連携です。requestsはHTTPリクエストを簡単に扱えるライブラリで、ZapierのCode by Zapierで最初から使えるようになっています。
基本的な使い方は requests.get(url) でGETリクエストを送り、.json() で返り値をJSON形式に変換するというシンプルな流れです。
🌐 APIからデータを取得する基本コード例
# Input Dataで渡した値を使う場合
zip_code = input_data['zipCode']
url = 'http://api.openweathermap.org/data/2.5/weather?zip=' + zip_code + ',us'
response = requests.get(url)
response.raise_for_status() # エラーが起きた場合に例外を発生させる
return response.json()
response.raise_for_status() を入れておくことで、HTTPエラー(404・500など)が発生した場合に明確なエラーメッセージが表示されます。これを入れておかないとエラーが静かに無視されてしまうことがあるので、必ず入れておくのがおすすめです。
📡 requestsで使える主なメソッド
| メソッド | 用途 | コード例 |
|---|---|---|
requests.get(url) |
データの取得 | requests.get('https://api.example.com/data') |
requests.post(url, data=...) |
データの送信・作成 | requests.post(url, data=json.dumps(payload)) |
.json() |
レスポンスをJSONに変換 | response.json() |
.text |
レスポンスを文字列で取得 | response.text |
.raise_for_status() |
HTTPエラーを例外として発生させる | response.raise_for_status() |
認証が必要なAPIを叩く場合は、ヘッダーにトークンを渡す形式が一般的です。Zapierの公式見解では「2回以上のHTTPリクエストを行う場合や認証付きのHTTPリクエストが必要な場合は、Zapierプラットフォームでカスタムアプリを作成することを推奨する」とされています。複雑なAPI連携が必要な場合は、カスタムアプリとしての実装も検討してみてください。
また、Zapierの無料〜有料プランによってリクエスト数の制限(レートリミット)が異なります。大量のAPIコールが必要な自動化には、プランのアップグレードやAWS Lambda連携(後述)の検討が現実的です。
正規表現を使ったメールアドレス抽出の実践コード

テキストデータからメールアドレスや電話番号、URLなどの特定のパターンを抽出したい場合、Pythonの標準ライブラリであるre(正規表現)モジュールが強力な武器になります。
📧 メールアドレス抽出の実践コード例
# 単純な最初の1件を抽出する場合
import re
emails = re.findall(r'[\w._-]+@[\w._-]+\.[\w._-]+', input_data['rawText'])
return {
'firstEmail': emails[0] if emails else None
}
# 複数のメールアドレスをそれぞれ別アクションで処理したい場合
import re
emails = re.findall(r'[\w._-]+@[\w._-]+\.[\w._-]+', input_data['rawText'])
return [
{'email': email} for email in emails
]
後者のコード(リストを返す形式)を使うと、後続のZapステップがメールアドレスの件数分だけ繰り返し実行されます。たとえば複数のメールアドレスが記載されたフォーム送信データに対して、それぞれに個別のメールを送る、といった処理が1つのZapで実現できます。
🔤 よく使う正規表現パターン集
| パターン | 用途 | 正規表現 |
|—|—|—|
| メールアドレス抽出 | テキストからメールを見つける | r'[\w._-]+@[\w._-]+\.[\w._-]+' |
| カンマ区切りのクリーニング | 前後の余分なカンマを除去 | r'(^,+|,+$)' |
| 連続カンマの整理 | 2つ以上のカンマを1つに | r',+' |
カンマ区切りのリストを整形する場合はre.sub()を組み合わせると便利です。Zapierの公式コード例でも以下のようなパターンが紹介されています:
import re
values = re.sub('(^,+|,+$)', '', input_data['values']) # 前後のカンマを除去
values = re.sub(',+', ',', values) # 連続するカンマを1つに
return [{'values': values}]
これだけの処理でも、ZapierのFormatterステップだけでは難しい細かい文字列加工が実現できます。
XMLやHTMLの解析はBeautifulSoupとElementTreeで対応できる

WebスクレイピングやXML形式のAPIレスポンスを処理したい場合、ZapierのPythonコードではBeautifulSoupとElementTreeの2つのライブラリが使用できます。どちらも追加インストール不要です。
HTMLの解析(BeautifulSoup)は、requestsでWebページを取得した後、その内容をパースするという流れで使います。
# HTMLからH2見出しを全部取得する例
from bs4 import BeautifulSoup
response = requests.get('https://www.example.com/news')
response.raise_for_status()
soup = BeautifulSoup(response.content, 'html.parser')
headlines = soup.find_all('h2')
return [{'headline': h.text} for h in headlines]
📊 HTMLとXML解析の使い分け
| 対象 | 使うライブラリ | インポート文 |
|---|---|---|
| HTML(Webページ) | BeautifulSoup | from bs4 import BeautifulSoup |
| XML(APIレスポンス) | ElementTree(標準ライブラリ) | from xml.etree import ElementTree |
XMLの解析(ElementTree)は、APIがXML形式でデータを返す場合に使います。
from xml.etree import ElementTree
response = requests.get('https://yourapi.com/xml')
root = ElementTree.fromstring(response.text)
return [
{field.tag: field.text for field in child}
for child in root.findall('child')
]
このような処理はZapierの標準アクションでは全くできないものです。APIがXML形式しか対応していない古いシステムとZapierを連携させる際に、Pythonコードステップが唯一の解決策になることもあります。
スクレイピングを行う際は、対象サイトの利用規約やrobots.txtに従う必要があります。商用利用や大量アクセスは法的・技術的な問題を引き起こす可能性があるため、必ず確認してから実施するようにしましょう。
StoreClientでZap実行間のデータを保存・管理する方法

ZapierのPythonコードは各実行時に独立して動くため、「前回の実行結果を次の実行で使いたい」という場合に困ることがあります。そこで登場するのがStoreClientという組み込みユーティリティです。
StoreClientは、Zapの実行間でデータを保存・取得できる、いわばシンプルなキーバリューストアです。
💾 StoreClientの基本的な使い方
# カウンターを作る例
store = StoreClient('my-secret-key') # 秘密のキーで初期化
count = store.get('my-counter') or 0 # 現在の値を取得(なければ0)
count += 1 # インクリメント
store.set('my-counter', count) # 新しい値を保存
return {'the count': count}
🔑 StoreClientのメソッド一覧
| メソッド | 説明 | コード例 |
|---|---|---|
store.get('key') |
値を取得(存在しない場合はNone) | value = store.get('my-key') or 0 |
store.set('key', value) |
値を保存 | store.set('my-key', 42) |
実用的な活用例として、「1時間に1回しか実行しない」という制御をZapに持たせる使い方があります。FilterステップとStoreClientを組み合わせることで実現できます:
import time
every_seconds = 60 * 60 # 1時間
store = StoreClient('my-secret')
now = int(time.time())
last_post = store.get('last_post') or now - every_seconds + 1
output = {'run': 'no'}
if last_post < (now - every_seconds):
output = {'run': 'yes'}
store.set('last_post', now)
このコードの後に「runがyesの場合のみ続行」というFilterステップを追加することで、Zapが1時間に1回だけ実行されるよう制限できます。APIのレートリミット対策や、重複処理を防ぐ仕組みとして非常に役立ちます。
外部ライブラリが必要な場合はAWS Lambdaを経由することで解決できる

ZapierのPythonコードステップの最大の制限は、「pipで追加ライブラリをインストールできない」という点です。pandas・numpy・PyPDF2・Pillowなどの人気ライブラリは使用できません。
Zapierコミュニティより(公式スタッフ回答)
「There is a Code by Zapier action available that has the ability to run Python code, but at present it can’t reference external libraries.(外部ライブラリは現時点では使用できません)」
(引用元:https://community.zapier.com/code-webhooks-52/how-can-i-use-python-scripts-from-my-github-repo-inside-an-automation-in-zapier-40787)
ただし、コミュニティで報告されている回避策があります。それがAWS Lambdaを使う方法です。
🏗️ AWS Lambda連携によるZapierへの外部ライブラリ活用フロー
| ステップ | 内容 |
|---|---|
| 1 | 外部ライブラリを含むPythonコードをAWS Lambdaに実装する |
| 2 | ZapierからAWS Lambdaを呼び出すステップを追加する(「AWS Lambda Invoke Function」) |
| 3 | Lambda関数の処理結果を「Webhooks by Zapier – Catch Hook」トリガーで受け取る |
| 4 | 2番目のZapで受け取ったデータを使って後続処理を続ける |
この方法は少し複雑になりますが、pandas・numpy・scipy・PyPDF2・Pillowなど任意のPythonライブラリを使った処理をZapierのワークフローに組み込めます。AWS Lambdaは月100万リクエストまで無料枠があるため、コスト面でも現実的な選択肢です。
また、別のアプローチとしてZapierの「カスタムアプリ(Zapier Platform)」を作成する方法もあります。こちらはより本格的な開発が必要ですが、外部ライブラリの使用・複数のHTTPリクエスト・認証付きリクエストなどに対応できます。
外部ライブラリが必要な処理がある場合の判断フローとして、まず「標準ライブラリやrequests・BeautifulSoupで代替できないか」を検討し、できない場合にAWS LambdaかZapierカスタムアプリの実装を検討するという順序がおすすめです。
Zapierのコードを活用したワークフロー応用パターン集

ここまで解説してきた機能を組み合わせることで、Zapierのコードステップはさらに強力なワークフロー自動化を実現できます。実際のユースケースをもとにした応用パターンを紹介します。
🚀 Zapier × Pythonの実践ワークフローパターン
| パターン名 | 概要 | 使用する機能 |
|---|---|---|
| 新会員自動登録 | PushPressから新会員データを受け取り、input_dataで他システムのAPIへ登録 | inputData・requests.post |
| 天気データ定期取得 | 郵便番号ベースで天気APIを呼び出してSlackやメールへ通知 | inputData・requests.get |
| テキストからメール一括送信 | フォームのメール欄から複数アドレスを抽出し個別送信 | re・リスト返し |
| UUID発行 | ユニークIDが必要なトリガーに使用してZapの重複実行を防ぐ | uuid標準ライブラリ |
| 実行頻度制御 | APIレートリミットに合わせてZapの実行を間引く | StoreClient・Filter |
Zapierコミュニティの実例として、PushPressというジムアプリの新会員登録をトリガーにして、input_dataで受け取った会員情報(名前・メール・誕生日など)を別システムのAPIに自動登録するというユースケースが紹介されています。
# PushPressの新会員情報を受け取って別システムに登録する例
userData = {
'firstName': input_data['firstName'],
'email': input_data['email'],
'lastName': input_data['lastName'],
'birthDate': input_data['birthDate']
}
(引用元:https://community.zapier.com/code-webhooks-52/input-data-and-running-python-code-38835)
このようなユースケースでは、複数のSaaSツールのAPI仕様の違いを吸収する「接着剤」としてZapierのPythonコードが機能します。ノーコードのZapierアクションだけでは対応しきれない複雑な連携でも、少しのPythonコードで解決できることが多いです。
また、UUID(ユニバーサル一意識別子)の発行も実用的なユースケースです。Zapierのトリガーはポーリング方式で同じIDのデータが重複して処理されないよう設計されているため、毎回ユニークなIDが必要な場合にUUIDを使います:
import uuid
return {
'unique_id': str(uuid.uuid4())
}
このシンプルなコードでグローバルに一意のIDを生成できます。
総括:zapier pythonのまとめ

最後に記事のポイントをまとめます。
- ZapierでPythonを使うには「Code by Zapier」アクションを追加し、イベントで「Run Python」を選択する
- Pythonの実行環境はバニラPython 3.7.2のサンドボックス環境で、実行時間・メモリに制限がある
- 前のステップのデータを受け取るには「Input Data」フィールドでキーを定義し、コード内で
input_data['キー名']でアクセスする - キー名は大文字小文字を区別するため、設定したキー名と完全一致させる必要がある
- outputは辞書(dict)またはリスト(list)の形式で
returnまたはoutput変数に代入して返す - リストを返した場合、後続ステップがリストの件数分繰り返し実行される(テスト時は1件表示のみ)
- 標準で使えるライブラリはrequests・BeautifulSoup・StoreClient・print・標準ライブラリ全般
pip installによる追加ライブラリのインストールはできないため、pandas等の使用には別途工夫が必要である- 外部ライブラリが必要な場合はAWS Lambdaを経由させる回避策がコミュニティで実証されている
- StoreClientを使うことでZapの実行間でデータを保存・取得でき、カウンター管理や実行頻度制御などに活用できる
- デバッグは
print()でログを残し、Zap履歴(Zap History)で確認するのが公式推奨の方法である - タイムゾーンはアカウント設定に関わらずUTCが強制適用されるため、日本時間への変換はコード内で行う必要がある
記事作成にあたり参考にさせて頂いたサイト
- https://help.zapier.com/hc/en-us/articles/8496326417549-Use-Python-code-in-Zaps
- https://www.reddit.com/r/opensource/comments/19emo77/python_zapier_like_framework/
- https://help.zapier.com/hc/en-us/articles/8496197130893-Python-code-examples-in-Zaps
- https://community.zapier.com/code-webhooks-52/input-data-and-running-python-code-38835
- https://zapier.com/blog/python-automation/
- https://community.zapier.com/code-webhooks-52/zapier-tables-and-python-code-how-can-i-read-data-25653
- https://community.glideapps.com/t/python-and-google-sheets-integration-zapier-free-alternative/9606
- https://community.zapier.com/code-webhooks-52/how-can-i-use-python-scripts-from-my-github-repo-inside-an-automation-in-zapier-40787
- https://stackoverflow.com/questions/47364837/how-to-correctly-return-a-list-of-dictionaries-in-zapier-code-python
- https://community.zapier.com/code-webhooks-52/help-with-python-code-to-split-data-25560
各サイト運営者様へ
有益な情報をご公開いただき、誠にありがとうございます。
感謝の意を込め、このリンクはSEO効果がある形で設置させていただいております。
※リンクには nofollow 属性を付与しておりませんので、一定のSEO効果が見込まれるなど、サイト運営者様にとってもメリットとなれば幸いです。
当サイトは、インターネット上に散在する有益な情報を収集し、要約・編集してわかりやすくお届けすることを目的としたメディアです。
引用や参照の方法に不備、あるいはご不快に感じられる点がございましたら、お問い合わせフォームよりご連絡ください。
今後とも、どうぞよろしくお願いいたします。
