curl --request POST \
--url https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"developerProvider": "zapier",
"firstName": "<string>",
"id": "<string>",
"phone": "<string>",
"email": "<string>",
"lastName": "<string>",
"properties": {},
"userId": "<string>"
}
'import requests
url = "https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action"
payload = {
"developerProvider": "zapier",
"firstName": "<string>",
"id": "<string>",
"phone": "<string>",
"email": "<string>",
"lastName": "<string>",
"properties": {},
"userId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
developerProvider: 'zapier',
firstName: '<string>',
id: '<string>',
phone: '<string>',
email: '<string>',
lastName: '<string>',
properties: {},
userId: '<string>'
})
};
fetch('https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'developerProvider' => 'zapier',
'firstName' => '<string>',
'id' => '<string>',
'phone' => '<string>',
'email' => '<string>',
'lastName' => '<string>',
'properties' => [
],
'userId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action"
payload := strings.NewReader("{\n \"developerProvider\": \"zapier\",\n \"firstName\": \"<string>\",\n \"id\": \"<string>\",\n \"phone\": \"<string>\",\n \"email\": \"<string>\",\n \"lastName\": \"<string>\",\n \"properties\": {},\n \"userId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"developerProvider\": \"zapier\",\n \"firstName\": \"<string>\",\n \"id\": \"<string>\",\n \"phone\": \"<string>\",\n \"email\": \"<string>\",\n \"lastName\": \"<string>\",\n \"properties\": {},\n \"userId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"developerProvider\": \"zapier\",\n \"firstName\": \"<string>\",\n \"id\": \"<string>\",\n \"phone\": \"<string>\",\n \"email\": \"<string>\",\n \"lastName\": \"<string>\",\n \"properties\": {},\n \"userId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"phone": "<string>",
"properties": {},
"workspaceId": "<string>"
}{
"error": "workspace not found"
}{
"error": "workspace not found"
}{
"error": "workspace not found"
}[
{
"field": "<string>",
"message": "<string>"
}
]{
"error": "workspace not found"
}Create a contact
Creates a new contact in the workspace. To update an existing contact by phone number use create-or-update-contact instead. userId in the body is ignored and replaced by the authenticated user.
curl --request POST \
--url https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"developerProvider": "zapier",
"firstName": "<string>",
"id": "<string>",
"phone": "<string>",
"email": "<string>",
"lastName": "<string>",
"properties": {},
"userId": "<string>"
}
'import requests
url = "https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action"
payload = {
"developerProvider": "zapier",
"firstName": "<string>",
"id": "<string>",
"phone": "<string>",
"email": "<string>",
"lastName": "<string>",
"properties": {},
"userId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
developerProvider: 'zapier',
firstName: '<string>',
id: '<string>',
phone: '<string>',
email: '<string>',
lastName: '<string>',
properties: {},
userId: '<string>'
})
};
fetch('https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'developerProvider' => 'zapier',
'firstName' => '<string>',
'id' => '<string>',
'phone' => '<string>',
'email' => '<string>',
'lastName' => '<string>',
'properties' => [
],
'userId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action"
payload := strings.NewReader("{\n \"developerProvider\": \"zapier\",\n \"firstName\": \"<string>\",\n \"id\": \"<string>\",\n \"phone\": \"<string>\",\n \"email\": \"<string>\",\n \"lastName\": \"<string>\",\n \"properties\": {},\n \"userId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"developerProvider\": \"zapier\",\n \"firstName\": \"<string>\",\n \"id\": \"<string>\",\n \"phone\": \"<string>\",\n \"email\": \"<string>\",\n \"lastName\": \"<string>\",\n \"properties\": {},\n \"userId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main/integrations/developer/zapier/create-contact-action")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"developerProvider\": \"zapier\",\n \"firstName\": \"<string>\",\n \"id\": \"<string>\",\n \"phone\": \"<string>\",\n \"email\": \"<string>\",\n \"lastName\": \"<string>\",\n \"properties\": {},\n \"userId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>",
"phone": "<string>",
"properties": {},
"workspaceId": "<string>"
}{
"error": "workspace not found"
}{
"error": "workspace not found"
}{
"error": "workspace not found"
}[
{
"field": "<string>",
"message": "<string>"
}
]{
"error": "workspace not found"
}Authorizations
An OAuth 2.0 access token, sent as Authorization: Bearer <token>. MessageDesk is the OAuth 2.0 provider (backed by AWS Cognito): an integration such as Zapier obtains the token through the authorization-code flow when a user connects their MessageDesk account. Access tokens are valid for 24 hours and are refreshed with the refresh token.
Body
Contact to create
Contact to create
Integration provider making the request
zapier Contact first name
255Workspace ID the request targets
45Contact phone number in E.164 format
Contact email address
Contact last name
255Custom contact property values keyed by property name
Show child attributes
Show child attributes
Optional acting user; overwritten with the authenticated user on endpoints that record authorship
45Was this page helpful?

