Skip to main content
Microsoft 365 People logo

Overview

Add Microsoft 365 People to any ModuleX agent or workflow. Manage contacts and contact folders via the Microsoft Graph API (graph.microsoft.com/v1.0).
Categories: Productivity & Collaboration · Contacts · Auth: OAuth2 · Actions: 3

Authentication

OAuth2 Authentication

Connect using Microsoft OAuth2 (recommended)

Required Credentials

FieldDescriptionRequiredFormat
Client IDMicrosoft Azure AD OAuth App Client IDYesxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Client SecretMicrosoft Azure AD OAuth App Client SecretYesxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

OAuth Configuration

  • Authorization URL: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
  • Token URL: https://login.microsoftonline.com/common/oauth2/v2.0/token
  • Scopes: Contacts.ReadWrite, User.Read, offline_access

Available Actions

Parameters

email
string
required
Email address of the contact
first_name
string
required
First name of the contact
last_name
string
Last name of the contact
folder_id
string
ID of the contact folder to create the contact in (defaults to the root contacts folder)
mobile_phone
string
Mobile phone number of the contact
home_phones
array
List of home phone numbers for the contact (each element is a string)
street
string
Street address of the contact
city
string
City of the contact
state
string
State of the contact
postal_code
string
Postal code of the contact
country_or_region
string
Country or region of the contact

Response

{
  "$defs": {
    "ContactOutput": {
      "additionalProperties": false,
      "description": "A Microsoft 365 contact resource.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Display Name"
        },
        "given_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Given Name"
        },
        "surname": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Surname"
        },
        "email_addresses": {
          "items": {
            "$ref": "#/$defs/EmailAddress"
          },
          "title": "Email Addresses",
          "type": "array"
        },
        "mobile_phone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mobile Phone"
        },
        "home_phones": {
          "items": {
            "type": "string"
          },
          "title": "Home Phones",
          "type": "array"
        },
        "home_address": {
          "anyOf": [
            {
              "$ref": "#/$defs/HomeAddress"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "created_date_time": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Created Date Time"
        },
        "last_modified_date_time": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Modified Date Time"
        }
      },
      "title": "ContactOutput",
      "type": "object"
    },
    "EmailAddress": {
      "additionalProperties": false,
      "description": "An email address entry on a contact.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "address": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Address"
        }
      },
      "title": "EmailAddress",
      "type": "object"
    },
    "HomeAddress": {
      "additionalProperties": false,
      "description": "A physical address on a contact.",
      "properties": {
        "street": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Street"
        },
        "city": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "City"
        },
        "state": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "State"
        },
        "postal_code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Postal Code"
        },
        "country_or_region": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Country Or Region"
        }
      },
      "title": "HomeAddress",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "contact": {
      "anyOf": [
        {
          "$ref": "#/$defs/ContactOutput"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateContactOutput",
  "type": "object"
}

Parameters

display_name
string
required
The display name of the new contact folder

Response

{
  "$defs": {
    "ContactFolderOutput": {
      "additionalProperties": false,
      "description": "A Microsoft 365 contact folder resource.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Display Name"
        },
        "parent_folder_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Parent Folder Id"
        }
      },
      "title": "ContactFolderOutput",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "folder": {
      "anyOf": [
        {
          "$ref": "#/$defs/ContactFolderOutput"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateContactFolderOutput",
  "type": "object"
}

Parameters

contact_id
string
required
ID of the contact to update
folder_id
string
ID of the contact folder containing the contact (defaults to the root contacts folder)
email
string
New email address for the contact
first_name
string
New first name for the contact
last_name
string
New last name for the contact
mobile_phone
string
New mobile phone number for the contact
home_phones
array
New list of home phone numbers for the contact (each element is a string)
street
string
New street address for the contact
city
string
New city for the contact
state
string
New state for the contact
postal_code
string
New postal code for the contact
country_or_region
string
New country or region for the contact

Response

{
  "$defs": {
    "ContactOutput": {
      "additionalProperties": false,
      "description": "A Microsoft 365 contact resource.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Display Name"
        },
        "given_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Given Name"
        },
        "surname": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Surname"
        },
        "email_addresses": {
          "items": {
            "$ref": "#/$defs/EmailAddress"
          },
          "title": "Email Addresses",
          "type": "array"
        },
        "mobile_phone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mobile Phone"
        },
        "home_phones": {
          "items": {
            "type": "string"
          },
          "title": "Home Phones",
          "type": "array"
        },
        "home_address": {
          "anyOf": [
            {
              "$ref": "#/$defs/HomeAddress"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "created_date_time": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Created Date Time"
        },
        "last_modified_date_time": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Modified Date Time"
        }
      },
      "title": "ContactOutput",
      "type": "object"
    },
    "EmailAddress": {
      "additionalProperties": false,
      "description": "An email address entry on a contact.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "address": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Address"
        }
      },
      "title": "EmailAddress",
      "type": "object"
    },
    "HomeAddress": {
      "additionalProperties": false,
      "description": "A physical address on a contact.",
      "properties": {
        "street": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Street"
        },
        "city": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "City"
        },
        "state": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "State"
        },
        "postal_code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Postal Code"
        },
        "country_or_region": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Country Or Region"
        }
      },
      "title": "HomeAddress",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "contact": {
      "anyOf": [
        {
          "$ref": "#/$defs/ContactOutput"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateContactOutput",
  "type": "object"
}

Limits & Quotas

  • Microsoft Graph API throttling: 10,000 requests per 10 minutes per app per tenant.
  • Per-mailbox limits: 4 concurrent connections.
  • Error model: non-2xx responses raise httpx.HTTPStatusError (Pattern A).

Cal.com

Canva

ConvertAPI