CiviCRM

CiviCRM is web-based, open source, Constituent Relationship Management (CRM) software geared toward meeting the needs of non-profit and other civic-sector organizations.

Integrate the CiviCRM API with the Python API

Setup the CiviCRM API trigger to run a workflow which integrates with the Python API. Pipedream's integration platform allows you to integrate CiviCRM and Python remarkably fast. Free for developers.

Run Python Code with the Python API

Write Python and use any of the 350k+ PyPi packages available. Refer to the Pipedream Python docs to learn more.

 
Try it

Overview of CiviCRM

The CiviCRM API allows interaction with the CiviCRM ecosystem, enabling you to manage contacts, contributions, events, memberships, and more directly via Pipedream. With Pipedream's serverless platform, you can create workflows that automate tasks, sync data across apps, and respond to webhooks. Using Pipedream, you can harness the CiviCRM API to craft custom integrations that trigger actions within CiviCRM or sync data with other tools, without managing infrastructure.

Connect CiviCRM

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    civicrm: {
      type: "app",
      app: "civicrm",
    }
  },
  async run({steps, $}) {
    const base64 = Buffer.from(this.civicrm.$auth.username+":"+this.civicrm.$auth.password).toString('base64');
    return await axios($, {
      method: "POST",
      url: `https://${this.civicrm.$auth.url}/civicrm/ajax/api4/Contact/get`,
      headers: {
        "X-Civi-Auth": `Basic ${base64}`,
      },
    })
  },
})

Overview of Python

Develop, run and deploy your Python code in Pipedream workflows. Integrate seamlessly between no-code steps, with connected accounts, or integrate Data Stores and manipulate files within a workflow.

This includes installing PyPI packages, within your code without having to manage a requirements.txt file or running pip.

Below is an example of using Python to access data from the trigger of the workflow, and sharing it with subsequent workflow steps:

Connect Python

1
2
3
4
5
def handler(pd: "pipedream"):
  # Reference data from previous steps
  print(pd.steps["trigger"]["context"]["id"])
  # Return data for use in future steps
  return {"foo": {"test":True}}